From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web12.12042.1593096023232577259 for ; Thu, 25 Jun 2020 07:40:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Oo+2Tv99; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: guo.dong@intel.com) IronPort-SDR: jFthO12I9uRAw6Prw44cVU5jIt/ntVhiu3Ds29WTmCmjftmdoIuB4EVxveabV3HYAecy1TnRrl JIfStkJyEKTA== X-IronPort-AV: E=McAfee;i="6000,8403,9663"; a="124558505" X-IronPort-AV: E=Sophos;i="5.75,279,1589266800"; d="scan'208,217";a="124558505" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jun 2020 07:40:22 -0700 IronPort-SDR: tzPsgj85pWHCA6ViRsccYYo2xV3NlD4wfvcxFbE3On8bM6/UqwuRu2F+1dC4qthxcW5N/R/Qdn bZ76u5RHMSoA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,279,1589266800"; d="scan'208,217";a="293899815" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga002.jf.intel.com with ESMTP; 25 Jun 2020 07:40:21 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 25 Jun 2020 07:40:20 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 25 Jun 2020 07:40:19 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 25 Jun 2020 07:40:19 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 25 Jun 2020 07:40:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VOEfAB3i9PivrBKWzY5KhDwO3uev58m2WZBJ1gtcm6Xb16rQVA1e17F7dfc6UKqNlXzw++1C8FblW4XJbEPDKVnfItNmEdcMEW7VpJAm3aXO/rXR35PH9+QyoZdaT4C5/wJTjiTr2XMw6hojt8gaqfhckmUE4zYue2u1se3CUWq3MM9AvNc7wpMZqK3tpZWgZfd9FKOd3yJnFF686nKn0rg2x4nCSztU6SwY3dFhBFywnY045Gj0pgh+B5CGje30H93Hcu5/ExNNNzFMoJiZuXCfD6rKhImzGZ1NCm1VuBNpZhzPBoqYIG5zsTon7ktro6RFJ7+7Uyb3Bh34zTmPrw== 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=R3BdXR4j+aYLywzZNtPqA+SmCwfeqdYJltiEOapWe/Q=; b=nrJcpfvnCc/Q0vgGr1KcDQPKIlSp824oQLHwDw/uQ0PE59odmgcOlfs565SNB36MNvjw++w94JugH5Uq4jsI3U593+SrhnIlbrsbGCB9vOcuArJQlnofzdvPowMRVlx7AnHyoLO6xdFgDfGUOQD4QwYKgpWrxUR9sX1KE+0L/qlRWbZCYyzYjIkHKOFQawX5vNboGVY86Z2I+a1ViUXBj8YqT85d+yOtPD8PeQudvc7T+x84ZMotqaEEvaZPZI83CqxZqCR6ngak2kLKF467jS56FmnsV6/xGZ29XMXsDjPfDvW3wNA8oR0VBjEYWLWTiUdnWvHJFbqLOshR2M2ONg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R3BdXR4j+aYLywzZNtPqA+SmCwfeqdYJltiEOapWe/Q=; b=Oo+2Tv99KqBm5yY5z9jjEAwEyF70R8hMqXn/DpZOAtDpzd34zikVWrMba85M+J1kwPqUfaebVyu1X+JPYmIzS3vb/1j+Xr8Yc3gMpA2hGNYui3KKUQsS7toUd/Y6tybAWKoPFFLas2RK7jbUbNbK5VfF5MiOYXJHVYaMXcFDXgw= Received: from BYAPR11MB3653.namprd11.prod.outlook.com (2603:10b6:a03:f7::14) by BY5PR11MB3925.namprd11.prod.outlook.com (2603:10b6:a03:182::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20; Thu, 25 Jun 2020 14:40:14 +0000 Received: from BYAPR11MB3653.namprd11.prod.outlook.com ([fe80::6c0c:f784:6060:76de]) by BYAPR11MB3653.namprd11.prod.outlook.com ([fe80::6c0c:f784:6060:76de%7]) with mapi id 15.20.3109.027; Thu, 25 Jun 2020 14:40:14 +0000 From: "Guo Dong" To: "devel@edk2.groups.io" , "marcello.bauer@9elements.com" CC: Patrick Rudolph , Christian Walter , "Ma, Maurice" , "Desimone, Nathaniel L" , "Zeng, Star" Subject: Re: [edk2-devel] [PATCH v1 2/2] UefiPayloadPkg: Runtime MMCONF Thread-Topic: [edk2-devel] [PATCH v1 2/2] UefiPayloadPkg: Runtime MMCONF Thread-Index: AQHWSiCgl9dwwmyw7E+jJSfNA75XM6jn1TGggAE0DQCAAF55oA== Date: Thu, 25 Jun 2020 14:40:14 +0000 Message-ID: References: <20200624102545.21390-1-marcello.bauer@9elements.com> <20200624102545.21390-3-marcello.bauer@9elements.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [68.2.51.172] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 507289bd-1f6b-4efd-651e-08d81915abed x-ms-traffictypediagnostic: BY5PR11MB3925: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 0445A82F82 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZNO5j4x0SGN1vDwJUN6/KZZFW7zK2wfnBwNAcFGUJy3w+FXYPggQDajgZsfcLx6MtkVJeROBzk34lvJa+w1M7vDgzrjn9s8tbvant/eODHBne8DPpkEh0TmjvartA13WqzhaG76AOtec3/RaE5UxKSH944fSZ8KMKXmR49+9HamaRbB479bM0usaeb1+eDSleqLKJ00KUCdtUgug/Kk2rGDinhtX0n40z4HNGN/JYxVdB/UQbUQYxYWgqi3h3/n38ZCjioZwFd4tYex1l08ZRpdnX1KgRSltR71B3z28nDwkl0IfkNRKQ3vunDGtFessJFBomf/e3UmIch92VqgswVOL32smKraGZ/OfrIjHGa9UrQx/q5BNVugRFL2qmJFcTlpu3yms+ygg1neEbeLxgQdiz+Gwh+MBcyptzxIdAnb32TZZ2hGBsaOEWW8Ix1Es x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR11MB3653.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(376002)(346002)(396003)(136003)(366004)(4326008)(9326002)(66946007)(66574015)(76116006)(166002)(76236003)(107886003)(316002)(86362001)(83380400001)(8936002)(2906002)(5660300002)(8676002)(186003)(55016002)(54906003)(110136005)(9686003)(52536014)(30864003)(966005)(53546011)(33656002)(6506007)(7696005)(66476007)(66446008)(64756008)(66556008)(21615005)(478600001)(26005)(71200400001)(19627235002)(559001)(579004)(569008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: L8UaDr5r6A/N54MIeTDhNrdi4ml0SS8ejJ41TAkWQLc6b18Y+BBO/AstloJbEBAed8KxYlXEafLzJ+p34RXaH2Jd9eZNR1D01Dau1E/uXw98AcrYVDd+IpXsXW3c1nvpKwtR9RHK0Sx2vpBFtxy4N4d2f4EF1JPiL8VtIFbU7YoS0Kfpcvgkv5WY1WmD+eFOblw2Ks0oZgTojJcWm8CId6lUS47IJM4fxErx15oBmkwWKzsii+m46OiXUjFIRoZ0UumXmjyLBV6r/lrFfFxoXD0rSVEYZSP/7YOOwT/tZhaYhvoyshFbxSdPaGiiPLs6JSgxkL2FHWNrOqqVvFW8S9JkN4byqoBQZT4ERbiZeFbmINNusAmewafSx5TDrP5lAg+TVkN372G7pMAAoEwZXx1c2HqLwFJ8oajoclLV10eSwSVxWf8rEDdqJ/dsxmVab0esqbLAt4SuPewsOnqAsdP1ikw9W0Lg21XBF3owCYs= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3653.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 507289bd-1f6b-4efd-651e-08d81915abed X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2020 14:40:14.1145 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Vi8hQvjqTpxWZhu/oSVktiIu/b3iqNDC9CK9PuXo+feWXOQjVuYeVH9CosyGo8gbDAxAtFLpQ3c7+eX1rwwOVw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB3925 Return-Path: guo.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_BYAPR11MB36535D6E6395791294361A479E920BYAPR11MB3653namp_" --_000_BYAPR11MB36535D6E6395791294361A479E920BYAPR11MB3653namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpIaSBNYXJjZWxsbywNCg0KTnAsIEkgYXNzdW1lIHlvdXIgYW5vdGhlciBwYXRjaCDigJxVZWZp UGF5bG9hZFBrZzogU3RvcmUgdGhlIHJlYWwgc2l6ZSBvZiB0aGUgTU1DT05GIHdpbmRvd+KAnSBt aWdodCBub3QgYmUgcmVxdWlyZWQgIHNpbmNlIHRoaXMgcGF0Y2guDQpQbGVhc2UgcmVzdWJtaXQg YSBuZXcgcGF0Y2ggaWYgeW91IGhhdmUgb3RoZXIgY2hhbmdlcyBiYXNlZCBvbiBsYXRlc3QgY29k ZS4NCg0KVGhhbmtzLA0KR3VvDQoNCkZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBl ZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIE1hcmNlbGxvIFN5bHZlc3RlciBCYXVlcg0KU2Vu dDogVGh1cnNkYXksIEp1bmUgMjUsIDIwMjAgMTo1OCBBTQ0KVG86IERvbmcsIEd1byA8Z3VvLmRv bmdAaW50ZWwuY29tPg0KQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBQYXRyaWNrIFJ1ZG9scGgg PHBhdHJpY2sucnVkb2xwaEA5ZWxlbWVudHMuY29tPjsgQ2hyaXN0aWFuIFdhbHRlciA8Y2hyaXN0 aWFuLndhbHRlckA5ZWxlbWVudHMuY29tPjsgTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFAaW50ZWwu Y29tPjsgRGVzaW1vbmUsIE5hdGhhbmllbCBMIDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5j b20+OyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KU3ViamVjdDogUmU6IFtlZGsy LWRldmVsXSBbUEFUQ0ggdjEgMi8yXSBVZWZpUGF5bG9hZFBrZzogUnVudGltZSBNTUNPTkYNCg0K SGkgR3VvLA0KDQpkaWRuJ3Qgc2VlIGl0LCBteSBiYWQuIE5leHQgdGltZSBJIHdpbGwgcmViYXNl IGFnYWluIGJlZm9yZSBzdWJtaXR0aW5nLg0KDQpCZXN0IHJlZ2FyZHMsDQpNYXJjZWxsbw0KDQpP biBXZWQsIEp1biAyNCwgMjAyMCBhdCA0OjQxIFBNIERvbmcsIEd1byA8Z3VvLmRvbmdAaW50ZWwu Y29tPG1haWx0bzpndW8uZG9uZ0BpbnRlbC5jb20+PiB3cm90ZToNCg0KSGkgQmF1ZXIsDQoNClBs ZWFzZSBjaGVjayBsYXRlc3QgY29kZSwgUmF5IGp1c3QgY2hlY2tlZCBpbiBhIHBhdGNoIHRvIHJl bW92ZSBoYXJkY29kZWQgUENJZSBiYXNlIGFkZHJlc3MgYXMgYmVsb3cuDQoNCmNvbW1pdCAzOTAw YTYzZTNhMWI5YmE5YTQxMDViZWRlYWQ3Yjk4NjE4OGNlYzJjDQpBdXRob3I6IFJheSBOaSA8cmF5 Lm5pQGludGVsLmNvbTxtYWlsdG86cmF5Lm5pQGludGVsLmNvbT4+DQpEYXRlOiAgIFdlZCBKdW4g MTcgMTY6MzQ6MjkgMjAyMCArMDgwMA0KICAgIFVlZmlQYXlsb2FkUGtnL1BjaTogVXNlIHRoZSBQ Q0lFIEJhc2UgQWRkciBzdG9yZWQgaW4gQWNwaUJvYXJkSW5mbyBIT0INCg0KVGhhbmtzLA0KR3Vv DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW88bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPiA8ZGV2ZWxAZWRrMi5ncm91cHMuaW88 bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPj4gT24gQmVoYWxmIE9mDQo+IE1hcmNlbGxvIFN5 bHZlc3RlciBCYXVlcg0KPiBTZW50OiBXZWRuZXNkYXksIEp1bmUgMjQsIDIwMjAgMzoyNiBBTQ0K PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW88bWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvPg0K PiBDYzogUGF0cmljayBSdWRvbHBoIDxwYXRyaWNrLnJ1ZG9scGhAOWVsZW1lbnRzLmNvbTxtYWls dG86cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5jb20+PjsgQ2hyaXN0aWFuIFdhbHRlcg0KPiA8 Y2hyaXN0aWFuLndhbHRlckA5ZWxlbWVudHMuY29tPG1haWx0bzpjaHJpc3RpYW4ud2FsdGVyQDll bGVtZW50cy5jb20+PjsgTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFAaW50ZWwuY29tPG1haWx0bzpt YXVyaWNlLm1hQGludGVsLmNvbT4+Ow0KPiBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgPG5hdGhhbmll bC5sLmRlc2ltb25lQGludGVsLmNvbTxtYWlsdG86bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwu Y29tPj47IFplbmcsIFN0YXINCj4gPHN0YXIuemVuZ0BpbnRlbC5jb208bWFpbHRvOnN0YXIuemVu Z0BpbnRlbC5jb20+Pg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDIvMl0gVWVm aVBheWxvYWRQa2c6IFJ1bnRpbWUgTU1DT05GDQo+DQo+IEZyb206IFBhdHJpY2sgUnVkb2xwaCA8 cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5jb208bWFpbHRvOnBhdHJpY2sucnVkb2xwaEA5ZWxl bWVudHMuY29tPj4NCj4NCj4gKiBEb24ndCBoYXJkY29kZSBQQ0lFX0JBU0UgYXQgYnVpbGQgdGlt ZQ0KPiAqIFN1cHBvcnQgYXJiaXRyYXJ5IHBsYXRmb3JtcyB3aXRoIGRpZmZlcmVudCBvciBldmVu IG5vIE1NQ09ORiBzcGFjZQ0KPiAqIEZpeCBidWZmZXIgb3ZlcmZsb3cgYWNjZXNzaW5nIE1NQ09O RiB3aGVyZSBsZXNzIHRoYW4gMjU2IGJ1c2VzIGFyZQ0KPiAgIGV4cG9zZWQNCj4gKiBVc2UgUGNp Q2ZnOCBmb3IgUENJIGFjY2VzcyBpbiBQRUksIHdoaWNoIGlzIG9ubHkgdXNlZCBmb3IgZGVidWdn aW5nDQo+DQo+IFNpZ25lZC1vZmYtYnk6IFBhdHJpY2sgUnVkb2xwaCA8cGF0cmljay5ydWRvbHBo QDllbGVtZW50cy5jb208bWFpbHRvOnBhdHJpY2sucnVkb2xwaEA5ZWxlbWVudHMuY29tPj4NCj4g U2lnbmVkLW9mZi1ieTogTWFyY2VsbG8gU3lsdmVzdGVyIEJhdWVyIDxtYXJjZWxsby5iYXVlckA5 ZWxlbWVudHMuY29tPG1haWx0bzptYXJjZWxsby5iYXVlckA5ZWxlbWVudHMuY29tPj4NCj4gQ2M6 IFBhdHJpY2sgUnVkb2xwaCA8cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5jb208bWFpbHRvOnBh dHJpY2sucnVkb2xwaEA5ZWxlbWVudHMuY29tPj4NCj4gQ2M6IENocmlzdGlhbiBXYWx0ZXIgPGNo cmlzdGlhbi53YWx0ZXJAOWVsZW1lbnRzLmNvbTxtYWlsdG86Y2hyaXN0aWFuLndhbHRlckA5ZWxl bWVudHMuY29tPj4NCj4gQ2M6IE1hdXJpY2UgTWEgPG1hdXJpY2UubWFAaW50ZWwuY29tPG1haWx0 bzptYXVyaWNlLm1hQGludGVsLmNvbT4+DQo+IENjOiBOYXRlIERlU2ltb25lIDxuYXRoYW5pZWwu bC5kZXNpbW9uZUBpbnRlbC5jb208bWFpbHRvOm5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNv bT4+DQo+IENjOiBTdGFyIFplbmcgPHN0YXIuemVuZ0BpbnRlbC5jb208bWFpbHRvOnN0YXIuemVu Z0BpbnRlbC5jb20+Pg0KPiAtLS0NCj4gIFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnSWEz Mi5kc2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNiArLQ0KPiAgVWVmaVBh eWxvYWRQa2cvVWVmaVBheWxvYWRQa2dJYTMyWDY0LmRzYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDE2ICstDQo+ICBVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lFeHByZXNz TGliL0Jhc2VQY2lFeHByZXNzTGliLmluZiAgICAgICB8ICAgNDYgKw0KPiAgVWVmaVBheWxvYWRQ a2cvTGlicmFyeS9CYXNlUGNpTGliUGNpRXhwcmVzcy9CYXNlUGNpTGliUGNpRXhwcmVzcy5pbmYg fCAgIDQyDQo+ICsNCj4gIFVlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NMaWIv UGNpRXhwcmVzc0xpYi5jICAgICAgICAgICAgIHwgMTQ1NQ0KPiArKysrKysrKysrKysrKysrKysr Kw0KPiAgVWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpTGliUGNpRXhwcmVzcy9QY2lMaWIu YyAgICAgICAgICAgICAgICAgfCAxMzAyDQo+ICsrKysrKysrKysrKysrKysrKw0KPiAgVWVmaVBh eWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9CYXNlUGNpRXhwcmVzc0xpYi51bmkg ICAgICAgfCAgIDE3ICsNCj4gIFVlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUxpYlBjaUV4 cHJlc3MvQmFzZVBjaUxpYlBjaUV4cHJlc3MudW5pIHwgICAxNw0KPiArDQo+ICA4IGZpbGVzIGNo YW5nZWQsIDI4ODUgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1n aXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZ0lhMzIuZHNjDQo+IGIvVWVmaVBheWxv YWRQa2cvVWVmaVBheWxvYWRQa2dJYTMyLmRzYw0KPiBpbmRleCBjNmM0NzgzMzg3MWIuLjQ4YjAz YWY2ZjIyMyAxMDA2NDQNCj4gLS0tIGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2dJYTMy LmRzYw0KPiArKysgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZ0lhMzIuZHNjDQo+IEBA IC0zNywxMSArMzcsNiBAQCBbRGVmaW5lc10NCj4gICAgIw0KPg0KPiAgICBERUZJTkUgTUFYX0xP R0lDQUxfUFJPQ0VTU09SUyAgICAgICA9IDY0DQo+DQo+DQo+DQo+IC0gICMNCj4NCj4gLSAgIyBQ Q0kgb3B0aW9ucw0KPg0KPiAtICAjDQo+DQo+IC0gIERFRklORSBQQ0lFX0JBU0UgICAgICAgICAg ICAgICAgICAgID0gMHhFMDAwMDAwMA0KPg0KPiAtDQo+DQo+ICAgICMNCj4NCj4gICAgIyBTZXJp YWwgcG9ydCBzZXQgdXANCj4NCj4gICAgIw0KPg0KPiBAQCAtMTIxLDEzICsxMTYsOSBAQCBbTGli cmFyeUNsYXNzZXNdDQo+ICAgIFByaW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQcmludExpYi9C YXNlUHJpbnRMaWIuaW5mDQo+DQo+ICAgIENwdUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlQ3B1TGli L0Jhc2VDcHVMaWIuaW5mDQo+DQo+ICAgIElvTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VJb0xpYklu dHJpbnNpYy9CYXNlSW9MaWJJbnRyaW5zaWMuaW5mDQo+DQo+IC0haWYgJChQQ0lFX0JBU0UpID09 IDANCj4NCj4gLSAgUGNpTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJDZjgvQmFzZVBjaUxp YkNmOC5pbmYNCj4NCj4gICAgUGNpQ2Y4TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lDZjhMaWIv QmFzZVBjaUNmOExpYi5pbmYNCj4NCj4gLSFlbHNlDQo+DQo+IC0gIFBjaUxpYnxNZGVQa2cvTGli cmFyeS9CYXNlUGNpTGliUGNpRXhwcmVzcy9CYXNlUGNpTGliUGNpRXhwcmVzcy5pbmYNCj4NCj4g LSAgUGNpRXhwcmVzc0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9CYXNlUGNp RXhwcmVzc0xpYi5pbmYNCj4NCj4gLSFlbmRpZg0KPg0KPiArDQo+IFBjaUxpYnxVZWZpUGF5bG9h ZFBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJQY2lFeHByZXNzL0Jhc2VQY2lMaWJQY2lFeHByZXNzLmlu Zg0KPg0KPiArDQo+IFBjaUV4cHJlc3NMaWJ8VWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNp RXhwcmVzc0xpYi9CYXNlUGNpRXhwcmVzc0xpYi5pDQo+IG5mDQo+DQo+DQo+IFBjaVNlZ21lbnRM aWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjaVNlZ21lbnRMaWJQY2kvQmFzZVBjaVNlZ21lbnRMaWJQ DQo+IGNpLmluZg0KPg0KPiAgICBQZUNvZmZMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlQ29mZkxp Yi9CYXNlUGVDb2ZmTGliLmluZg0KPg0KPg0KPiBQZUNvZmZHZXRFbnRyeVBvaW50TGlifE1kZVBr Zy9MaWJyYXJ5L0Jhc2VQZUNvZmZHZXRFbnRyeVBvaW50TGliL0Jhc2UNCj4gUGVDb2ZmR2V0RW50 cnlQb2ludExpYi5pbmYNCj4NCj4gQEAgLTIxNiw2ICsyMDcsNyBAQCBbTGlicmFyeUNsYXNzZXMu SUEzMi5TRUNdDQo+ICBbTGlicmFyeUNsYXNzZXMuSUEzMi5QRUlfQ09SRSwgTGlicmFyeUNsYXNz ZXMuSUEzMi5QRUlNXQ0KPg0KPiAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1Bl aVBjZExpYi5pbmYNCj4NCj4gICAgSG9iTGlifE1kZVBrZy9MaWJyYXJ5L1BlaUhvYkxpYi9QZWlI b2JMaWIuaW5mDQo+DQo+ICsgIFBjaUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNpTGliQ2Y4L0Jh c2VQY2lMaWJDZjguaW5mDQo+DQo+DQo+IE1lbW9yeUFsbG9jYXRpb25MaWJ8TWRlUGtnL0xpYnJh cnkvUGVpTWVtb3J5QWxsb2NhdGlvbkxpYi9QZWlNZW1vcnkNCj4gQWxsb2NhdGlvbkxpYi5pbmYN Cj4NCj4NCj4gUmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9QZWlSZXBv cnRTdGF0dXNDb2RlTGliL1BlaVINCj4gZXBvcnRTdGF0dXNDb2RlTGliLmluZg0KPg0KPg0KPiBF eHRyYWN0R3VpZGVkU2VjdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9QZWlFeHRyYWN0R3VpZGVkU2Vj dGlvbkxpYi9QZWlFeA0KPiB0cmFjdEd1aWRlZFNlY3Rpb25MaWIuaW5mDQo+DQo+IEBAIC0yODYs OCArMjc4LDYgQEAgW1BjZHNGaXhlZEF0QnVpbGRdDQo+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlTWVtb3J5fEZBTFNFDQo+DQo+ICAgIGdFZmlNZGVN b2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RCb290TWFuYWdlck1lbnVGaWxlfHsgMHgyMSwNCj4g MHhhYSwgMHgyYywgMHg0NiwgMHgxNCwgMHg3NiwgMHgwMywgMHg0NSwgMHg4MywgMHg2ZSwgMHg4 YSwgMHhiNiwgMHhmNCwgMHg2NiwNCj4gMHgyMywgMHgzMSB9DQo+DQo+DQo+DQo+IC0gIGdFZmlN ZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQY2lFeHByZXNzQmFzZUFkZHJlc3N8JChQQ0lFX0JBU0Up DQo+DQo+IC0NCj4NCj4gICFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpDQo+DQo+DQo+IGdFZmlT b3VyY2VMZXZlbERlYnVnUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdMb2FkSW1hZ2VNZXRob2R8 MHgNCj4gMg0KPg0KPiAgIWVuZGlmDQo+DQo+IGRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9V ZWZpUGF5bG9hZFBrZ0lhMzJYNjQuZHNjDQo+IGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQ a2dJYTMyWDY0LmRzYw0KPiBpbmRleCA1NTU5YjEyNTg1MjEuLmFmOTUxZWU1YWVjMCAxMDA2NDQN Cj4gLS0tIGEvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2dJYTMyWDY0LmRzYw0KPiArKysg Yi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZ0lhMzJYNjQuZHNjDQo+IEBAIC0zOCwxMSAr MzgsNiBAQCBbRGVmaW5lc10NCj4gICAgIw0KPg0KPiAgICBERUZJTkUgTUFYX0xPR0lDQUxfUFJP Q0VTU09SUyAgICAgICA9IDY0DQo+DQo+DQo+DQo+IC0gICMNCj4NCj4gLSAgIyBQQ0kgb3B0aW9u cw0KPg0KPiAtICAjDQo+DQo+IC0gIERFRklORSBQQ0lFX0JBU0UgICAgICAgICAgICAgICAgICAg ID0gMHhFMDAwMDAwMA0KPg0KPiAtDQo+DQo+ICAgICMNCj4NCj4gICAgIyBTZXJpYWwgcG9ydCBz ZXQgdXANCj4NCj4gICAgIw0KPg0KPiBAQCAtMTIyLDEzICsxMTcsOSBAQCBbTGlicmFyeUNsYXNz ZXNdDQo+ICAgIFByaW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQcmludExpYi9CYXNlUHJpbnRM aWIuaW5mDQo+DQo+ICAgIENwdUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlQ3B1TGliL0Jhc2VDcHVM aWIuaW5mDQo+DQo+ICAgIElvTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VJb0xpYkludHJpbnNpYy9C YXNlSW9MaWJJbnRyaW5zaWMuaW5mDQo+DQo+IC0haWYgJChQQ0lFX0JBU0UpID09IDANCj4NCj4g LSAgUGNpTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJDZjgvQmFzZVBjaUxpYkNmOC5pbmYN Cj4NCj4gICAgUGNpQ2Y4TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lDZjhMaWIvQmFzZVBjaUNm OExpYi5pbmYNCj4NCj4gLSFlbHNlDQo+DQo+IC0gIFBjaUxpYnxNZGVQa2cvTGlicmFyeS9CYXNl UGNpTGliUGNpRXhwcmVzcy9CYXNlUGNpTGliUGNpRXhwcmVzcy5pbmYNCj4NCj4gLSAgUGNpRXhw cmVzc0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9CYXNlUGNpRXhwcmVzc0xp Yi5pbmYNCj4NCj4gLSFlbmRpZg0KPg0KPiArDQo+IFBjaUxpYnxVZWZpUGF5bG9hZFBrZy9MaWJy YXJ5L0Jhc2VQY2lMaWJQY2lFeHByZXNzL0Jhc2VQY2lMaWJQY2lFeHByZXNzLmluZg0KPg0KPiAr DQo+IFBjaUV4cHJlc3NMaWJ8VWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xp Yi9CYXNlUGNpRXhwcmVzc0xpYi5pDQo+IG5mDQo+DQo+DQo+IFBjaVNlZ21lbnRMaWJ8TWRlUGtn L0xpYnJhcnkvQmFzZVBjaVNlZ21lbnRMaWJQY2kvQmFzZVBjaVNlZ21lbnRMaWJQDQo+IGNpLmlu Zg0KPg0KPiAgICBQZUNvZmZMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlQ29mZkxpYi9CYXNlUGVD b2ZmTGliLmluZg0KPg0KPg0KPiBQZUNvZmZHZXRFbnRyeVBvaW50TGlifE1kZVBrZy9MaWJyYXJ5 L0Jhc2VQZUNvZmZHZXRFbnRyeVBvaW50TGliL0Jhc2UNCj4gUGVDb2ZmR2V0RW50cnlQb2ludExp Yi5pbmYNCj4NCj4gQEAgLTIxNyw2ICsyMDgsNyBAQCBbTGlicmFyeUNsYXNzZXMuSUEzMi5TRUNd DQo+ICBbTGlicmFyeUNsYXNzZXMuSUEzMi5QRUlfQ09SRSwgTGlicmFyeUNsYXNzZXMuSUEzMi5Q RUlNXQ0KPg0KPiAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExpYi5p bmYNCj4NCj4gICAgSG9iTGlifE1kZVBrZy9MaWJyYXJ5L1BlaUhvYkxpYi9QZWlIb2JMaWIuaW5m DQo+DQo+ICsgIFBjaUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNpTGliQ2Y4L0Jhc2VQY2lMaWJD ZjguaW5mDQo+DQo+DQo+IE1lbW9yeUFsbG9jYXRpb25MaWJ8TWRlUGtnL0xpYnJhcnkvUGVpTWVt b3J5QWxsb2NhdGlvbkxpYi9QZWlNZW1vcnkNCj4gQWxsb2NhdGlvbkxpYi5pbmYNCj4NCj4NCj4g UmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9QZWlSZXBvcnRTdGF0dXND b2RlTGliL1BlaVINCj4gZXBvcnRTdGF0dXNDb2RlTGliLmluZg0KPg0KPg0KPiBFeHRyYWN0R3Vp ZGVkU2VjdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9QZWlFeHRyYWN0R3VpZGVkU2VjdGlvbkxpYi9Q ZWlFeA0KPiB0cmFjdEd1aWRlZFNlY3Rpb25MaWIuaW5mDQo+DQo+IEBAIC0yODgsOCArMjgwLDYg QEAgW1BjZHNGaXhlZEF0QnVpbGRdDQo+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RVc2UxR1BhZ2VUYWJsZXxUUlVFDQo+DQo+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RCb290TWFuYWdlck1lbnVGaWxlfHsgMHgyMSwNCj4gMHhhYSwgMHgyYywgMHg0 NiwgMHgxNCwgMHg3NiwgMHgwMywgMHg0NSwgMHg4MywgMHg2ZSwgMHg4YSwgMHhiNiwgMHhmNCwg MHg2NiwNCj4gMHgyMywgMHgzMSB9DQo+DQo+DQo+DQo+IC0gIGdFZmlNZGVQa2dUb2tlblNwYWNl R3VpZC5QY2RQY2lFeHByZXNzQmFzZUFkZHJlc3N8JChQQ0lFX0JBU0UpDQo+DQo+IC0NCj4NCj4g ICFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpDQo+DQo+DQo+IGdFZmlTb3VyY2VMZXZlbERlYnVn UGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdMb2FkSW1hZ2VNZXRob2R8MHgNCj4gMg0KPg0KPiAg IWVuZGlmDQo+DQo+IGRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lF eHByZXNzTGliL0Jhc2VQY2lFeHByZXNzTGliLmluZg0KPiBiL1VlZmlQYXlsb2FkUGtnL0xpYnJh cnkvQmFzZVBjaUV4cHJlc3NMaWIvQmFzZVBjaUV4cHJlc3NMaWIuaW5mDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4uOWYwNTJjMGEyZTY1DQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvVWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9C YXNlUGNpRXhwcmVzc0xpYi5pbmYNCj4gQEAgLTAsMCArMSw0NiBAQA0KPiArIyMgQGZpbGUNCj4N Cj4gKyMgIEluc3RhbmNlIG9mIFBDSSBFeHByZXNzIExpYnJhcnkgdXNpbmcgdGhlIDI1NiBNQiBQ Q0kgRXhwcmVzcyBNTUlPDQo+IHdpbmRvdy4NCj4NCj4gKyMNCj4NCj4gKyMgIFBDSSBFeHByZXNz IExpYnJhcnkgdGhhdCB1c2VzIHRoZSAyNTYgTUIgUENJIEV4cHJlc3MgTU1JTyB3aW5kb3cgdG8N Cj4gcGVyZm9ybQ0KPg0KPiArIyAgUENJIENvbmZpZ3VyYXRpb24gY3ljbGVzLiBMYXllcnMgb24g dG9wIG9mIGFuIEkvTyBMaWJyYXJ5IGluc3RhbmNlLg0KPg0KPiArIw0KPg0KPiArIyAgQ29weXJp Z2h0IChjKSAyMDA3IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuPEJSPg0KPg0KPiArIw0KPg0KPiArIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4NCj4gKyMNCj4NCj4gKyMNCj4NCj4gKyMjDQo+DQo+ICsNCj4NCj4g K1tEZWZpbmVzXQ0KPg0KPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAw MDEwMDA1DQo+DQo+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAgICA9IEJhc2VQY2lF eHByZXNzTGliDQo+DQo+ICsgIE1PRFVMRV9VTklfRklMRSAgICAgICAgICAgICAgICA9IEJhc2VQ Y2lFeHByZXNzTGliLnVuaQ0KPg0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAg PSAyODdlNTBmNC1hMTg4LTQ2OTktYjkwNy0zZTQwODBjYTU2ODgNCj4NCj4gKyAgTU9EVUxFX1RZ UEUgICAgICAgICAgICAgICAgICAgID0gQkFTRQ0KPg0KPiArICBWRVJTSU9OX1NUUklORyAgICAg ICAgICAgICAgICAgPSAxLjANCj4NCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAg ID0gUGNpRXhwcmVzc0xpYg0KPg0KPiArICBDT05TVFJVQ1RPUiAgICAgICAgICAgICAgICAgICAg PSBQY2lFeHByZXNzTGliSW5pdGlhbGl6ZQ0KPg0KPiArDQo+DQo+ICsjDQo+DQo+ICsjICBWQUxJ RF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEVCQw0KPg0KPiArIw0KPg0KPiAr DQo+DQo+ICtbU291cmNlc10NCj4NCj4gKyAgUGNpRXhwcmVzc0xpYi5jDQo+DQo+ICsNCj4NCj4g K1tQYWNrYWdlc10NCj4NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4NCj4gKyAgVWVmaVBheWxv YWRQa2cvVWVmaVBheWxvYWRQa2cuZGVjDQo+DQo+ICsNCj4NCj4gK1tMaWJyYXJ5Q2xhc3Nlc10N Cj4NCj4gKyAgQmFzZUxpYg0KPg0KPiArICBEZWJ1Z0xpYg0KPg0KPiArICBIb2JMaWINCj4NCj4g KyAgSW9MaWINCj4NCj4gKw0KPg0KPiArW0d1aWRzXQ0KPg0KPiArICBnVWVmaUFjcGlCb2FyZElu Zm9HdWlkDQo+DQo+ICsNCj4NCj4gK1tQY2RdDQo+DQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNl R3VpZC5QY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MgICMjIENPTlNVTUVTDQo+DQo+ICsNCj4NCj4g ZGlmZiAtLWdpdA0KPiBhL1VlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUxpYlBjaUV4cHJl c3MvQmFzZVBjaUxpYlBjaUV4cHJlc3MuaW5mDQo+IGIvVWVmaVBheWxvYWRQa2cvTGlicmFyeS9C YXNlUGNpTGliUGNpRXhwcmVzcy9CYXNlUGNpTGliUGNpRXhwcmVzcy5pbmYNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi4wODU4ZTQ5YTQ3YWUNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJQY2lFeHBy ZXNzL0Jhc2VQY2lMaWJQY2lFeHByZXNzLmluZg0KPiBAQCAtMCwwICsxLDQyIEBADQo+ICsjIyBA ZmlsZQ0KPg0KPiArIyAgSW5zdGFuY2Ugb2YgUENJIExpYnJhcnkgYmFzZWQgb24gUENJIEV4cHJl c3MgTGlicmFyeS4NCj4NCj4gKyMNCj4NCj4gKyMgIFBDSSBMaWJyYXJ5IHRoYXQgdXNlcyB0aGUg MjU2IE1CIFBDSSBFeHByZXNzIE1NSU8gd2luZG93IHRvIHBlcmZvcm0NCj4gUENJDQo+DQo+ICsj ICBDb25maWd1cmF0aW9uIGN5Y2xlcy4gTGF5ZXJzIG9uIG9uZSBQQ0kgRXhwcmVzcyBMaWJyYXJ5 IGluc3RhbmNlLg0KPg0KPiArIw0KPg0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxOCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPg0KPiArIw0KPg0K PiArIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4NCj4g KyMNCj4NCj4gKyMNCj4NCj4gKyMjDQo+DQo+ICsNCj4NCj4gK1tEZWZpbmVzXQ0KPg0KPiArICBJ TkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+DQo+ICsgIEJBU0Vf TkFNRSAgICAgICAgICAgICAgICAgICAgICA9IEJhc2VQY2lMaWJQY2lFeHByZXNzDQo+DQo+ICsg IE1PRFVMRV9VTklfRklMRSAgICAgICAgICAgICAgICA9IEJhc2VQY2lMaWJQY2lFeHByZXNzLnVu aQ0KPg0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSA4OTg3MDgxZS1kYWVi LTQ0YTktOGJlZi1hMTk1YjIyZDk0MTcNCj4NCj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAg ICAgICAgID0gQkFTRQ0KPg0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAx LjANCj4NCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gUGNpTGliDQo+DQo+ ICsgIENPTlNUUlVDVE9SICAgICAgICAgICAgICAgICAgICA9IFBjaUxpYkluaXRpYWxpemUNCj4N Cj4gKw0KPg0KPiArIw0KPg0KPiArIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJ QTMyIFg2NA0KPg0KPiArIw0KPg0KPiArDQo+DQo+ICtbU291cmNlc10NCj4NCj4gKyAgUGNpTGli LmMNCj4NCj4gKw0KPg0KPiArW1BhY2thZ2VzXQ0KPg0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0K Pg0KPiArICBVZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZy5kZWMNCj4NCj4gKw0KPg0KPiAr W0d1aWRzXQ0KPg0KPiArICBnVWVmaUFjcGlCb2FyZEluZm9HdWlkDQo+DQo+ICsNCj4NCj4gK1tM aWJyYXJ5Q2xhc3Nlc10NCj4NCj4gKyAgUGNpRXhwcmVzc0xpYg0KPg0KPiArICBQY2lDZjhMaWIN Cj4NCj4gKyAgQmFzZUxpYg0KPg0KPiArICBIb2JMaWINCj4NCj4gZGlmZiAtLWdpdCBhL1VlZmlQ YXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NMaWIvUGNpRXhwcmVzc0xpYi5jDQo+IGIv VWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9QY2lFeHByZXNzTGliLmMN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwLi5mM2I0NTgyZDNj NDcNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQ Y2lFeHByZXNzTGliL1BjaUV4cHJlc3NMaWIuYw0KPiBAQCAtMCwwICsxLDE0NTUgQEANCj4gKy8q KiBAZmlsZQ0KPg0KPiArICBGdW5jdGlvbnMgaW4gdGhpcyBsaWJyYXJ5IGluc3RhbmNlIG1ha2Ug dXNlIG9mIE1NSU8gZnVuY3Rpb25zIGluIElvTGliIHRvDQo+DQo+ICsgIGFjY2VzcyBtZW1vcnkg bWFwcGVkIFBDSSBjb25maWd1cmF0aW9uIHNwYWNlLg0KPg0KPiArDQo+DQo+ICsgIEFsbCBhc3Nl cnRpb25zIGZvciBJL08gb3BlcmF0aW9ucyBhcmUgaGFuZGxlZCBpbiBNTUlPIGZ1bmN0aW9ucyBp biB0aGUgSW9MaWINCj4NCj4gKyAgTGlicmFyeS4NCj4NCj4gKw0KPg0KPiArICBDb3B5cmlnaHQg KGMpIDIwMDYgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArDQo+DQo+ICsNCj4NCj4gKyNpbmNsdWRlIDxCYXNl Lmg+DQo+DQo+ICsNCj4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4NCj4gKyNp bmNsdWRlIDxMaWJyYXJ5L1BjaUV4cHJlc3NMaWIuaD4NCj4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0RlYnVnTGliLmg+DQo+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPg0KPiArDQo+DQo+ICsjaW5jbHVkZSA8 UGkvUGlCb290TW9kZS5oPg0KPg0KPiArI2luY2x1ZGUgPFVlZmkvVWVmaUJhc2VUeXBlLmg+DQo+ DQo+ICsjaW5jbHVkZSA8VWVmaS9VZWZpTXVsdGlQaGFzZS5oPg0KPg0KPiArI2luY2x1ZGUgPFBp L1BpSG9iLmg+DQo+DQo+ICsNCj4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0hvYkxpYi5oPg0KPg0K PiArI2luY2x1ZGUgPEd1aWQvQWNwaUJvYXJkSW5mb0d1aWQuaD4NCj4NCj4gKw0KPg0KPiArU1RB VElDIEFDUElfQk9BUkRfSU5GTyBtQm9hcmRJbmZvOw0KPg0KPiArLyoqDQo+DQo+ICsgIEFzc2Vy dCB0aGUgdmFsaWRpdHkgb2YgYSBQQ0kgYWRkcmVzcy4NCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4 MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgUmV0dXJuIDB4ZmYgb24g dHJhbnNhY3Rpb24gb3V0c2lkZSBvZiB0aGUgTU1DT05GIHNwYWNlLg0KPg0KPiArDQo+DQo+ICsg IEBwYXJhbSAgQSBUaGUgYWRkcmVzcyB0byB2YWxpZGF0ZS4NCj4NCj4gKw0KPg0KPiArKiovDQo+ DQo+ICsjZGVmaW5lIEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNTKEEpIFwNCj4NCj4gKyAgQVNT RVJUICgoKEEpICYgfjB4ZmZmZmZmZikgPT0gMCk7IFwNCj4NCj4gKyAgaWYgKChBKSA+PSBtQm9h cmRJbmZvLlBjaWVCYXNlU2l6ZSkgeyBcDQo+DQo+ICsgICAgcmV0dXJuIH4wOyBcDQo+DQo+ICsg IH0NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlZ2lzdGVycyBhIFBDSSBkZXZpY2Ugc28g UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzIG1heSBiZSBhY2Nlc3NlZCBhZnRlcg0KPg0KPiAr ICBTZXRWaXJ0dWFsQWRkcmVzc01hcCgpLg0KPg0KPiArDQo+DQo+ICsgIFJlZ2lzdGVycyB0aGUg UENJIGRldmljZSBzcGVjaWZpZWQgYnkgQWRkcmVzcyBzbyBhbGwgdGhlIFBDSSBjb25maWd1cmF0 aW9uDQo+DQo+ICsgIHJlZ2lzdGVycyBhc3NvY2lhdGVkIHdpdGggdGhhdCBQQ0kgZGV2aWNlIG1h eSBiZSBhY2Nlc3NlZCBhZnRlcg0KPiBTZXRWaXJ0dWFsQWRkcmVzc01hcCgpDQo+DQo+ICsgIGlz IGNhbGxlZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBB U1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhh dCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uDQo+IGFuZA0KPg0KPiArICAg ICAgICAgICAgICAgICAgUmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHZhbCBSRVRVUk5f U1VDQ0VTUyAgICAgICAgICAgVGhlIFBDSSBkZXZpY2Ugd2FzIHJlZ2lzdGVyZWQgZm9yIHJ1bnRp bWUNCj4gYWNjZXNzLg0KPg0KPiArICBAcmV0dmFsIFJFVFVSTl9VTlNVUFBPUlRFRCAgICAgICBB biBhdHRlbXB0IHdhcyBtYWRlIHRvIGNhbGwgdGhpcw0KPiBmdW5jdGlvbg0KPg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciBFeGl0Qm9vdFNlcnZpY2VzKCkuDQo+ DQo+ICsgIEByZXR2YWwgUkVUVVJOX1VOU1VQUE9SVEVEICAgICAgIFRoZSByZXNvdXJjZXMgcmVx dWlyZWQgdG8gYWNjZXNzIHRoZQ0KPiBQQ0kgZGV2aWNlDQo+DQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGF0IHJ1bnRpbWUgY291bGQgbm90IGJlIG1hcHBlZC4NCj4NCj4g KyAgQHJldHZhbCBSRVRVUk5fT1VUX09GX1JFU09VUkNFUyAgVGhlcmUgYXJlIG5vdCBlbm91Z2gg cmVzb3VyY2VzDQo+IGF2YWlsYWJsZSB0bw0KPg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb21wbGV0ZSB0aGUgcmVnaXN0cmF0aW9uLg0KPg0KPiArDQo+DQo+ICsqKi8N Cj4NCj4gK1JFVFVSTl9TVEFUVVMNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc1JlZ2lz dGVyRm9yUnVudGltZUFjY2VzcyAoDQo+DQo+ICsgIElOIFVJTlROICBBZGRyZXNzDQo+DQo+ICsg ICkNCj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3Mp Ow0KPg0KPiArICByZXR1cm4gUkVUVVJOX1VOU1VQUE9SVEVEOw0KPg0KPiArfQ0KPg0KPiArDQo+ DQo+ICsvKioNCj4NCj4gKyAgUGVyZm9ybXMgcGxhdGZvcm0gc3BlY2lmaWMgaW5pdGlhbGl6YXRp b24gcmVxdWlyZWQgZm9yIHRoZSBDUFUgdG8gYWNjZXNzDQo+DQo+ICsgIHRoZSBNTUNPTkYgc3Bh Y2UuICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGluaXRpYWxpemUgdGhlIE1NQ09ORiBpdHNlbGYu DQo+DQo+ICsNCj4NCj4gKyAgQHJldHZhbCBSRVRVUk5fU1VDQ0VTUyAgICAgICBUaGUgcGxhdGZv cm0gc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gc3VjY2VlZGVkLg0KPg0KPiArICBAcmV0dmFsIFJF VFVSTl9ERVZJQ0VfRVJST1IgIFRoZSBwbGF0Zm9ybSBzcGVjaWZpYyBpbml0aWFsaXphdGlvbiBj b3VsZA0KPiBub3QgYmUgY29tcGxldGVkLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1JFVFVS Tl9TVEFUVVMNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc0xpYkluaXRpYWxpemUgKA0K Pg0KPiArICBWT0lEDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgRUZJX0hPQl9HVUlEX1RZ UEUgICAgICAgICAqR3VpZEhvYjsNCj4NCj4gKw0KPg0KPiArICAvLw0KPg0KPiArICAvLyBGaW5k IHRoZSBhY3BpIGJvYXJkIGluZm9ybWF0aW9uIGd1aWQgaG9iDQo+DQo+ICsgIC8vDQo+DQo+ICsg IEd1aWRIb2IgPSBHZXRGaXJzdEd1aWRIb2IgKCZnVWVmaUFjcGlCb2FyZEluZm9HdWlkKTsNCj4N Cj4gKyAgQVNTRVJUIChHdWlkSG9iICE9IE5VTEwpOw0KPg0KPiArICBpZiAoR3VpZEhvYiA9PSBO VUxMKSB7DQo+DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4NCj4gKyAgfQ0KPg0K PiArDQo+DQo+ICsgIENvcHlNZW0gKCZtQm9hcmRJbmZvLCBHRVRfR1VJRF9IT0JfREFUQSAoR3Vp ZEhvYiksDQo+IHNpemVvZihtQm9hcmRJbmZvKSk7DQo+DQo+ICsgIHJldHVybiBFRklfU1VDQ0VT UzsNCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIEdldHMgdGhlIGJhc2UgYWRk cmVzcyBvZiBQQ0kgRXhwcmVzcy4NCj4NCj4gKw0KPg0KPiArICBUaGlzIGludGVybmFsIGZ1bmN0 aW9ucyByZXRyaWV2ZXMgUENJIEV4cHJlc3MgQmFzZSBBZGRyZXNzIHZpYSBhIFBDRCBlbnRyeQ0K Pg0KPiArICBQY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVy biBUaGUgYmFzZSBhZGRyZXNzIG9mIFBDSSBFeHByZXNzLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4N Cj4gK1ZPSUQqDQo+DQo+ICtHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKA0KPg0KPiArICBWT0lE DQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgcmV0dXJuIChWT0lEKikoVUlOVE4pIG1Cb2Fy ZEluZm8uUGNpZUJhc2VBZGRyZXNzOw0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4g KyAgUmVhZHMgYW4gOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4N Cj4gKyAgUmVhZHMgYW5kIHJldHVybnMgdGhlIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLg0KPg0KPiArICBUaGlzIGZ1bmN0aW9uIG11c3QgZ3Vh cmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZQ0KPg0KPiAr ICBzZXJpYWxpemVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0 aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRkcmVz cyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+DQo+ ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRo ZSByZWFkIHZhbHVlIGZyb20gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiAr DQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUV4cHJlc3NS ZWFkOCAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNz DQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1Mg KEFkZHJlc3MpOw0KPg0KPiArICByZXR1cm4gTW1pb1JlYWQ4ICgoVUlOVE4pIEdldFBjaUV4cHJl c3NCYXNlQWRkcmVzcyAoKSArIEFkZHJlc3MpOw0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioN Cj4NCj4gKyAgV3JpdGVzIGFuIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0K PiArDQo+DQo+ICsgIFdyaXRlcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIg c3BlY2lmaWVkIGJ5IEFkZHJlc3Mgd2l0aCB0aGUNCj4NCj4gKyAgdmFsdWUgc3BlY2lmaWVkIGJ5 IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZQ0K Pg0KPiArICB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2VyaWFs aXplZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NF UlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBl bmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uDQo+IGFuZA0KPg0KPiArICAgICAg ICAgICAgICAgICAgUmVnaXN0ZXIuDQo+DQo+ICsgIEBwYXJhbSAgVmFsdWUgICBUaGUgdmFsdWUg dG8gd3JpdGUuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0 aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiAr VUlOVDgNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc1dyaXRlOCAoDQo+DQo+ICsgIElO ICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAg IFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgVmFsdWUNCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0K PiArICBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7DQo+DQo+ICsgIHJldHVy biBNbWlvV3JpdGU4ICgoVUlOVE4pIEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSArIEFkZHJl c3MsDQo+IFZhbHVlKTsNCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFBlcmZv cm1zIGEgYml0d2lzZSBPUiBvZiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB3 aXRoDQo+DQo+ICsgIGFuIDgtYml0IHZhbHVlLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSA4 LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVy Zm9ybXMgYQ0KPg0KPiArICBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0 aGUgdmFsdWUgc3BlY2lmaWVkIGJ5DQo+DQo+ICsgIE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVz dWx0IHRvIHRoZSA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlcg0KPg0KPiArICBzcGVj aWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIGlzDQo+DQo+ICsgIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3Vh cmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZQ0KPiBvcGVyYXRpb25zDQo+DQo+ICsg IGFyZSBzZXJpYWxpemVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZG LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRk cmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+ DQo+ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEg IFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4N Cj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+ DQo+ICtFRklBUEkNCj4NCj4gK1BjaUV4cHJlc3NPcjggKA0KPg0KPiArICBJTiAgICAgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgIE9yRGF0YQ0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIEFTU0VS VF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTsNCj4NCj4gKyAgcmV0dXJuIE1taW9Pcjgg KChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICsgQWRkcmVzcywNCj4gT3JEYXRh KTsNCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFBlcmZvcm1zIGEgYml0d2lz ZSBBTkQgb2YgYW4gOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgd2l0aCBhbiA4LWJp dA0KPg0KPiArICB2YWx1ZS4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgOC1iaXQgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGENCj4N Cj4gKyAgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBz cGVjaWZpZWQgYnkgQW5kRGF0YSwNCj4gYW5kDQo+DQo+ICsgIHdyaXRlcyB0aGUgcmVzdWx0IHRv IHRoZSA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkNCj4NCj4g KyAgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyIGlzIHJldHVybmVkLg0KPg0KPiArICBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVl IHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZQ0KPg0KPiArICBzZXJp YWxpemVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFT U0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0 IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+DQo+ICsgICAg ICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBBbmREYXRhIFRoZSB2YWx1 ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4N Cj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtVSU5UOA0KPg0KPiArRUZJ QVBJDQo+DQo+ICtQY2lFeHByZXNzQW5kOCAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgQW5kRGF0YQ0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIEFTU0VSVF9JTlZB TElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTsNCj4NCj4gKyAgcmV0dXJuIE1taW9BbmQ4ICgoVUlO VE4pIEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSArIEFkZHJlc3MsDQo+IEFuZERhdGEpOw0K Pg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgUGVyZm9ybXMgYSBiaXR3aXNlIEFO RCBvZiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB3aXRoIGFuIDgtYml0DQo+ DQo+ICsgIHZhbHVlLCBmb2xsb3dlZCBhICBiaXR3aXNlIE9SIHdpdGggYW5vdGhlciA4LWJpdCB2 YWx1ZS4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGENCj4NCj4gKyAgYml0d2lz ZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkg QW5kRGF0YSwNCj4NCj4gKyAgcGVyZm9ybXMgYSBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJlc3Vs dCBvZiB0aGUgQU5EIG9wZXJhdGlvbiBhbmQNCj4NCj4gKyAgdGhlIHZhbHVlIHNwZWNpZmllZCBi eSBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgOC1iaXQgUENJDQo+DQo+ICsg IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3 cml0dGVuIHRvIHRoZSBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcyByZXR1 cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kNCj4NCj4gKyAg cmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4NCj4NCj4gKw0KPg0KPiAr ICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiAr ICBAcGFyYW0gIEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBE ZXZpY2UsIEZ1bmN0aW9uDQo+IGFuZA0KPg0KPiArICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIu DQo+DQo+ICsgIEBwYXJhbSAgQW5kRGF0YSBUaGUgdmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArICBAcGFyYW0gIE9yRGF0YSAgVGhlIHZhbHVl IHRvIE9SIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbi4NCj4NCj4gKw0KPg0K PiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+DQo+ICtFRklB UEkNCj4NCj4gK1BjaUV4cHJlc3NBbmRUaGVuT3I4ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgIEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVDggICAgICAg ICAgICAgICAgICAgICBBbmREYXRhLA0KPg0KPiArICBJTiAgICAgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFM SURfUENJX0FERFJFU1MgKEFkZHJlc3MpOw0KPg0KPiArICByZXR1cm4gTW1pb0FuZFRoZW5Pcjgg KA0KPg0KPiArICAgICAgICAgICAoVUlOVE4pIEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSAr IEFkZHJlc3MsDQo+DQo+ICsgICAgICAgICAgIEFuZERhdGEsDQo+DQo+ICsgICAgICAgICAgIE9y RGF0YQ0KPg0KPiArICAgICAgICAgICApOw0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4N Cj4gKyAgUmVhZHMgYSBiaXQgZmllbGQgb2YgYSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4N Cj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgYml0IGZpZWxkIGluIGFuIDgtYml0IFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyLiBUaGUgYml0IGZpZWxkIGlzDQo+DQo+ICsgIHNwZWNpZmllZCBi eSB0aGUgU3RhcnRCaXQgYW5kIHRoZSBFbmRCaXQuIFRoZSB2YWx1ZSBvZiB0aGUgYml0IGZpZWxk IGlzDQo+DQo+ICsgIHJldHVybmVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBG RkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRo YW4gNywgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiA3 LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0 LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyAgIFRoZSBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB0byByZWFkLg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0 Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQg ZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJhbmdlIDAuLjcuDQo+DQo+ICsgIEBw YXJhbSAgRW5kQml0ICAgIFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBp biB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAgICBSYW5nZSAwLi43Lg0K Pg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIG9mIHRoZSBiaXQgZmllbGQgcmVhZCBm cm9tIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiovDQo+ DQo+ICtVSU5UOA0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHByZXNzQml0RmllbGRSZWFkOCAo DQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0K PiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsg IElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBFbmRCaXQNCj4NCj4gKyAgKQ0KPg0K PiArew0KPg0KPiArICBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7DQo+DQo+ ICsgIHJldHVybiBNbWlvQml0RmllbGRSZWFkOCAoDQo+DQo+ICsgICAgICAgICAgIChVSU5UTikg R2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICsgQWRkcmVzcywNCj4NCj4gKyAgICAgICAgICAg U3RhcnRCaXQsDQo+DQo+ICsgICAgICAgICAgIEVuZEJpdA0KPg0KPiArICAgICAgICAgICApOw0K Pg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgV3JpdGVzIGEgYml0IGZpZWxkIHRv IGEgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgV3JpdGVzIFZh bHVlIHRvIHRoZSBiaXQgZmllbGQgb2YgdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLiBU aGUgYml0DQo+DQo+ICsgIGZpZWxkIGlzIHNwZWNpZmllZCBieSB0aGUgU3RhcnRCaXQgYW5kIHRo ZSBFbmRCaXQuIEFsbCBvdGhlciBiaXRzIGluIHRoZQ0KPg0KPiArICBkZXN0aW5hdGlvbiBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlciBhcmUgcHJlc2VydmVkLiBUaGUgbmV3IHZhbHVlIG9mIHRo ZQ0KPg0KPiArICA4LWJpdCByZWdpc3RlciBpcyByZXR1cm5lZC4NCj4NCj4gKw0KPg0KPiArICBJ ZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgU3RhcnRC aXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBp cyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGxl c3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgVmFsdWUgaXMgbGFy Z2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFu ZA0KPiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRy ZXNzICAgVGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLg0KPg0KPiArICBA cGFyYW0gIFN0YXJ0Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0 IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJhbmdlIDAuLjcu DQo+DQo+ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25p ZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAgICBS YW5nZSAwLi43Lg0KPg0KPiArICBAcGFyYW0gIFZhbHVlICAgICBUaGUgbmV3IHZhbHVlIG9mIHRo ZSBiaXQgZmllbGQuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBi YWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiov DQo+DQo+ICtVSU5UOA0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHByZXNzQml0RmllbGRXcml0 ZTggKA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywN Cj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0YXJ0Qml0LA0KPg0K PiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgRW5kQml0LA0KPg0KPiArICBJ TiAgICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgVmFsdWUNCj4NCj4gKyAgKQ0KPg0KPiAr ew0KPg0KPiArICBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7DQo+DQo+ICsg IHJldHVybiBNbWlvQml0RmllbGRXcml0ZTggKA0KPg0KPiArICAgICAgICAgICAoVUlOVE4pIEdl dFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSArIEFkZHJlc3MsDQo+DQo+ICsgICAgICAgICAgIFN0 YXJ0Qml0LA0KPg0KPiArICAgICAgICAgICBFbmRCaXQsDQo+DQo+ICsgICAgICAgICAgIFZhbHVl DQo+DQo+ICsgICAgICAgICAgICk7DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiAr ICBSZWFkcyBhIGJpdCBmaWVsZCBpbiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiwgcGVyZm9y bXMgYSBiaXR3aXNlIE9SLCBhbmQNCj4NCj4gKyAgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0 aGUgYml0IGZpZWxkIGluIHRoZSA4LWJpdCBwb3J0Lg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRo ZSA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywg cGVyZm9ybXMgYQ0KPg0KPiArICBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFu ZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5DQo+DQo+ICsgIE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUg cmVzdWx0IHRvIHRoZSA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlcg0KPg0KPiArICBz cGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1 cmF0aW9uIHJlZ2lzdGVyIGlzDQo+DQo+ICsgIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3Qg Z3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZQ0KPiBvcGVyYXRpb25zDQo+DQo+ ICsgIGFyZSBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMgaW4gT3JEYXRhIGFyZSBzdHJpcHBl ZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQo KS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRoZW4gQVNTRVJUKCku DQo+DQo+ICsgIElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS4NCj4N Cj4gKyAgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4N Cj4gKyAgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNw ZWNpZmllZCBieSBTdGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiAr DQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ciB0byB3cml0ZS4NCj4NCj4gKyAgQHBhcmFtICBTdGFydEJpdCAgVGhlIG9yZGluYWwgb2YgdGhl IGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAg ICAgICAgICAgICBSYW5nZSAwLi43Lg0KPg0KPiArICBAcGFyYW0gIEVuZEJpdCAgICBUaGUgb3Jk aW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4g KyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uNy4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEg ICAgVGhlIHZhbHVlIHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0K Pg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDgN Cj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc0JpdEZpZWxkT3I4ICgNCj4NCj4gKyAgSU4g ICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAg VUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFydEJpdCwNCj4NCj4gKyAgSU4gICAgICBVSU5U TiAgICAgICAgICAgICAgICAgICAgIEVuZEJpdCwNCj4NCj4gKyAgSU4gICAgICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgIE9yRGF0YQ0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIEFTU0VS VF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTsNCj4NCj4gKyAgcmV0dXJuIE1taW9CaXRG aWVsZE9yOCAoDQo+DQo+ICsgICAgICAgICAgIChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRy ZXNzICgpICsgQWRkcmVzcywNCj4NCj4gKyAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgICAg ICAgICAgIEVuZEJpdCwNCj4NCj4gKyAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICAgICAgICAg ICk7DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBSZWFkcyBhIGJpdCBmaWVs ZCBpbiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciwgcGVyZm9ybXMgYSBiaXR3 aXNlDQo+DQo+ICsgIEFORCwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBm aWVsZCBpbiB0aGUgOC1iaXQgcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIDgt Yml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJm b3JtcyBhDQo+DQo+ICsgIGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0 aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsDQo+IGFuZA0KPg0KPiArICB3cml0ZXMgdGhl IHJlc3VsdCB0byB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVk IGJ5DQo+DQo+ICsgIEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3RlciBpcyByZXR1cm5lZC4NCj4NCj4gKyAgVGhpcyBmdW5jdGlvbiBtdXN0 IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUNCj4N Cj4gKyAgc2VyaWFsaXplZC4gRXh0cmEgbGVmdCBiaXRzIGluIEFuZERhdGEgYXJlIHN0cmlwcGVk Lg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgp Lg0KPg0KPiArICBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS4N Cj4NCj4gKyAgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVuIEFTU0VSVCgpLg0KPg0K PiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLg0KPg0K PiArICBJZiBBbmREYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNw ZWNpZmllZCBieSBTdGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiAr DQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ciB0byB3cml0ZS4NCj4NCj4gKyAgQHBhcmFtICBTdGFydEJpdCAgVGhlIG9yZGluYWwgb2YgdGhl IGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAg ICAgICAgICAgICBSYW5nZSAwLi43Lg0KPg0KPiArICBAcGFyYW0gIEVuZEJpdCAgICBUaGUgb3Jk aW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4g KyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uNy4NCj4NCj4gKyAgQHBhcmFtICBBbmREYXRh ICAgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4N Cj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4 DQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUV4cHJlc3NCaXRGaWVsZEFuZDggKA0KPg0KPiArICBJ TiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4gKyAgSU4gICAg ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0YXJ0Qml0LA0KPg0KPiArICBJTiAgICAgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgRW5kQml0LA0KPg0KPiArICBJTiAgICAgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgICAgQW5kRGF0YQ0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIEFT U0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTsNCj4NCj4gKyAgcmV0dXJuIE1taW9C aXRGaWVsZEFuZDggKA0KPg0KPiArICAgICAgICAgICAoVUlOVE4pIEdldFBjaUV4cHJlc3NCYXNl QWRkcmVzcyAoKSArIEFkZHJlc3MsDQo+DQo+ICsgICAgICAgICAgIFN0YXJ0Qml0LA0KPg0KPiAr ICAgICAgICAgICBFbmRCaXQsDQo+DQo+ICsgICAgICAgICAgIEFuZERhdGENCj4NCj4gKyAgICAg ICAgICAgKTsNCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRzIGEgYml0 IGZpZWxkIGluIGFuIDgtYml0IHBvcnQsIHBlcmZvcm1zIGEgYml0d2lzZSBBTkQgZm9sbG93ZWQg YnkgYQ0KPg0KPiArICBiaXR3aXNlIE9SLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0 aGUgYml0IGZpZWxkIGluIHRoZQ0KPg0KPiArICA4LWJpdCBwb3J0Lg0KPg0KPiArDQo+DQo+ICsg IFJlYWRzIHRoZSA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkg QWRkcmVzcywgcGVyZm9ybXMgYQ0KPg0KPiArICBiaXR3aXNlIEFORCBmb2xsb3dlZCBieSBhIGJp dHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kDQo+DQo+ICsgIHRoZSB2YWx1ZSBz cGVjaWZpZWQgYnkgQW5kRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSA4LWJpdCBQ Q0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4g VGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSQ0KPg0KPiArICBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBD SQ0KPg0KPiArICByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLiBFeHRy YSBsZWZ0IGJpdHMgaW4gYm90aCBBbmREYXRhIGFuZA0KPg0KPiArICBPckRhdGEgYXJlIHN0cmlw cGVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArICBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQo KS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVuIEFTU0VSVCgpLg0K Pg0KPiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLg0K Pg0KPiArICBJZiBBbmREYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdl IHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0KPg0K PiArICBJZiBPckRhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3Bl Y2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZA0KPiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsN Cj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzICAgVGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy IHRvIHdyaXRlLg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUg bGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAg ICAgICAgICAgIFJhbmdlIDAuLjcuDQo+DQo+ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRp bmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiAr ICAgICAgICAgICAgICAgICAgICBSYW5nZSAwLi43Lg0KPg0KPiArICBAcGFyYW0gIEFuZERhdGEg ICBUaGUgdmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0K Pg0KPiArICBAcGFyYW0gIE9yRGF0YSAgICBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0aGUgcmVzdWx0 IG9mIHRoZSBBTkQgb3BlcmF0aW9uLg0KPg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVl IHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsN Cj4NCj4gKyoqLw0KPg0KPiArVUlOVDgNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc0Jp dEZpZWxkQW5kVGhlbk9yOCAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAg U3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBFbmRC aXQsDQo+DQo+ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICBBbmREYXRhLA0K Pg0KPiArICBJTiAgICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsg ICkNCj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3Mp Ow0KPg0KPiArICByZXR1cm4gTW1pb0JpdEZpZWxkQW5kVGhlbk9yOCAoDQo+DQo+ICsgICAgICAg ICAgIChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICsgQWRkcmVzcywNCj4NCj4g KyAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgICAgICAgICAgIEVuZEJpdCwNCj4NCj4gKyAg ICAgICAgICAgQW5kRGF0YSwNCj4NCj4gKyAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICAgICAg ICAgICk7DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBSZWFkcyBhIDE2LWJp dCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyBhbmQg cmV0dXJucyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBi eQ0KPiBBZGRyZXNzLg0KPg0KPiArICBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQg YWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZQ0KPg0KPiArICBzZXJpYWxpemVk Lg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgp Lg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5 LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRk cmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+ DQo+ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJu IFRoZSByZWFkIHZhbHVlIGZyb20gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0K PiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQxNg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHBy ZXNzUmVhZDE2ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFk ZHJlc3MNCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBBU1NFUlRfSU5WQUxJRF9QQ0lfQURE UkVTUyAoQWRkcmVzcyk7DQo+DQo+ICsgIHJldHVybiBNbWlvUmVhZDE2ICgoVUlOVE4pIEdldFBj aUV4cHJlc3NCYXNlQWRkcmVzcyAoKSArIEFkZHJlc3MpOw0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ ICsvKioNCj4NCj4gKyAgV3JpdGVzIGEgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy Lg0KPg0KPiArDQo+DQo+ICsgIFdyaXRlcyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzIHdpdGggdGhlDQo+DQo+ICsgIHZhbHVlIHNwZWNp ZmllZCBieSBWYWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFy YW50ZWUNCj4NCj4gKyAgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJl IHNlcmlhbGl6ZWQuDQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRo ZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAxNi1i aXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRy ZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlv bg0KPiBhbmQNCj4NCj4gKyAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyLg0KPg0KPiArICBAcGFy YW0gIFZhbHVlICAgVGhlIHZhbHVlIHRvIHdyaXRlLg0KPg0KPiArDQo+DQo+ICsgIEByZXR1cm4g VGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0K PiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQxNg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHBy ZXNzV3JpdGUxNiAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBB ZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgVmFsdWUN Cj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAo QWRkcmVzcyk7DQo+DQo+ICsgIHJldHVybiBNbWlvV3JpdGUxNiAoKFVJTlROKSBHZXRQY2lFeHBy ZXNzQmFzZUFkZHJlc3MgKCkgKyBBZGRyZXNzLA0KPiBWYWx1ZSk7DQo+DQo+ICt9DQo+DQo+ICsN Cj4NCj4gKy8qKg0KPg0KPiArICBQZXJmb3JtcyBhIGJpdHdpc2UgT1Igb2YgYSAxNi1iaXQgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgd2l0aA0KPg0KPiArICBhIDE2LWJpdCB2YWx1ZS4NCj4N Cj4gKw0KPg0KPiArICBSZWFkcyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy IHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtcw0KPiBhDQo+DQo+ICsgIGJpdHdpc2UgT1Ig YmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkNCj4NCj4g KyAgT3JEYXRhLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDE2LWJpdCBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3Rlcg0KPg0KPiArICBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVl IHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzDQo+DQo+ICsgIHJl dHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFu ZCB3cml0ZQ0KPiBvcGVyYXRpb25zDQo+DQo+ICsgIGFyZSBzZXJpYWxpemVkLg0KPg0KPiArDQo+ DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJ ZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVu Y29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+DQo+ICsgICAgICAg ICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEgIFRoZSB2YWx1ZSB0 byBPUiB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiAr ICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQxNg0KPg0KPiArRUZJQVBJ DQo+DQo+ICtQY2lFeHByZXNzT3IxNiAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAgICAg ICAgICAgT3JEYXRhDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURf UENJX0FERFJFU1MgKEFkZHJlc3MpOw0KPg0KPiArICByZXR1cm4gTW1pb09yMTYgKChVSU5UTikg R2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICsgQWRkcmVzcywNCj4gT3JEYXRhKTsNCj4NCj4g K30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFBlcmZvcm1zIGEgYml0d2lzZSBBTkQgb2Yg YSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgd2l0aCBhIDE2LWJpdA0KPg0KPiAr ICB2YWx1ZS4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtcw0KPiBhDQo+DQo+ICsg IGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lm aWVkIGJ5IEFuZERhdGEsDQo+IGFuZA0KPg0KPiArICB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUg MTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieQ0KPg0KPiArICBB ZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIgaXMgcmV0dXJuZWQuDQo+DQo+ICsgIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhh dCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlDQo+DQo+ICsgIHNlcmlhbGl6 ZWQuDQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJU KCkuDQo+DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRh cnksIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBh ZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbg0KPiBhbmQN Cj4NCj4gKyAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyLg0KPg0KPiArICBAcGFyYW0gIEFuZERh dGEgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4N Cj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQx Ng0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHByZXNzQW5kMTYgKA0KPg0KPiArICBJTiAgICAg IFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5U MTYgICAgICAgICAgICAgICAgICAgIEFuZERhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiAr ICBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7DQo+DQo+ICsgIHJldHVybiBN bWlvQW5kMTYgKChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICsgQWRkcmVzcywN Cj4gQW5kRGF0YSk7DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBQZXJmb3Jt cyBhIGJpdHdpc2UgQU5EIG9mIGEgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHdp dGggYSAxNi1iaXQNCj4NCj4gKyAgdmFsdWUsIGZvbGxvd2VkIGEgIGJpdHdpc2UgT1Igd2l0aCBh bm90aGVyIDE2LWJpdCB2YWx1ZS4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgMTYtYml0IFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtcw0K PiBhDQo+DQo+ICsgIGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUg dmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsDQo+DQo+ICsgIHBlcmZvcm1zIGEgYml0d2lzZSBP UiBiZXR3ZWVuIHRoZSByZXN1bHQgb2YgdGhlIEFORCBvcGVyYXRpb24gYW5kDQo+DQo+ICsgIHRo ZSB2YWx1ZSBzcGVjaWZpZWQgYnkgT3JEYXRhLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhl IDE2LWJpdCBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkg QWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSQ0KPg0KPiArICBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRo YXQgYWxsIFBDSQ0KPg0KPiArICByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxp emVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5k YXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUg YWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5k DQo+DQo+ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBBbmRE YXRhIFRoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIu DQo+DQo+ICsgIEBwYXJhbSAgT3JEYXRhICBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0aGUgcmVzdWx0 IG9mIHRoZSBBTkQgb3BlcmF0aW9uLg0KPg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVl IHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsN Cj4NCj4gKyoqLw0KPg0KPiArVUlOVDE2DQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUV4cHJlc3NB bmRUaGVuT3IxNiAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBB ZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgQW5kRGF0 YSwNCj4NCj4gKyAgSU4gICAgICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIE9yRGF0YQ0KPg0K PiArICApDQo+DQo+ICt7DQo+DQo+ICsgIEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRy ZXNzKTsNCj4NCj4gKyAgcmV0dXJuIE1taW9BbmRUaGVuT3IxNiAoDQo+DQo+ICsgICAgICAgICAg IChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICsgQWRkcmVzcywNCj4NCj4gKyAg ICAgICAgICAgQW5kRGF0YSwNCj4NCj4gKyAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICAgICAg ICAgICk7DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBSZWFkcyBhIGJpdCBm aWVsZCBvZiBhIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIFJl YWRzIHRoZSBiaXQgZmllbGQgaW4gYSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIu IFRoZSBiaXQgZmllbGQgaXMNCj4NCj4gKyAgc3BlY2lmaWVkIGJ5IHRoZSBTdGFydEJpdCBhbmQg dGhlIEVuZEJpdC4gVGhlIHZhbHVlIG9mIHRoZSBiaXQgZmllbGQgaXMNCj4NCj4gKyAgcmV0dXJu ZWQuDQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJU KCkuDQo+DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRh cnksIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiAx NSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiAxNSwg dGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwg dGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgICBUaGUgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gcmVhZC4NCj4NCj4gKyAgQHBhcmFtICBTdGFydEJp dCAgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZp ZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAgICBSYW5nZSAwLi4xNS4NCj4NCj4gKyAgQHBh cmFtICBFbmRCaXQgICAgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0IGlu IHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJhbmdlIDAuLjE1Lg0K Pg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIG9mIHRoZSBiaXQgZmllbGQgcmVhZCBm cm9tIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiovDQo+ DQo+ICtVSU5UMTYNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc0JpdEZpZWxkUmVhZDE2 ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3MsDQo+ DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFydEJpdCwNCj4NCj4g KyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEVuZEJpdA0KPg0KPiArICApDQo+ DQo+ICt7DQo+DQo+ICsgIEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTsNCj4N Cj4gKyAgcmV0dXJuIE1taW9CaXRGaWVsZFJlYWQxNiAoDQo+DQo+ICsgICAgICAgICAgIChVSU5U TikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICsgQWRkcmVzcywNCj4NCj4gKyAgICAgICAg ICAgU3RhcnRCaXQsDQo+DQo+ICsgICAgICAgICAgIEVuZEJpdA0KPg0KPiArICAgICAgICAgICAp Ow0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgV3JpdGVzIGEgYml0IGZpZWxk IHRvIGEgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgV3JpdGVz IFZhbHVlIHRvIHRoZSBiaXQgZmllbGQgb2YgdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy LiBUaGUgYml0DQo+DQo+ICsgIGZpZWxkIGlzIHNwZWNpZmllZCBieSB0aGUgU3RhcnRCaXQgYW5k IHRoZSBFbmRCaXQuIEFsbCBvdGhlciBiaXRzIGluIHRoZQ0KPg0KPiArICBkZXN0aW5hdGlvbiBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBhcmUgcHJlc2VydmVkLiBUaGUgbmV3IHZhbHVlIG9m IHRoZQ0KPg0KPiArICAxNi1iaXQgcmVnaXN0ZXIgaXMgcmV0dXJuZWQuDQo+DQo+ICsNCj4NCj4g KyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFk ZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCku DQo+DQo+ICsgIElmIFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiAxNSwgdGhlbiBBU1NFUlQoKS4N Cj4NCj4gKyAgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiAxNSwgdGhlbiBBU1NFUlQoKS4NCj4N Cj4gKyAgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4N Cj4gKyAgSWYgVmFsdWUgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3Bl Y2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZA0KPiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsN Cj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzICAgVGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy IHRvIHdyaXRlLg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUg bGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAg ICAgICAgICAgIFJhbmdlIDAuLjE1Lg0KPg0KPiArICBAcGFyYW0gIEVuZEJpdCAgICBUaGUgb3Jk aW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4g KyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uMTUuDQo+DQo+ICsgIEBwYXJhbSAgVmFsdWUg ICAgIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGJpdCBmaWVsZC4NCj4NCj4gKw0KPg0KPiArICBAcmV0 dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQxNg0KPg0KPiArRUZJQVBJDQo+DQo+ ICtQY2lFeHByZXNzQml0RmllbGRXcml0ZTE2ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICBTdGFydEJpdCwNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgIEVuZEJpdCwNCj4NCj4gKyAgSU4gICAgICBVSU5UMTYgICAgICAgICAgICAgICAgICAg IFZhbHVlDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FE RFJFU1MgKEFkZHJlc3MpOw0KPg0KPiArICByZXR1cm4gTW1pb0JpdEZpZWxkV3JpdGUxNiAoDQo+ DQo+ICsgICAgICAgICAgIChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICsgQWRk cmVzcywNCj4NCj4gKyAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgICAgICAgICAgIEVuZEJp dCwNCj4NCj4gKyAgICAgICAgICAgVmFsdWUNCj4NCj4gKyAgICAgICAgICAgKTsNCj4NCj4gK30N Cj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRzIGEgYml0IGZpZWxkIGluIGEgMTYtYml0 IFBDSSBjb25maWd1cmF0aW9uLCBwZXJmb3JtcyBhIGJpdHdpc2UgT1IsIGFuZA0KPg0KPiArICB3 cml0ZXMgdGhlIHJlc3VsdCBiYWNrIHRvIHRoZSBiaXQgZmllbGQgaW4gdGhlIDE2LWJpdCBwb3J0 Lg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVn aXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zDQo+IGENCj4NCj4gKyAgYml0d2lz ZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBieQ0K Pg0KPiArICBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgMTYtYml0IFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyDQo+DQo+ICsgIHNwZWNpZmllZCBieSBBZGRyZXNzLiBUaGUg dmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgaXMNCj4NCj4g KyAgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgUENJIHJl YWQgYW5kIHdyaXRlDQo+IG9wZXJhdGlvbnMNCj4NCj4gKyAgYXJlIHNlcmlhbGl6ZWQuIEV4dHJh IGxlZnQgYml0cyBpbiBPckRhdGEgYXJlIHN0cmlwcGVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFk ZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlz IG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiAr ICBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsg IElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElm IEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElm IE9yRGF0YSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1ZSByYW5nZSBzcGVjaWZpZWQg YnkgU3RhcnRCaXQgYW5kDQo+IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiAr ICBAcGFyYW0gIEFkZHJlc3MgICBUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3Jp dGUuDQo+DQo+ICsgIEBwYXJhbSAgU3RhcnRCaXQgIFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBz aWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAg ICAgUmFuZ2UgMC4uMTUuDQo+DQo+ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRpbmFsIG9m IHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAg ICAgICAgICAgICAgICBSYW5nZSAwLi4xNS4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEgICAgVGhl IHZhbHVlIHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiAr DQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDE2DQo+DQo+ ICtFRklBUEkNCj4NCj4gK1BjaUV4cHJlc3NCaXRGaWVsZE9yMTYgKA0KPg0KPiArICBJTiAgICAg IFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5U TiAgICAgICAgICAgICAgICAgICAgIFN0YXJ0Qml0LA0KPg0KPiArICBJTiAgICAgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgRW5kQml0LA0KPg0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAg ICAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lO VkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOw0KPg0KPiArICByZXR1cm4gTW1pb0JpdEZpZWxk T3IxNiAoDQo+DQo+ICsgICAgICAgICAgIChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNz ICgpICsgQWRkcmVzcywNCj4NCj4gKyAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgICAgICAg ICAgIEVuZEJpdCwNCj4NCj4gKyAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICAgICAgICAgICk7 DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBSZWFkcyBhIGJpdCBmaWVsZCBp biBhIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciwgcGVyZm9ybXMgYSBiaXR3aXNl DQo+DQo+ICsgIEFORCwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVs ZCBpbiB0aGUgMTYtYml0IHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSAxNi1i aXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZv cm1zDQo+IGENCj4NCj4gKyAgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5k IHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSwNCj4gYW5kDQo+DQo+ICsgIHdyaXRlcyB0 aGUgcmVzdWx0IHRvIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lm aWVkIGJ5DQo+DQo+ICsgIEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlciBpcyByZXR1cm5lZC4NCj4NCj4gKyAgVGhpcyBmdW5jdGlvbiBt dXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUN Cj4NCj4gKyAgc2VyaWFsaXplZC4gRXh0cmEgbGVmdCBiaXRzIGluIEFuZERhdGEgYXJlIHN0cmlw cGVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5k YXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4g MTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMTUs IHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQs IHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFuZERhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJp dG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZA0KPiBFbmRCaXQsIHRo ZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzICAgVGhlIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0Qml0 ICBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmll bGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJhbmdlIDAuLjE1Lg0KPg0KPiArICBAcGFy YW0gIEVuZEJpdCAgICBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4g dGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uMTUuDQo+ DQo+ICsgIEBwYXJhbSAgQW5kRGF0YSAgIFRoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUg d3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0K Pg0KPiArKiovDQo+DQo+ICtVSU5UMTYNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc0Jp dEZpZWxkQW5kMTYgKA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAg QWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0YXJ0 Qml0LA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgRW5kQml0LA0K Pg0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgQW5kRGF0YQ0KPg0KPiAr ICApDQo+DQo+ICt7DQo+DQo+ICsgIEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNz KTsNCj4NCj4gKyAgcmV0dXJuIE1taW9CaXRGaWVsZEFuZDE2ICgNCj4NCj4gKyAgICAgICAgICAg KFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgKyBBZGRyZXNzLA0KPg0KPiArICAg ICAgICAgICBTdGFydEJpdCwNCj4NCj4gKyAgICAgICAgICAgRW5kQml0LA0KPg0KPiArICAgICAg ICAgICBBbmREYXRhDQo+DQo+ICsgICAgICAgICAgICk7DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4g Ky8qKg0KPg0KPiArICBSZWFkcyBhIGJpdCBmaWVsZCBpbiBhIDE2LWJpdCBwb3J0LCBwZXJmb3Jt cyBhIGJpdHdpc2UgQU5EIGZvbGxvd2VkIGJ5IGENCj4NCj4gKyAgYml0d2lzZSBPUiwgYW5kIHdy aXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGUNCj4NCj4gKyAgMTYt Yml0IHBvcnQuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIDE2LWJpdCBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMNCj4gYQ0KPg0KPiAr ICBiaXR3aXNlIEFORCBmb2xsb3dlZCBieSBhIGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVhZCBy ZXN1bHQgYW5kDQo+DQo+ICsgIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSwgYW5kIHdy aXRlcyB0aGUgcmVzdWx0IHRvIHRoZSAxNi1iaXQgUENJDQo+DQo+ICsgIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQ Q0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcyByZXR1cm5lZC4gVGhpcyBmdW5j dGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kNCj4NCj4gKyAgcmVhZCBhbmQgd3JpdGUg b3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4gRXh0cmEgbGVmdCBiaXRzIGluIGJvdGggQW5kRGF0 YSBhbmQNCj4NCj4gKyAgT3JEYXRhIGFyZSBzdHJpcHBlZC4NCj4NCj4gKw0KPg0KPiArICBJZiBB ZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgQWRkcmVzcyBp cyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4g KyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDE1LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiAr ICBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDE1LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJ ZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJ ZiBBbmREYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmll ZCBieSBTdGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBP ckRhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5 IFN0YXJ0Qml0IGFuZA0KPiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAg QHBhcmFtICBBZGRyZXNzICAgVGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRl Lg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2ln bmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAg IFJhbmdlIDAuLjE1Lg0KPg0KPiArICBAcGFyYW0gIEVuZEJpdCAgICBUaGUgb3JkaW5hbCBvZiB0 aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAg ICAgICAgICAgICAgUmFuZ2UgMC4uMTUuDQo+DQo+ICsgIEBwYXJhbSAgQW5kRGF0YSAgIFRoZSB2 YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsg IEBwYXJhbSAgT3JEYXRhICAgIFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSByZXN1bHQgb2YgdGhl IEFORCBvcGVyYXRpb24uDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRl biBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiAr KiovDQo+DQo+ICtVSU5UMTYNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc0JpdEZpZWxk QW5kVGhlbk9yMTYgKA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAg QWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0YXJ0 Qml0LA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgRW5kQml0LA0K Pg0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgQW5kRGF0YSwNCj4NCj4g KyAgSU4gICAgICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIE9yRGF0YQ0KPg0KPiArICApDQo+ DQo+ICt7DQo+DQo+ICsgIEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTsNCj4N Cj4gKyAgcmV0dXJuIE1taW9CaXRGaWVsZEFuZFRoZW5PcjE2ICgNCj4NCj4gKyAgICAgICAgICAg KFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgKyBBZGRyZXNzLA0KPg0KPiArICAg ICAgICAgICBTdGFydEJpdCwNCj4NCj4gKyAgICAgICAgICAgRW5kQml0LA0KPg0KPiArICAgICAg ICAgICBBbmREYXRhLA0KPg0KPiArICAgICAgICAgICBPckRhdGENCj4NCj4gKyAgICAgICAgICAg KTsNCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRzIGEgMzItYml0IFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIGFuZCByZXR1 cm5zIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5DQo+ IEFkZHJlc3MuDQo+DQo+ICsgIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwg UENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlDQo+DQo+ICsgIHNlcmlhbGl6ZWQuDQo+ DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+ DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnksIHRo ZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBhZGRyZXNz IHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbg0KPiBhbmQNCj4NCj4g KyAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhl IHJlYWQgdmFsdWUgZnJvbSB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsN Cj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUV4cHJlc3NS ZWFkMzIgKA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVz cw0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNT IChBZGRyZXNzKTsNCj4NCj4gKyAgcmV0dXJuIE1taW9SZWFkMzIgKChVSU5UTikgR2V0UGNpRXhw cmVzc0Jhc2VBZGRyZXNzICgpICsgQWRkcmVzcyk7DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8q Kg0KPg0KPiArICBXcml0ZXMgYSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+ DQo+ICsNCj4NCj4gKyAgV3JpdGVzIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3Mgd2l0aCB0aGUNCj4NCj4gKyAgdmFsdWUgc3BlY2lmaWVk IGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRl ZQ0KPg0KPiArICB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2Vy aWFsaXplZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBB U1NFUlQoKS4NCj4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBi b3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3Mg VGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uDQo+ IGFuZA0KPg0KPiArICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIuDQo+DQo+ICsgIEBwYXJhbSAg VmFsdWUgICBUaGUgdmFsdWUgdG8gd3JpdGUuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUg dmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsN Cj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUV4cHJlc3NX cml0ZTMyICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJl c3MsDQo+DQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBWYWx1ZQ0KPg0K PiArICApDQo+DQo+ICt7DQo+DQo+ICsgIEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRy ZXNzKTsNCj4NCj4gKyAgcmV0dXJuIE1taW9Xcml0ZTMyICgoVUlOVE4pIEdldFBjaUV4cHJlc3NC YXNlQWRkcmVzcyAoKSArIEFkZHJlc3MsDQo+IFZhbHVlKTsNCj4NCj4gK30NCj4NCj4gKw0KPg0K PiArLyoqDQo+DQo+ICsgIFBlcmZvcm1zIGEgYml0d2lzZSBPUiBvZiBhIDMyLWJpdCBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlciB3aXRoDQo+DQo+ICsgIGEgMzItYml0IHZhbHVlLg0KPg0KPiAr DQo+DQo+ICsgIFJlYWRzIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3Bl Y2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zDQo+IGENCj4NCj4gKyAgYml0d2lzZSBPUiBiZXR3 ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBieQ0KPg0KPiArICBP ckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgMzItYml0IFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyDQo+DQo+ICsgIHNwZWNpZmllZCBieSBBZGRyZXNzLiBUaGUgdmFsdWUgd3Jp dHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgaXMNCj4NCj4gKyAgcmV0dXJu ZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdy aXRlDQo+IG9wZXJhdGlvbnMNCj4NCj4gKyAgYXJlIHNlcmlhbGl6ZWQuDQo+DQo+ICsNCj4NCj4g KyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFk ZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCku DQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2Rl cyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbg0KPiBhbmQNCj4NCj4gKyAgICAgICAgICAg ICAgICAgIFJlZ2lzdGVyLg0KPg0KPiArICBAcGFyYW0gIE9yRGF0YSAgVGhlIHZhbHVlIHRvIE9S IHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIEBy ZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVn aXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+DQo+ICtFRklBUEkNCj4N Cj4gK1BjaUV4cHJlc3NPcjMyICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgIEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAg ICBPckRhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBBU1NFUlRfSU5WQUxJRF9QQ0lf QUREUkVTUyAoQWRkcmVzcyk7DQo+DQo+ICsgIHJldHVybiBNbWlvT3IzMiAoKFVJTlROKSBHZXRQ Y2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgKyBBZGRyZXNzLA0KPiBPckRhdGEpOw0KPg0KPiArfQ0K Pg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgUGVyZm9ybXMgYSBiaXR3aXNlIEFORCBvZiBhIDMy LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB3aXRoIGEgMzItYml0DQo+DQo+ICsgIHZh bHVlLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zDQo+IGENCj4NCj4gKyAgYml0 d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQg YnkgQW5kRGF0YSwNCj4gYW5kDQo+DQo+ICsgIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSAzMi1i aXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5DQo+DQo+ICsgIEFkZHJl c3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBp cyByZXR1cm5lZC4NCj4NCj4gKyAgVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFs bCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUNCj4NCj4gKyAgc2VyaWFsaXplZC4N Cj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4N Cj4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwg dGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgVGhlIGFkZHJl c3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uDQo+IGFuZA0KPg0K PiArICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIuDQo+DQo+ICsgIEBwYXJhbSAgQW5kRGF0YSBU aGUgdmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0K PiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+ DQo+ICtFRklBUEkNCj4NCj4gK1BjaUV4cHJlc3NBbmQzMiAoDQo+DQo+ICsgIElOICAgICAgVUlO VE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlQzMiAg ICAgICAgICAgICAgICAgICAgQW5kRGF0YQ0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIEFT U0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTsNCj4NCj4gKyAgcmV0dXJuIE1taW9B bmQzMiAoKFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgKyBBZGRyZXNzLA0KPiBB bmREYXRhKTsNCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFBlcmZvcm1zIGEg Yml0d2lzZSBBTkQgb2YgYSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgd2l0aCBh IDMyLWJpdA0KPg0KPiArICB2YWx1ZSwgZm9sbG93ZWQgYSAgYml0d2lzZSBPUiB3aXRoIGFub3Ro ZXIgMzItYml0IHZhbHVlLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSAzMi1iaXQgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zDQo+IGEN Cj4NCj4gKyAgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1 ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSwNCj4NCj4gKyAgcGVyZm9ybXMgYSBiaXR3aXNlIE9SIGJl dHdlZW4gdGhlIHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbiBhbmQNCj4NCj4gKyAgdGhlIHZh bHVlIHNwZWNpZmllZCBieSBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgMzIt Yml0IFBDSQ0KPg0KPiArICBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRy ZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJDQo+DQo+ICsgIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBh bGwgUENJDQo+DQo+ICsgIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQu DQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCku DQo+DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnks IHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBhZGRy ZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbg0KPiBhbmQNCj4N Cj4gKyAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyLg0KPg0KPiArICBAcGFyYW0gIEFuZERhdGEg VGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4N Cj4gKyAgQHBhcmFtICBPckRhdGEgIFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSByZXN1bHQgb2Yg dGhlIEFORCBvcGVyYXRpb24uDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3Jp dHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0K PiArKiovDQo+DQo+ICtVSU5UMzINCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpRXhwcmVzc0FuZFRo ZW5PcjMyICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJl c3MsDQo+DQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBBbmREYXRhLA0K Pg0KPiArICBJTiAgICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsg ICkNCj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3Mp Ow0KPg0KPiArICByZXR1cm4gTW1pb0FuZFRoZW5PcjMyICgNCj4NCj4gKyAgICAgICAgICAgKFVJ TlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgKyBBZGRyZXNzLA0KPg0KPiArICAgICAg ICAgICBBbmREYXRhLA0KPg0KPiArICAgICAgICAgICBPckRhdGENCj4NCj4gKyAgICAgICAgICAg KTsNCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRzIGEgYml0IGZpZWxk IG9mIGEgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMg dGhlIGJpdCBmaWVsZCBpbiBhIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4gVGhl IGJpdCBmaWVsZCBpcw0KPg0KPiArICBzcGVjaWZpZWQgYnkgdGhlIFN0YXJ0Qml0IGFuZCB0aGUg RW5kQml0LiBUaGUgdmFsdWUgb2YgdGhlIGJpdCBmaWVsZCBpcw0KPg0KPiArICByZXR1cm5lZC4N Cj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4N Cj4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwg dGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0 aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVu IEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVu IEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlciB0byByZWFkLg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0Qml0ICBU aGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQu DQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJhbmdlIDAuLjMxLg0KPg0KPiArICBAcGFyYW0g IEVuZEJpdCAgICBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhl IGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uMzEuDQo+DQo+ ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGJpdCBmaWVsZCByZWFkIGZyb20g dGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4g K1VJTlQzMg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHByZXNzQml0RmllbGRSZWFkMzIgKA0K Pg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4g KyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0YXJ0Qml0LA0KPg0KPiArICBJ TiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgRW5kQml0DQo+DQo+ICsgICkNCj4NCj4g K3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOw0KPg0KPiAr ICByZXR1cm4gTW1pb0JpdEZpZWxkUmVhZDMyICgNCj4NCj4gKyAgICAgICAgICAgKFVJTlROKSBH ZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgKyBBZGRyZXNzLA0KPg0KPiArICAgICAgICAgICBT dGFydEJpdCwNCj4NCj4gKyAgICAgICAgICAgRW5kQml0DQo+DQo+ICsgICAgICAgICAgICk7DQo+ DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBXcml0ZXMgYSBiaXQgZmllbGQgdG8g YSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBXcml0ZXMgVmFs dWUgdG8gdGhlIGJpdCBmaWVsZCBvZiB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuIFRo ZSBiaXQNCj4NCj4gKyAgZmllbGQgaXMgc3BlY2lmaWVkIGJ5IHRoZSBTdGFydEJpdCBhbmQgdGhl IEVuZEJpdC4gQWxsIG90aGVyIGJpdHMgaW4gdGhlDQo+DQo+ICsgIGRlc3RpbmF0aW9uIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIGFyZSBwcmVzZXJ2ZWQuIFRoZSBuZXcgdmFsdWUgb2YgdGhl DQo+DQo+ICsgIDMyLWJpdCByZWdpc3RlciBpcyByZXR1cm5lZC4NCj4NCj4gKw0KPg0KPiArICBJ ZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgQWRkcmVz cyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4N Cj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgpLg0KPg0K PiArICBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiAr ICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiAr ICBJZiBWYWx1ZSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1ZSByYW5nZSBzcGVjaWZp ZWQgYnkgU3RhcnRCaXQgYW5kDQo+IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0K PiArICBAcGFyYW0gIEFkZHJlc3MgICBUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8g d3JpdGUuDQo+DQo+ICsgIEBwYXJhbSAgU3RhcnRCaXQgIFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFz dCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAg ICAgICAgUmFuZ2UgMC4uMzEuDQo+DQo+ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRpbmFs IG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAg ICAgICAgICAgICAgICAgICBSYW5nZSAwLi4zMS4NCj4NCj4gKyAgQHBhcmFtICBWYWx1ZSAgICAg VGhlIG5ldyB2YWx1ZSBvZiB0aGUgYml0IGZpZWxkLg0KPg0KPiArDQo+DQo+ICsgIEByZXR1cm4g VGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIu DQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+DQo+ICtFRklBUEkNCj4NCj4gK1Bj aUV4cHJlc3NCaXRGaWVsZFdyaXRlMzIgKA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgIFN0YXJ0Qml0LA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAg ICAgRW5kQml0LA0KPg0KPiArICBJTiAgICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgVmFs dWUNCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVT UyAoQWRkcmVzcyk7DQo+DQo+ICsgIHJldHVybiBNbWlvQml0RmllbGRXcml0ZTMyICgNCj4NCj4g KyAgICAgICAgICAgKFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgKyBBZGRyZXNz LA0KPg0KPiArICAgICAgICAgICBTdGFydEJpdCwNCj4NCj4gKyAgICAgICAgICAgRW5kQml0LA0K Pg0KPiArICAgICAgICAgICBWYWx1ZQ0KPg0KPiArICAgICAgICAgICApOw0KPg0KPiArfQ0KPg0K PiArDQo+DQo+ICsvKioNCj4NCj4gKyAgUmVhZHMgYSBiaXQgZmllbGQgaW4gYSAzMi1iaXQgUENJ IGNvbmZpZ3VyYXRpb24sIHBlcmZvcm1zIGEgYml0d2lzZSBPUiwgYW5kDQo+DQo+ICsgIHdyaXRl cyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGUgMzItYml0IHBvcnQuDQo+ DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMNCj4gYQ0KPg0KPiArICBiaXR3aXNlIE9S IGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5DQo+DQo+ ICsgIE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSAzMi1iaXQgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXINCj4NCj4gKyAgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1 ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcw0KPg0KPiArICBy ZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBh bmQgd3JpdGUNCj4gb3BlcmF0aW9ucw0KPg0KPiArICBhcmUgc2VyaWFsaXplZC4gRXh0cmEgbGVm dCBiaXRzIGluIE9yRGF0YSBhcmUgc3RyaXBwZWQuDQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVz cyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90 IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElm IFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiAzMSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYg RW5kQml0IGlzIGdyZWF0ZXIgdGhhbiAzMSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgRW5k Qml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgT3JE YXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBT dGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBw YXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB0byB3cml0ZS4N Cj4NCj4gKyAgQHBhcmFtICBTdGFydEJpdCAgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25p ZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAgICBS YW5nZSAwLi4zMS4NCj4NCj4gKyAgQHBhcmFtICBFbmRCaXQgICAgVGhlIG9yZGluYWwgb2YgdGhl IG1vc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAg ICAgICAgICAgIFJhbmdlIDAuLjMxLg0KPg0KPiArICBAcGFyYW0gIE9yRGF0YSAgICBUaGUgdmFs dWUgdG8gT1Igd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4N Cj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtVSU5UMzINCj4NCj4gK0VG SUFQSQ0KPg0KPiArUGNpRXhwcmVzc0JpdEZpZWxkT3IzMiAoDQo+DQo+ICsgIElOICAgICAgVUlO VE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICBFbmRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAg ICAgICAgICBPckRhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBBU1NFUlRfSU5WQUxJ RF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7DQo+DQo+ICsgIHJldHVybiBNbWlvQml0RmllbGRPcjMy ICgNCj4NCj4gKyAgICAgICAgICAgKFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkg KyBBZGRyZXNzLA0KPg0KPiArICAgICAgICAgICBTdGFydEJpdCwNCj4NCj4gKyAgICAgICAgICAg RW5kQml0LA0KPg0KPiArICAgICAgICAgICBPckRhdGENCj4NCj4gKyAgICAgICAgICAgKTsNCj4N Cj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRzIGEgYml0IGZpZWxkIGluIGEg MzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCBwZXJmb3JtcyBhIGJpdHdpc2UNCj4N Cj4gKyAgQU5ELCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0aGUgYml0IGZpZWxkIGlu IHRoZSAzMi1iaXQgcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIDMyLWJpdCBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMN Cj4gYQ0KPg0KPiArICBiaXR3aXNlIEFORCBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQgdGhl IHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLA0KPiBhbmQNCj4NCj4gKyAgd3JpdGVzIHRoZSBy ZXN1bHQgdG8gdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQg YnkNCj4NCj4gKyAgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1 cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLg0KPg0KPiArICBUaGlzIGZ1bmN0aW9uIG11c3Qg Z3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZQ0KPg0K PiArICBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMgaW4gQW5kRGF0YSBhcmUgc3RyaXBwZWQu DQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCku DQo+DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnks IHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiAzMSwg dGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiAzMSwgdGhl biBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhl biBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgQW5kRGF0YSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFz ayB2YWx1ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5kDQo+IEVuZEJpdCwgdGhlbiBB U1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgICBUaGUgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuDQo+DQo+ICsgIEBwYXJhbSAgU3RhcnRCaXQgIFRo ZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4N Cj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uMzEuDQo+DQo+ICsgIEBwYXJhbSAg RW5kQml0ICAgIFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUg Yml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAgICBSYW5nZSAwLi4zMS4NCj4NCj4g KyAgQHBhcmFtICBBbmREYXRhICAgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0 dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ ICsqKi8NCj4NCj4gK1VJTlQzMg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHByZXNzQml0Rmll bGRBbmQzMiAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRy ZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3RhcnRCaXQs DQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBFbmRCaXQsDQo+DQo+ ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBBbmREYXRhDQo+DQo+ICsgICkN Cj4NCj4gK3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOw0K Pg0KPiArICByZXR1cm4gTW1pb0JpdEZpZWxkQW5kMzIgKA0KPg0KPiArICAgICAgICAgICAoVUlO VE4pIEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSArIEFkZHJlc3MsDQo+DQo+ICsgICAgICAg ICAgIFN0YXJ0Qml0LA0KPg0KPiArICAgICAgICAgICBFbmRCaXQsDQo+DQo+ICsgICAgICAgICAg IEFuZERhdGENCj4NCj4gKyAgICAgICAgICAgKTsNCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoq DQo+DQo+ICsgIFJlYWRzIGEgYml0IGZpZWxkIGluIGEgMzItYml0IHBvcnQsIHBlcmZvcm1zIGEg Yml0d2lzZSBBTkQgZm9sbG93ZWQgYnkgYQ0KPg0KPiArICBiaXR3aXNlIE9SLCBhbmQgd3JpdGVz IHRoZSByZXN1bHQgYmFjayB0byB0aGUgYml0IGZpZWxkIGluIHRoZQ0KPg0KPiArICAzMi1iaXQg cG9ydC4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgMzItYml0IFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtcw0KPiBhDQo+DQo+ICsgIGJp dHdpc2UgQU5EIGZvbGxvd2VkIGJ5IGEgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3Vs dCBhbmQNCj4NCj4gKyAgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLCBhbmQgd3JpdGVz IHRoZSByZXN1bHQgdG8gdGhlIDMyLWJpdCBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdp c3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSQ0K Pg0KPiArICBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9u IG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSQ0KPg0KPiArICByZWFkIGFuZCB3cml0ZSBvcGVy YXRpb25zIGFyZSBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMgaW4gYm90aCBBbmREYXRhIGFu ZA0KPg0KPiArICBPckRhdGEgYXJlIHN0cmlwcGVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJl c3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5v dCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJ ZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gMzEsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElm IEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMzEsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVu ZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFu ZERhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5 IFN0YXJ0Qml0IGFuZA0KPiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIE9yRGF0 YSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3Rh cnRCaXQgYW5kDQo+IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFy YW0gIEFkZHJlc3MgICBUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuDQo+ DQo+ICsgIEBwYXJhbSAgU3RhcnRCaXQgIFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWduaWZp Y2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFu Z2UgMC4uMzEuDQo+DQo+ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRpbmFsIG9mIHRoZSBt b3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAg ICAgICAgICBSYW5nZSAwLi4zMS4NCj4NCj4gKyAgQHBhcmFtICBBbmREYXRhICAgVGhlIHZhbHVl IHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKyAgQHBh cmFtICBPckRhdGEgICAgVGhlIHZhbHVlIHRvIE9SIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgQU5E IG9wZXJhdGlvbi4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJh Y2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8N Cj4NCj4gK1VJTlQzMg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHByZXNzQml0RmllbGRBbmRU aGVuT3IzMiAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRy ZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3RhcnRCaXQs DQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBFbmRCaXQsDQo+DQo+ ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBBbmREYXRhLA0KPg0KPiArICBJ TiAgICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICkNCj4NCj4g K3sNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOw0KPg0KPiAr ICByZXR1cm4gTW1pb0JpdEZpZWxkQW5kVGhlbk9yMzIgKA0KPg0KPiArICAgICAgICAgICAoVUlO VE4pIEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSArIEFkZHJlc3MsDQo+DQo+ICsgICAgICAg ICAgIFN0YXJ0Qml0LA0KPg0KPiArICAgICAgICAgICBFbmRCaXQsDQo+DQo+ICsgICAgICAgICAg IEFuZERhdGEsDQo+DQo+ICsgICAgICAgICAgIE9yRGF0YQ0KPg0KPiArICAgICAgICAgICApOw0K Pg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgUmVhZHMgYSByYW5nZSBvZiBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlcnMgaW50byBhIGNhbGxlciBzdXBwbGllZCBidWZmZXIuDQo+ DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIHJhbmdlIG9mIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVycyBzcGVjaWZpZWQgYnkgU3RhcnRBZGRyZXNzDQo+IGFuZA0KPg0KPiArICBTaXplIGludG8g dGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkgQnVmZmVyLiBUaGlzIGZ1bmN0aW9uIG9ubHkgYWxsb3dz IHRoZSBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgZnJvbSBhIHNpbmdsZSBQ Q0kgZnVuY3Rpb24gdG8gYmUgcmVhZC4gU2l6ZSBpcw0KPg0KPiArICByZXR1cm5lZC4gV2hlbiBw b3NzaWJsZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVhZCBjeWNsZXMgYXJlIHVzZWQgdG8N Cj4gcmVhZA0KPg0KPiArICBmcm9tIFN0YXJ0QWRyZXNzIHRvIFN0YXJ0QWRkcmVzcyArIFNpemUu IER1ZSB0byBhbGlnbm1lbnQgcmVzdHJpY3Rpb25zLCA4LQ0KPiBiaXQNCj4NCj4gKyAgYW5kIDE2 LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWFkIGN5Y2xlcyBtYXkgYmUgdXNlZCBhdCB0aGUgYmVn aW5uaW5nIGFuZA0KPiB0aGUNCj4NCj4gKyAgZW5kIG9mIHRoZSByYW5nZS4NCj4NCj4gKw0KPg0K PiArICBJZiBTdGFydEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiAr ICBJZiAoKFN0YXJ0QWRkcmVzcyAmIDB4RkZGKSArIFNpemUpID4gMHgxMDAwLCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArICBJZiBTaXplID4gMCBhbmQgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJU KCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBTdGFydEFkZHJlc3MgIFRoZSBzdGFydGluZyBh ZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywNCj4gRGV2aWNlLA0KPg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgRnVuY3Rpb24gYW5kIFJlZ2lzdGVyLg0KPg0KPiArICBAcGFyYW0g IFNpemUgICAgICAgICAgVGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIHRyYW5zZmVyLg0KPg0KPiAr ICBAcGFyYW0gIEJ1ZmZlciAgICAgICAgVGhlIHBvaW50ZXIgdG8gYSBidWZmZXIgcmVjZWl2aW5n IHRoZSBkYXRhIHJlYWQuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBTaXplIHJlYWQgZGF0YSBm cm9tIFN0YXJ0QWRkcmVzcy4NCj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtVSU5UTg0KPg0KPiAr RUZJQVBJDQo+DQo+ICtQY2lFeHByZXNzUmVhZEJ1ZmZlciAoDQo+DQo+ICsgIElOICAgICAgVUlO VE4gICAgICAgICAgICAgICAgICAgICBTdGFydEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlO VE4gICAgICAgICAgICAgICAgICAgICBTaXplLA0KPg0KPiArICBPVVQgICAgIFZPSUQgICAgICAg ICAgICAgICAgICAgICAgKkJ1ZmZlcg0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIFVJTlRO ICAgUmV0dXJuVmFsdWU7DQo+DQo+ICsNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJF U1MgKFN0YXJ0QWRkcmVzcyk7DQo+DQo+ICsgIEFTU0VSVCAoKChTdGFydEFkZHJlc3MgJiAweEZG RikgKyBTaXplKSA8PSAweDEwMDApOw0KPg0KPiArDQo+DQo+ICsgIGlmIChTaXplID09IDApIHsN Cj4NCj4gKyAgICByZXR1cm4gU2l6ZTsNCj4NCj4gKyAgfQ0KPg0KPiArDQo+DQo+ICsgIEFTU0VS VCAoQnVmZmVyICE9IE5VTEwpOw0KPg0KPiArDQo+DQo+ICsgIC8vDQo+DQo+ICsgIC8vIFNhdmUg U2l6ZSBmb3IgcmV0dXJuDQo+DQo+ICsgIC8vDQo+DQo+ICsgIFJldHVyblZhbHVlID0gU2l6ZTsN Cj4NCj4gKw0KPg0KPiArICBpZiAoKFN0YXJ0QWRkcmVzcyAmIDEpICE9IDApIHsNCj4NCj4gKyAg ICAvLw0KPg0KPiArICAgIC8vIFJlYWQgYSBieXRlIGlmIFN0YXJ0QWRkcmVzcyBpcyBieXRlIGFs aWduZWQNCj4NCj4gKyAgICAvLw0KPg0KPiArICAgICoodm9sYXRpbGUgVUlOVDggKilCdWZmZXIg PSBQY2lFeHByZXNzUmVhZDggKFN0YXJ0QWRkcmVzcyk7DQo+DQo+ICsgICAgU3RhcnRBZGRyZXNz ICs9IHNpemVvZiAoVUlOVDgpOw0KPg0KPiArICAgIFNpemUgLT0gc2l6ZW9mIChVSU5UOCk7DQo+ DQo+ICsgICAgQnVmZmVyID0gKFVJTlQ4KilCdWZmZXIgKyAxOw0KPg0KPiArICB9DQo+DQo+ICsN Cj4NCj4gKyAgaWYgKFNpemUgPj0gc2l6ZW9mIChVSU5UMTYpICYmIChTdGFydEFkZHJlc3MgJiAy KSAhPSAwKSB7DQo+DQo+ICsgICAgLy8NCj4NCj4gKyAgICAvLyBSZWFkIGEgd29yZCBpZiBTdGFy dEFkZHJlc3MgaXMgd29yZCBhbGlnbmVkDQo+DQo+ICsgICAgLy8NCj4NCj4gKyAgICBXcml0ZVVu YWxpZ25lZDE2ICgoVUlOVDE2ICopIEJ1ZmZlciwgKFVJTlQxNikgUGNpRXhwcmVzc1JlYWQxNg0K PiAoU3RhcnRBZGRyZXNzKSk7DQo+DQo+ICsNCj4NCj4gKyAgICBTdGFydEFkZHJlc3MgKz0gc2l6 ZW9mIChVSU5UMTYpOw0KPg0KPiArICAgIFNpemUgLT0gc2l6ZW9mIChVSU5UMTYpOw0KPg0KPiAr ICAgIEJ1ZmZlciA9IChVSU5UMTYqKUJ1ZmZlciArIDE7DQo+DQo+ICsgIH0NCj4NCj4gKw0KPg0K PiArICB3aGlsZSAoU2l6ZSA+PSBzaXplb2YgKFVJTlQzMikpIHsNCj4NCj4gKyAgICAvLw0KPg0K PiArICAgIC8vIFJlYWQgYXMgbWFueSBkb3VibGUgd29yZHMgYXMgcG9zc2libGUNCj4NCj4gKyAg ICAvLw0KPg0KPiArICAgIFdyaXRlVW5hbGlnbmVkMzIgKChVSU5UMzIgKikgQnVmZmVyLCAoVUlO VDMyKSBQY2lFeHByZXNzUmVhZDMyDQo+IChTdGFydEFkZHJlc3MpKTsNCj4NCj4gKw0KPg0KPiAr ICAgIFN0YXJ0QWRkcmVzcyArPSBzaXplb2YgKFVJTlQzMik7DQo+DQo+ICsgICAgU2l6ZSAtPSBz aXplb2YgKFVJTlQzMik7DQo+DQo+ICsgICAgQnVmZmVyID0gKFVJTlQzMiopQnVmZmVyICsgMTsN Cj4NCj4gKyAgfQ0KPg0KPiArDQo+DQo+ICsgIGlmIChTaXplID49IHNpemVvZiAoVUlOVDE2KSkg ew0KPg0KPiArICAgIC8vDQo+DQo+ICsgICAgLy8gUmVhZCB0aGUgbGFzdCByZW1haW5pbmcgd29y ZCBpZiBleGlzdA0KPg0KPiArICAgIC8vDQo+DQo+ICsgICAgV3JpdGVVbmFsaWduZWQxNiAoKFVJ TlQxNiAqKSBCdWZmZXIsIChVSU5UMTYpIFBjaUV4cHJlc3NSZWFkMTYNCj4gKFN0YXJ0QWRkcmVz cykpOw0KPg0KPiArICAgIFN0YXJ0QWRkcmVzcyArPSBzaXplb2YgKFVJTlQxNik7DQo+DQo+ICsg ICAgU2l6ZSAtPSBzaXplb2YgKFVJTlQxNik7DQo+DQo+ICsgICAgQnVmZmVyID0gKFVJTlQxNiop QnVmZmVyICsgMTsNCj4NCj4gKyAgfQ0KPg0KPiArDQo+DQo+ICsgIGlmIChTaXplID49IHNpemVv ZiAoVUlOVDgpKSB7DQo+DQo+ICsgICAgLy8NCj4NCj4gKyAgICAvLyBSZWFkIHRoZSBsYXN0IHJl bWFpbmluZyBieXRlIGlmIGV4aXN0DQo+DQo+ICsgICAgLy8NCj4NCj4gKyAgICAqKHZvbGF0aWxl IFVJTlQ4ICopQnVmZmVyID0gUGNpRXhwcmVzc1JlYWQ4IChTdGFydEFkZHJlc3MpOw0KPg0KPiAr ICB9DQo+DQo+ICsNCj4NCj4gKyAgcmV0dXJuIFJldHVyblZhbHVlOw0KPg0KPiArfQ0KPg0KPiAr DQo+DQo+ICsvKioNCj4NCj4gKyAgQ29waWVzIHRoZSBkYXRhIGluIGEgY2FsbGVyIHN1cHBsaWVk IGJ1ZmZlciB0byBhIHNwZWNpZmllZCByYW5nZSBvZiBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlv biBzcGFjZS4NCj4NCj4gKw0KPg0KPiArICBXcml0ZXMgdGhlIHJhbmdlIG9mIFBDSSBjb25maWd1 cmF0aW9uIHJlZ2lzdGVycyBzcGVjaWZpZWQgYnkgU3RhcnRBZGRyZXNzDQo+IGFuZA0KPg0KPiAr ICBTaXplIGZyb20gdGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkgQnVmZmVyLiBUaGlzIGZ1bmN0aW9u IG9ubHkgYWxsb3dzIHRoZSBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgZnJv bSBhIHNpbmdsZSBQQ0kgZnVuY3Rpb24gdG8gYmUgd3JpdHRlbi4gU2l6ZSBpcw0KPg0KPiArICBy ZXR1cm5lZC4gV2hlbiBwb3NzaWJsZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gd3JpdGUgY3lj bGVzIGFyZSB1c2VkIHRvDQo+DQo+ICsgIHdyaXRlIGZyb20gU3RhcnRBZHJlc3MgdG8gU3RhcnRB ZGRyZXNzICsgU2l6ZS4gRHVlIHRvIGFsaWdubWVudA0KPiByZXN0cmljdGlvbnMsDQo+DQo+ICsg IDgtYml0IGFuZCAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gd3JpdGUgY3ljbGVzIG1heSBiZSB1 c2VkIGF0IHRoZSBiZWdpbm5pbmcNCj4NCj4gKyAgYW5kIHRoZSBlbmQgb2YgdGhlIHJhbmdlLg0K Pg0KPiArDQo+DQo+ICsgIElmIFN0YXJ0QWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJU KCkuDQo+DQo+ICsgIElmICgoU3RhcnRBZGRyZXNzICYgMHhGRkYpICsgU2l6ZSkgPiAweDEwMDAs IHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIFNpemUgPiAwIGFuZCBCdWZmZXIgaXMgTlVMTCwg dGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIFN0YXJ0QWRkcmVzcyAgVGhl IHN0YXJ0aW5nIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLA0KPiBEZXZpY2UsDQo+ DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbiBhbmQgUmVnaXN0ZXIuDQo+DQo+ ICsgIEBwYXJhbSAgU2l6ZSAgICAgICAgICBUaGUgc2l6ZSBpbiBieXRlcyBvZiB0aGUgdHJhbnNm ZXIuDQo+DQo+ICsgIEBwYXJhbSAgQnVmZmVyICAgICAgICBUaGUgcG9pbnRlciB0byBhIGJ1ZmZl ciBjb250YWluaW5nIHRoZSBkYXRhIHRvIHdyaXRlLg0KPg0KPiArDQo+DQo+ICsgIEByZXR1cm4g U2l6ZSB3cml0dGVuIHRvIFN0YXJ0QWRkcmVzcy4NCj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtV SU5UTg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lFeHByZXNzV3JpdGVCdWZmZXIgKA0KPg0KPiAr ICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3RhcnRBZGRyZXNzLA0KPg0KPiAr ICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU2l6ZSwNCj4NCj4gKyAgSU4gICAg ICBWT0lEICAgICAgICAgICAgICAgICAgICAgICpCdWZmZXINCj4NCj4gKyAgKQ0KPg0KPiArew0K Pg0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuVmFsdWU7DQo+ DQo+ICsNCj4NCj4gKyAgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKFN0YXJ0QWRkcmVzcyk7 DQo+DQo+ICsgIEFTU0VSVCAoKChTdGFydEFkZHJlc3MgJiAweEZGRikgKyBTaXplKSA8PSAweDEw MDApOw0KPg0KPiArDQo+DQo+ICsgIGlmIChTaXplID09IDApIHsNCj4NCj4gKyAgICByZXR1cm4g MDsNCj4NCj4gKyAgfQ0KPg0KPiArDQo+DQo+ICsgIEFTU0VSVCAoQnVmZmVyICE9IE5VTEwpOw0K Pg0KPiArDQo+DQo+ICsgIC8vDQo+DQo+ICsgIC8vIFNhdmUgU2l6ZSBmb3IgcmV0dXJuDQo+DQo+ ICsgIC8vDQo+DQo+ICsgIFJldHVyblZhbHVlID0gU2l6ZTsNCj4NCj4gKw0KPg0KPiArICBpZiAo KFN0YXJ0QWRkcmVzcyAmIDEpICE9IDApIHsNCj4NCj4gKyAgICAvLw0KPg0KPiArICAgIC8vIFdy aXRlIGEgYnl0ZSBpZiBTdGFydEFkZHJlc3MgaXMgYnl0ZSBhbGlnbmVkDQo+DQo+ICsgICAgLy8N Cj4NCj4gKyAgICBQY2lFeHByZXNzV3JpdGU4IChTdGFydEFkZHJlc3MsICooVUlOVDgqKUJ1ZmZl cik7DQo+DQo+ICsgICAgU3RhcnRBZGRyZXNzICs9IHNpemVvZiAoVUlOVDgpOw0KPg0KPiArICAg IFNpemUgLT0gc2l6ZW9mIChVSU5UOCk7DQo+DQo+ICsgICAgQnVmZmVyID0gKFVJTlQ4KilCdWZm ZXIgKyAxOw0KPg0KPiArICB9DQo+DQo+ICsNCj4NCj4gKyAgaWYgKFNpemUgPj0gc2l6ZW9mIChV SU5UMTYpICYmIChTdGFydEFkZHJlc3MgJiAyKSAhPSAwKSB7DQo+DQo+ICsgICAgLy8NCj4NCj4g KyAgICAvLyBXcml0ZSBhIHdvcmQgaWYgU3RhcnRBZGRyZXNzIGlzIHdvcmQgYWxpZ25lZA0KPg0K PiArICAgIC8vDQo+DQo+ICsgICAgUGNpRXhwcmVzc1dyaXRlMTYgKFN0YXJ0QWRkcmVzcywgUmVh ZFVuYWxpZ25lZDE2ICgoVUlOVDE2KilCdWZmZXIpKTsNCj4NCj4gKyAgICBTdGFydEFkZHJlc3Mg Kz0gc2l6ZW9mIChVSU5UMTYpOw0KPg0KPiArICAgIFNpemUgLT0gc2l6ZW9mIChVSU5UMTYpOw0K Pg0KPiArICAgIEJ1ZmZlciA9IChVSU5UMTYqKUJ1ZmZlciArIDE7DQo+DQo+ICsgIH0NCj4NCj4g Kw0KPg0KPiArICB3aGlsZSAoU2l6ZSA+PSBzaXplb2YgKFVJTlQzMikpIHsNCj4NCj4gKyAgICAv Lw0KPg0KPiArICAgIC8vIFdyaXRlIGFzIG1hbnkgZG91YmxlIHdvcmRzIGFzIHBvc3NpYmxlDQo+ DQo+ICsgICAgLy8NCj4NCj4gKyAgICBQY2lFeHByZXNzV3JpdGUzMiAoU3RhcnRBZGRyZXNzLCBS ZWFkVW5hbGlnbmVkMzIgKChVSU5UMzIqKUJ1ZmZlcikpOw0KPg0KPiArICAgIFN0YXJ0QWRkcmVz cyArPSBzaXplb2YgKFVJTlQzMik7DQo+DQo+ICsgICAgU2l6ZSAtPSBzaXplb2YgKFVJTlQzMik7 DQo+DQo+ICsgICAgQnVmZmVyID0gKFVJTlQzMiopQnVmZmVyICsgMTsNCj4NCj4gKyAgfQ0KPg0K PiArDQo+DQo+ICsgIGlmIChTaXplID49IHNpemVvZiAoVUlOVDE2KSkgew0KPg0KPiArICAgIC8v DQo+DQo+ICsgICAgLy8gV3JpdGUgdGhlIGxhc3QgcmVtYWluaW5nIHdvcmQgaWYgZXhpc3QNCj4N Cj4gKyAgICAvLw0KPg0KPiArICAgIFBjaUV4cHJlc3NXcml0ZTE2IChTdGFydEFkZHJlc3MsIFJl YWRVbmFsaWduZWQxNiAoKFVJTlQxNiopQnVmZmVyKSk7DQo+DQo+ICsgICAgU3RhcnRBZGRyZXNz ICs9IHNpemVvZiAoVUlOVDE2KTsNCj4NCj4gKyAgICBTaXplIC09IHNpemVvZiAoVUlOVDE2KTsN Cj4NCj4gKyAgICBCdWZmZXIgPSAoVUlOVDE2KilCdWZmZXIgKyAxOw0KPg0KPiArICB9DQo+DQo+ ICsNCj4NCj4gKyAgaWYgKFNpemUgPj0gc2l6ZW9mIChVSU5UOCkpIHsNCj4NCj4gKyAgICAvLw0K Pg0KPiArICAgIC8vIFdyaXRlIHRoZSBsYXN0IHJlbWFpbmluZyBieXRlIGlmIGV4aXN0DQo+DQo+ ICsgICAgLy8NCj4NCj4gKyAgICBQY2lFeHByZXNzV3JpdGU4IChTdGFydEFkZHJlc3MsICooVUlO VDgqKUJ1ZmZlcik7DQo+DQo+ICsgIH0NCj4NCj4gKw0KPg0KPiArICByZXR1cm4gUmV0dXJuVmFs dWU7DQo+DQo+ICt9DQo+DQo+IGRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jh c2VQY2lMaWJQY2lFeHByZXNzL1BjaUxpYi5jDQo+IGIvVWVmaVBheWxvYWRQa2cvTGlicmFyeS9C YXNlUGNpTGliUGNpRXhwcmVzcy9QY2lMaWIuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwMDAuLmZiYTU5MTQ0NjJjOA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBi L1VlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUxpYlBjaUV4cHJlc3MvUGNpTGliLmMNCj4g QEAgLTAsMCArMSwxMzAyIEBADQo+ICsvKiogQGZpbGUNCj4NCj4gKyAgUENJIExpYnJhcnkgZnVu Y3Rpb25zIHRoYXQgdXNlIHRoZSAyNTYgTUIgUENJIEV4cHJlc3MgTU1JTyB3aW5kb3cgdG8NCj4g cGVyZm9ybSBQQ0kNCj4NCj4gKyAgQ29uZmlndXJhdGlvbiBjeWNsZXMuIExheWVycyBvbiBQQ0kg RXhwcmVzcyBMaWJyYXJ5Lg0KPg0KPiArDQo+DQo+ICsgIENvcHlyaWdodCAoYykgMjAwNiAtIDIw MTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4NCj4gKyAg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4NCj4gKw0KPg0K PiArKiovDQo+DQo+ICsNCj4NCj4gKw0KPg0KPiArI2luY2x1ZGUgPEJhc2UuaD4NCj4NCj4gKw0K Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNpTGliLmg+DQo+DQo+ICsjaW5jbHVkZSA8TGlicmFy eS9QY2lFeHByZXNzTGliLmg+DQo+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2lDZjhMaWIuaD4N Cj4NCj4gKw0KPg0KPiArI2luY2x1ZGUgPFBpL1BpQm9vdE1vZGUuaD4NCj4NCj4gKyNpbmNsdWRl IDxVZWZpL1VlZmlCYXNlVHlwZS5oPg0KPg0KPiArI2luY2x1ZGUgPFVlZmkvVWVmaU11bHRpUGhh c2UuaD4NCj4NCj4gKyNpbmNsdWRlIDxQaS9QaUhvYi5oPg0KPg0KPiArDQo+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9Ib2JMaWIuaD4NCj4NCj4gKyNpbmNsdWRlIDxHdWlkL0FjcGlCb2FyZEluZm9H dWlkLmg+DQo+DQo+ICsNCj4NCj4gK1NUQVRJQyBCT09MRUFOIG1NTUNPTkZFbmFibGVkOw0KPg0K PiArDQo+DQo+ICsvKioNCj4NCj4gKyAgUmVnaXN0ZXJzIGEgUENJIGRldmljZSBzbyBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlcnMgbWF5IGJlIGFjY2Vzc2VkIGFmdGVyDQo+DQo+ICsgIFNldFZp cnR1YWxBZGRyZXNzTWFwKCkuDQo+DQo+ICsNCj4NCj4gKyAgUmVnaXN0ZXJzIHRoZSBQQ0kgZGV2 aWNlIHNwZWNpZmllZCBieSBBZGRyZXNzIHNvIGFsbCB0aGUgUENJIGNvbmZpZ3VyYXRpb24NCj4g cmVnaXN0ZXJzDQo+DQo+ICsgIGFzc29jaWF0ZWQgd2l0aCB0aGF0IFBDSSBkZXZpY2UgbWF5IGJl IGFjY2Vzc2VkIGFmdGVyDQo+IFNldFZpcnR1YWxBZGRyZXNzTWFwKCkgaXMgY2FsbGVkLg0KPg0K PiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0K PiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhl IFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+DQo+ICsgICAgICAgICAgICAgICAg ICBSZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBAcmV0dmFsIFJFVFVSTl9TVUNDRVNTICAgICAg ICAgICBUaGUgUENJIGRldmljZSB3YXMgcmVnaXN0ZXJlZCBmb3IgcnVudGltZQ0KPiBhY2Nlc3Mu DQo+DQo+ICsgIEByZXR2YWwgUkVUVVJOX1VOU1VQUE9SVEVEICAgICAgIEFuIGF0dGVtcHQgd2Fz IG1hZGUgdG8gY2FsbCB0aGlzDQo+IGZ1bmN0aW9uDQo+DQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGFmdGVyIEV4aXRCb290U2VydmljZXMoKS4NCj4NCj4gKyAgQHJldHZh bCBSRVRVUk5fVU5TVVBQT1JURUQgICAgICAgVGhlIHJlc291cmNlcyByZXF1aXJlZCB0byBhY2Nl c3MgdGhlDQo+IFBDSSBkZXZpY2UNCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYXQgcnVudGltZSBjb3VsZCBub3QgYmUgbWFwcGVkLg0KPg0KPiArICBAcmV0dmFsIFJF VFVSTl9PVVRfT0ZfUkVTT1VSQ0VTICBUaGVyZSBhcmUgbm90IGVub3VnaCByZXNvdXJjZXMNCj4g YXZhaWxhYmxlIHRvDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bXBsZXRlIHRoZSByZWdpc3RyYXRpb24uDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArUkVUVVJO X1NUQVRVUw0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lSZWdpc3RlckZvclJ1bnRpbWVBY2Nlc3Mg KA0KPg0KPiArICBJTiBVSU5UTiAgQWRkcmVzcw0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsg IHJldHVybiBQY2lFeHByZXNzUmVnaXN0ZXJGb3JSdW50aW1lQWNjZXNzIChBZGRyZXNzKTsNCj4N Cj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFBlcmZvcm1zIHBsYXRmb3JtIHNwZWNp ZmljIGluaXRpYWxpemF0aW9uIHJlcXVpcmVkIGZvciB0aGUgQ1BVIHRvIGFjY2Vzcw0KPg0KPiAr ICB0aGUgTU1DT05GIHNwYWNlLiAgVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBpbml0aWFsaXplIHRo ZSBNTUNPTkYgaXRzZWxmLg0KPg0KPiArDQo+DQo+ICsgIEByZXR2YWwgUkVUVVJOX1NVQ0NFU1Mg ICAgICAgVGhlIHBsYXRmb3JtIHNwZWNpZmljIGluaXRpYWxpemF0aW9uIHN1Y2NlZWRlZC4NCj4N Cj4gKyAgQHJldHZhbCBSRVRVUk5fREVWSUNFX0VSUk9SICBUaGUgcGxhdGZvcm0gc3BlY2lmaWMg aW5pdGlhbGl6YXRpb24gY291bGQNCj4gbm90IGJlIGNvbXBsZXRlZC4NCj4NCj4gKw0KPg0KPiAr KiovDQo+DQo+ICtSRVRVUk5fU1RBVFVTDQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUxpYkluaXRp YWxpemUgKA0KPg0KPiArICBWT0lEDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgRUZJX0hP Ql9HVUlEX1RZUEUgICAgICAgICAqR3VpZEhvYjsNCj4NCj4gKyAgQUNQSV9CT0FSRF9JTkZPICAg ICAgICAgICAqQWNwaUJvYXJkSW5mb1B0cjsNCj4NCj4gKw0KPg0KPiArICAvLw0KPg0KPiArICAv LyBGaW5kIHRoZSBhY3BpIGJvYXJkIGluZm9ybWF0aW9uIGd1aWQgaG9iDQo+DQo+ICsgIC8vDQo+ DQo+ICsgIEd1aWRIb2IgPSBHZXRGaXJzdEd1aWRIb2IgKCZnVWVmaUFjcGlCb2FyZEluZm9HdWlk KTsNCj4NCj4gKyAgaWYgKEd1aWRIb2IgPT0gTlVMTCkgew0KPg0KPiArICAgIHJldHVybiBFRklf U1VDQ0VTUzsNCj4NCj4gKyAgfQ0KPg0KPiArICBBY3BpQm9hcmRJbmZvUHRyID0gKEFDUElfQk9B UkRfSU5GTyAqKUdFVF9HVUlEX0hPQl9EQVRBDQo+IChHdWlkSG9iKTsNCj4NCj4gKw0KPg0KPiAr ICBtTU1DT05GRW5hYmxlZCA9IEFjcGlCb2FyZEluZm9QdHItPlBjaWVCYXNlQWRkcmVzcyAhPSAw ICYmDQo+DQo+ICsgICAgICBBY3BpQm9hcmRJbmZvUHRyLT5QY2llQmFzZVNpemUgIT0gMDsNCj4N Cj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4N Cj4gKyAgUmVhZHMgYW4gOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsN Cj4NCj4gKyAgUmVhZHMgYW5kIHJldHVybnMgdGhlIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLg0KPg0KPiArICBUaGlzIGZ1bmN0aW9uIG11c3Qg Z3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZQ0KPg0K PiArICBzZXJpYWxpemVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZG LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRk cmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+ DQo+ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJu IFRoZSByZWFkIHZhbHVlIGZyb20gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0K PiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaVJlYWQ4 ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3MNCj4N Cj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBpZiAobU1NQ09ORkVuYWJsZWQpIHsNCj4NCj4gKyAg ICByZXR1cm4gUGNpRXhwcmVzc1JlYWQ4IChBZGRyZXNzKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4N Cj4gKyAgICByZXR1cm4gUGNpQ2Y4UmVhZDggKEFkZHJlc3MpOw0KPg0KPiArICB9DQo+DQo+ICt9 DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBXcml0ZXMgYW4gOC1iaXQgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgV3JpdGVzIHRoZSA4LWJpdCBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcyB3aXRoIHRoZQ0KPg0KPiAr ICB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUuIFZhbHVlIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0 aW9uIG11c3QgZ3VhcmFudGVlDQo+DQo+ICsgIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBv cGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAw eDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVz cyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24N Cj4gYW5kDQo+DQo+ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFt ICBWYWx1ZSAgIFRoZSB2YWx1ZSB0byB3cml0ZS4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRo ZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4g Kw0KPg0KPiArKiovDQo+DQo+ICtVSU5UOA0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lXcml0ZTgg KA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4N Cj4gKyAgSU4gICAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgIFZhbHVlDQo+DQo+ICsgICkN Cj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7DQo+DQo+ICsgICAgcmV0dXJu IFBjaUV4cHJlc3NXcml0ZTggKEFkZHJlc3MsIFZhbHVlKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4N Cj4gKyAgICByZXR1cm4gUGNpQ2Y4V3JpdGU4IChBZGRyZXNzLCBWYWx1ZSk7DQo+DQo+ICsgIH0N Cj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFBlcmZvcm1zIGEgYml0d2lzZSBP UiBvZiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB3aXRoDQo+DQo+ICsgIGFu IDgtYml0IHZhbHVlLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSA4LWJpdCBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMgYQ0KPg0KPiAr ICBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lm aWVkIGJ5DQo+DQo+ICsgIE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSA4LWJp dCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlcg0KPg0KPiArICBzcGVjaWZpZWQgYnkgQWRkcmVz cy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlz DQo+DQo+ICsgIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxs IFBDSSByZWFkIGFuZCB3cml0ZQ0KPiBvcGVyYXRpb25zDQo+DQo+ICsgIGFyZSBzZXJpYWxpemVk Lg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgp Lg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29k ZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+DQo+ICsgICAgICAgICAg ICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEgIFRoZSB2YWx1ZSB0byBP UiB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBA cmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+DQo+ICtFRklBUEkNCj4N Cj4gK1BjaU9yOCAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBB ZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgT3JEYXRh DQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7DQo+DQo+ ICsgICAgcmV0dXJuIFBjaUV4cHJlc3NPcjggKEFkZHJlc3MsIE9yRGF0YSk7DQo+DQo+ICsgIH0g ZWxzZSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOE9yOCAoQWRkcmVzcywgT3JEYXRhKTsNCj4N Cj4gKyAgfQ0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgUGVyZm9ybXMgYSBi aXR3aXNlIEFORCBvZiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB3aXRoIGFu IDgtYml0DQo+DQo+ICsgIHZhbHVlLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSA4LWJpdCBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMg YQ0KPg0KPiArICBiaXR3aXNlIEFORCBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQgdGhlIHZh bHVlIHNwZWNpZmllZCBieSBBbmREYXRhLA0KPiBhbmQNCj4NCj4gKyAgd3JpdGVzIHRoZSByZXN1 bHQgdG8gdGhlIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieQ0K Pg0KPiArICBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgaXMgcmV0dXJuZWQuDQo+DQo+ICsgIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFy YW50ZWUgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlDQo+DQo+ICsg IHNlcmlhbGl6ZWQuDQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRo ZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBhZGRyZXNz IHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbg0KPiBhbmQNCj4NCj4g KyAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyLg0KPg0KPiArICBAcGFyYW0gIEFuZERhdGEgVGhl IHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4g Kw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+DQo+ ICtFRklBUEkNCj4NCj4gK1BjaUFuZDggKA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UOCAgICAgICAgICAgICAg ICAgICAgIEFuZERhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBpZiAobU1NQ09ORkVu YWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVzc0FuZDggKEFkZHJlc3MsIEFuZERh dGEpOw0KPg0KPiArICB9IGVsc2Ugew0KPg0KPiArICAgIHJldHVybiBQY2lDZjhBbmQ4IChBZGRy ZXNzLCBBbmREYXRhKTsNCj4NCj4gKyAgfQ0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4N Cj4gKyAgUGVyZm9ybXMgYSBiaXR3aXNlIEFORCBvZiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlv biByZWdpc3RlciB3aXRoIGFuIDgtYml0DQo+DQo+ICsgIHZhbHVlLCBmb2xsb3dlZCBhICBiaXR3 aXNlIE9SIHdpdGggYW5vdGhlciA4LWJpdCB2YWx1ZS4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0 aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3Ms IHBlcmZvcm1zIGENCj4NCj4gKyAgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQg YW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSwNCj4NCj4gKyAgcGVyZm9ybXMgYSBi aXR3aXNlIE9SIGJldHdlZW4gdGhlIHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbiBhbmQNCj4N Cj4gKyAgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3Vs dCB0byB0aGUgOC1iaXQgUENJDQo+DQo+ICsgIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lm aWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kNCj4NCj4gKyAgY29u ZmlndXJhdGlvbiByZWdpc3RlciBpcyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJh bnRlZSB0aGF0IGFsbCBQQ0kNCj4NCj4gKyAgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUg c2VyaWFsaXplZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhl biBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgVGhlIGFkZHJlc3Mg dGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uDQo+IGFuZA0KPg0KPiAr ICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIuDQo+DQo+ICsgIEBwYXJhbSAgQW5kRGF0YSBUaGUg dmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiAr ICBAcGFyYW0gIE9yRGF0YSAgVGhlIHZhbHVlIHRvIE9SIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUg QU5EIG9wZXJhdGlvbi4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVu IGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsq Ki8NCj4NCj4gK1VJTlQ4DQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUFuZFRoZW5PcjggKA0KPg0K PiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4gKyAg SU4gICAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgIEFuZERhdGEsDQo+DQo+ICsgIElOICAg ICAgVUlOVDggICAgICAgICAgICAgICAgICAgICBPckRhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0K Pg0KPiArICBpZiAobU1NQ09ORkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVz c0FuZFRoZW5PcjggKEFkZHJlc3MsIEFuZERhdGEsIE9yRGF0YSk7DQo+DQo+ICsgIH0gZWxzZSB7 DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOEFuZFRoZW5PcjggKEFkZHJlc3MsIEFuZERhdGEsIE9y RGF0YSk7DQo+DQo+ICsgIH0NCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJl YWRzIGEgYml0IGZpZWxkIG9mIGEgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsN Cj4NCj4gKyAgUmVhZHMgdGhlIGJpdCBmaWVsZCBpbiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlv biByZWdpc3Rlci4gVGhlIGJpdCBmaWVsZCBpcw0KPg0KPiArICBzcGVjaWZpZWQgYnkgdGhlIFN0 YXJ0Qml0IGFuZCB0aGUgRW5kQml0LiBUaGUgdmFsdWUgb2YgdGhlIGJpdCBmaWVsZCBpcw0KPg0K PiArICByZXR1cm5lZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwg dGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRo ZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBB U1NFUlQoKS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBB U1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgICBUaGUgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgdG8gcmVhZC4NCj4NCj4gKyAgQHBhcmFtICBTdGFydEJpdCAgVGhl IG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0K Pg0KPiArICAgICAgICAgICAgICAgICAgICBSYW5nZSAwLi43Lg0KPg0KPiArICBAcGFyYW0gIEVu ZEJpdCAgICBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJp dCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uNy4NCj4NCj4gKw0K Pg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSBvZiB0aGUgYml0IGZpZWxkIHJlYWQgZnJvbSB0aGUg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlO VDgNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpQml0RmllbGRSZWFkOCAoDQo+DQo+ICsgIElOICAg ICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4g ICAgICAgICAgICAgICAgICAgICBFbmRCaXQNCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBp ZiAobU1NQ09ORkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxk UmVhZDggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQpOw0KPg0KPiArICB9IGVsc2Ugew0KPg0K PiArICAgIHJldHVybiBQY2lDZjhCaXRGaWVsZFJlYWQ4IChBZGRyZXNzLCBTdGFydEJpdCwgRW5k Qml0KTsNCj4NCj4gKyAgfQ0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgV3Jp dGVzIGEgYml0IGZpZWxkIHRvIGEgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsN Cj4NCj4gKyAgV3JpdGVzIFZhbHVlIHRvIHRoZSBiaXQgZmllbGQgb2YgdGhlIFBDSSBjb25maWd1 cmF0aW9uIHJlZ2lzdGVyLiBUaGUgYml0DQo+DQo+ICsgIGZpZWxkIGlzIHNwZWNpZmllZCBieSB0 aGUgU3RhcnRCaXQgYW5kIHRoZSBFbmRCaXQuIEFsbCBvdGhlciBiaXRzIGluIHRoZQ0KPg0KPiAr ICBkZXN0aW5hdGlvbiBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBhcmUgcHJlc2VydmVkLiBU aGUgbmV3IHZhbHVlIG9mIHRoZQ0KPg0KPiArICA4LWJpdCByZWdpc3RlciBpcyByZXR1cm5lZC4N Cj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4N Cj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRoZW4gQVNTRVJUKCkuDQo+ DQo+ICsgIElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS4NCj4NCj4g KyAgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4g KyAgSWYgVmFsdWUgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lm aWVkIGJ5IFN0YXJ0Qml0IGFuZA0KPiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4N Cj4gKyAgQHBhcmFtICBBZGRyZXNzICAgVGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRv IHdyaXRlLg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUgbGVh c3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAg ICAgICAgIFJhbmdlIDAuLjcuDQo+DQo+ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRpbmFs IG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAg ICAgICAgICAgICAgICAgICBSYW5nZSAwLi43Lg0KPg0KPiArICBAcGFyYW0gIFZhbHVlICAgICBU aGUgbmV3IHZhbHVlIG9mIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBU aGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4N Cj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtVSU5UOA0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lC aXRGaWVsZFdyaXRlOCAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3Rh cnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBFbmRCaXQs DQo+DQo+ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICBWYWx1ZQ0KPg0KPiAr ICApDQo+DQo+ICt7DQo+DQo+ICsgIGlmIChtTU1DT05GRW5hYmxlZCkgew0KPg0KPiArICAgIHJl dHVybiBQY2lFeHByZXNzQml0RmllbGRXcml0ZTggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQs IFZhbHVlKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpQ2Y4Qml0Rmll bGRXcml0ZTggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIFZhbHVlKTsNCj4NCj4gKyAgfQ0K Pg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgUmVhZHMgYSBiaXQgZmllbGQgaW4g YW4gOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24sIHBlcmZvcm1zIGEgYml0d2lzZSBPUiwgYW5kDQo+ DQo+ICsgIHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGUgOC1i aXQgcG9ydC4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGENCj4NCj4gKyAgYml0 d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBi eQ0KPg0KPiArICBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgOC1iaXQgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXINCj4NCj4gKyAgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRo ZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcw0KPg0K PiArICByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kg cmVhZCBhbmQgd3JpdGUNCj4gb3BlcmF0aW9ucw0KPg0KPiArICBhcmUgc2VyaWFsaXplZC4gRXh0 cmEgbGVmdCBiaXRzIGluIE9yRGF0YSBhcmUgc3RyaXBwZWQuDQo+DQo+ICsNCj4NCj4gKyAgSWYg QWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIFN0YXJ0Qml0 IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMg Z3JlYXRlciB0aGFuIDcsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBpcyBsZXNz IHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIE9yRGF0YSBpcyBsYXJn ZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5k DQo+IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJl c3MgICBUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuDQo+DQo+ICsgIEBw YXJhbSAgU3RhcnRCaXQgIFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQg aW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uNy4N Cj4NCj4gKyAgQHBhcmFtICBFbmRCaXQgICAgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qgc2lnbmlm aWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJh bmdlIDAuLjcuDQo+DQo+ICsgIEBwYXJhbSAgT3JEYXRhICAgIFRoZSB2YWx1ZSB0byBPUiB3aXRo IHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJu IFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy Lg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+DQo+ICtFRklBUEkNCj4NCj4gK1Bj aUJpdEZpZWxkT3I4ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAg IEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFy dEJpdCwNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEVuZEJpdCwN Cj4NCj4gKyAgSU4gICAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgIE9yRGF0YQ0KPg0KPiAr ICApDQo+DQo+ICt7DQo+DQo+ICsgIGlmIChtTU1DT05GRW5hYmxlZCkgew0KPg0KPiArICAgIHJl dHVybiBQY2lFeHByZXNzQml0RmllbGRPcjggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIE9y RGF0YSk7DQo+DQo+ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOEJpdEZpZWxk T3I4IChBZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0LCBPckRhdGEpOw0KPg0KPiArICB9DQo+DQo+ ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBSZWFkcyBhIGJpdCBmaWVsZCBpbiBhbiA4 LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciwgcGVyZm9ybXMgYSBiaXR3aXNlDQo+DQo+ ICsgIEFORCwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0 aGUgOC1iaXQgcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIDgtYml0IFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3JtcyBhDQo+ DQo+ICsgIGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUg c3BlY2lmaWVkIGJ5IEFuZERhdGEsDQo+IGFuZA0KPg0KPiArICB3cml0ZXMgdGhlIHJlc3VsdCB0 byB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5DQo+DQo+ ICsgIEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiBy ZWdpc3RlciBpcyByZXR1cm5lZC4NCj4NCj4gKyAgVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRl ZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUNCj4NCj4gKyAgc2Vy aWFsaXplZC4gRXh0cmEgbGVmdCBiaXRzIGluIEFuZERhdGEgYXJlIHN0cmlwcGVkLg0KPg0KPiAr DQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiAr ICBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAg SWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBF bmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBB bmREYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBi eSBTdGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsg IEBwYXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB0byB3cml0 ZS4NCj4NCj4gKyAgQHBhcmFtICBTdGFydEJpdCAgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNp Z25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAg ICBSYW5nZSAwLi43Lg0KPg0KPiArICBAcGFyYW0gIEVuZEJpdCAgICBUaGUgb3JkaW5hbCBvZiB0 aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAg ICAgICAgICAgICAgUmFuZ2UgMC4uNy4NCj4NCj4gKyAgQHBhcmFtICBBbmREYXRhICAgVGhlIHZh bHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0K Pg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1 cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+DQo+ICtF RklBUEkNCj4NCj4gK1BjaUJpdEZpZWxkQW5kOCAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICBFbmRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgICAg ICBBbmREYXRhDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVk KSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUV4cHJlc3NCaXRGaWVsZEFuZDggKEFkZHJlc3MsIFN0 YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEpOw0KPg0KPiArICB9IGVsc2Ugew0KPg0KPiArICAgIHJl dHVybiBQY2lDZjhCaXRGaWVsZEFuZDggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIEFuZERh dGEpOw0KPg0KPiArICB9DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBSZWFk cyBhIGJpdCBmaWVsZCBpbiBhbiA4LWJpdCBwb3J0LCBwZXJmb3JtcyBhIGJpdHdpc2UgQU5EIGZv bGxvd2VkIGJ5IGENCj4NCj4gKyAgYml0d2lzZSBPUiwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IGJh Y2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGUNCj4NCj4gKyAgOC1iaXQgcG9ydC4NCj4NCj4gKw0K Pg0KPiArICBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lm aWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGENCj4NCj4gKyAgYml0d2lzZSBBTkQgZm9sbG93ZWQg YnkgYSBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZA0KPg0KPiArICB0aGUg dmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUg OC1iaXQgUENJDQo+DQo+ICsgIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFk ZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlv biByZWdpc3RlciBpcyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0 IGFsbCBQQ0kNCj4NCj4gKyAgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXpl ZC4gRXh0cmEgbGVmdCBiaXRzIGluIGJvdGggQW5kRGF0YSBhbmQNCj4NCj4gKyAgT3JEYXRhIGFy ZSBzdHJpcHBlZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhl biBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRoZW4g QVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NF UlQoKS4NCj4NCj4gKyAgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NF UlQoKS4NCj4NCj4gKyAgSWYgQW5kRGF0YSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1 ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5kDQo+IEVuZEJpdCwgdGhlbiBBU1NFUlQo KS4NCj4NCj4gKyAgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJh bmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0K Pg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29uZmlndXJhdGlvbiBy ZWdpc3RlciB0byB3cml0ZS4NCj4NCj4gKyAgQHBhcmFtICBTdGFydEJpdCAgVGhlIG9yZGluYWwg b2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAg ICAgICAgICAgICAgICAgICBSYW5nZSAwLi43Lg0KPg0KPiArICBAcGFyYW0gIEVuZEJpdCAgICBU aGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4N Cj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uNy4NCj4NCj4gKyAgQHBhcmFtICBB bmREYXRhICAgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdp c3Rlci4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEgICAgVGhlIHZhbHVlIHRvIE9SIHdpdGggdGhl IHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbi4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRo ZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0K Pg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQ4DQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUJp dEZpZWxkQW5kVGhlbk9yOCAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAg U3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBFbmRC aXQsDQo+DQo+ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICBBbmREYXRhLA0K Pg0KPiArICBJTiAgICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsg ICkNCj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7DQo+DQo+ICsgICAgcmV0 dXJuIFBjaUV4cHJlc3NCaXRGaWVsZEFuZFRoZW5PcjggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRC aXQsIEFuZERhdGEsDQo+IE9yRGF0YSk7DQo+DQo+ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0 dXJuIFBjaUNmOEJpdEZpZWxkQW5kVGhlbk9yOCAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCwg QW5kRGF0YSwNCj4gT3JEYXRhKTsNCj4NCj4gKyAgfQ0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsv KioNCj4NCj4gKyAgUmVhZHMgYSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+ DQo+ICsNCj4NCj4gKyAgUmVhZHMgYW5kIHJldHVybnMgdGhlIDE2LWJpdCBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkNCj4gQWRkcmVzcy4NCj4NCj4gKyAgVGhpcyBmdW5j dGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9u cyBhcmUNCj4NCj4gKyAgc2VyaWFsaXplZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4g MHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxp Z25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiAr ICBAcGFyYW0gIEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBE ZXZpY2UsIEZ1bmN0aW9uDQo+IGFuZA0KPg0KPiArICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIu DQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgcmVhZCB2YWx1ZSBmcm9tIHRoZSBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtVSU5UMTYNCj4N Cj4gK0VGSUFQSQ0KPg0KPiArUGNpUmVhZDE2ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIEFkZHJlc3MNCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBpZiAo bU1NQ09ORkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVzc1JlYWQxNiAoQWRk cmVzcyk7DQo+DQo+ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOFJlYWQxNiAo QWRkcmVzcyk7DQo+DQo+ICsgIH0NCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsg IFdyaXRlcyBhIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0K PiArICBXcml0ZXMgdGhlIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZp ZWQgYnkgQWRkcmVzcyB3aXRoIHRoZQ0KPg0KPiArICB2YWx1ZSBzcGVjaWZpZWQgYnkgVmFsdWUu IFZhbHVlIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlDQo+DQo+ICsg IHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLg0K Pg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0K Pg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0 aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRkcmVz cyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+DQo+ ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBWYWx1ZSAgIFRo ZSB2YWx1ZSB0byB3cml0ZS4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0 dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiov DQo+DQo+ICtVSU5UMTYNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpV3JpdGUxNiAoDQo+DQo+ICsg IElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAg ICAgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgVmFsdWUNCj4NCj4gKyAgKQ0KPg0KPiArew0K Pg0KPiArICBpZiAobU1NQ09ORkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVz c1dyaXRlMTYgKEFkZHJlc3MsIFZhbHVlKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4NCj4gKyAgICBy ZXR1cm4gUGNpQ2Y4V3JpdGUxNiAoQWRkcmVzcywgVmFsdWUpOw0KPg0KPiArICB9DQo+DQo+ICt9 DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBQZXJmb3JtcyBhIGJpdHdpc2UgT1Igb2YgYSAx Ni1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgd2l0aA0KPg0KPiArICBhIDE2LWJpdCB2 YWx1ZS4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtcw0KPiBhDQo+DQo+ICsgIGJp dHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQg YnkNCj4NCj4gKyAgT3JEYXRhLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDE2LWJpdCBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3Rlcg0KPg0KPiArICBzcGVjaWZpZWQgYnkgQWRkcmVzcy4g VGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzDQo+ DQo+ICsgIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBD SSByZWFkIGFuZCB3cml0ZQ0KPiBvcGVyYXRpb25zDQo+DQo+ICsgIGFyZSBzZXJpYWxpemVkLg0K Pg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0K Pg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0 aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRkcmVz cyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+DQo+ ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEgIFRo ZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4g Kw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQxNg0KPg0K PiArRUZJQVBJDQo+DQo+ICtQY2lPcjE2ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAg ICAgICAgICAgICAgIEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVDE2ICAgICAgICAgICAg ICAgICAgICBPckRhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBpZiAobU1NQ09ORkVu YWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVzc09yMTYgKEFkZHJlc3MsIE9yRGF0 YSk7DQo+DQo+ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOE9yMTYgKEFkZHJl c3MsIE9yRGF0YSk7DQo+DQo+ICsgIH0NCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ ICsgIFBlcmZvcm1zIGEgYml0d2lzZSBBTkQgb2YgYSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgd2l0aCBhIDE2LWJpdA0KPg0KPiArICB2YWx1ZS4NCj4NCj4gKw0KPg0KPiArICBS ZWFkcyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBB ZGRyZXNzLCBwZXJmb3Jtcw0KPiBhDQo+DQo+ICsgIGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJl YWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsDQo+IGFuZA0KPg0K PiArICB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyIHNwZWNpZmllZCBieQ0KPg0KPiArICBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0 byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgaXMgcmV0dXJuZWQuDQo+DQo+ICsgIFRo aXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9w ZXJhdGlvbnMgYXJlDQo+DQo+ICsgIHNlcmlhbGl6ZWQuDQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRk cmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFkZHJlc3MgaXMg bm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsN Cj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJ IEJ1cywgRGV2aWNlLCBGdW5jdGlvbg0KPiBhbmQNCj4NCj4gKyAgICAgICAgICAgICAgICAgIFJl Z2lzdGVyLg0KPg0KPiArICBAcGFyYW0gIEFuZERhdGEgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRo ZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRo ZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0K Pg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQxNg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lB bmQxNiAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNz LA0KPg0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgQW5kRGF0YQ0KPg0K PiArICApDQo+DQo+ICt7DQo+DQo+ICsgIGlmIChtTU1DT05GRW5hYmxlZCkgew0KPg0KPiArICAg IHJldHVybiBQY2lFeHByZXNzQW5kMTYgKEFkZHJlc3MsIEFuZERhdGEpOw0KPg0KPiArICB9IGVs c2Ugew0KPg0KPiArICAgIHJldHVybiBQY2lDZjhBbmQxNiAoQWRkcmVzcywgQW5kRGF0YSk7DQo+ DQo+ICsgIH0NCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFBlcmZvcm1zIGEg Yml0d2lzZSBBTkQgb2YgYSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgd2l0aCBh IDE2LWJpdA0KPg0KPiArICB2YWx1ZSwgZm9sbG93ZWQgYSAgYml0d2lzZSBPUiB3aXRoIGFub3Ro ZXIgMTYtYml0IHZhbHVlLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSAxNi1iaXQgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zDQo+IGEN Cj4NCj4gKyAgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1 ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSwNCj4NCj4gKyAgcGVyZm9ybXMgYSBiaXR3aXNlIE9SIGJl dHdlZW4gdGhlIHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbiBhbmQNCj4NCj4gKyAgdGhlIHZh bHVlIHNwZWNpZmllZCBieSBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgMTYt Yml0IFBDSQ0KPg0KPiArICBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRy ZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJDQo+DQo+ICsgIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBh bGwgUENJDQo+DQo+ICsgIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQu DQo+DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCku DQo+DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnks IHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBhZGRy ZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbg0KPiBhbmQNCj4N Cj4gKyAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyLg0KPg0KPiArICBAcGFyYW0gIEFuZERhdGEg VGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4N Cj4gKyAgQHBhcmFtICBPckRhdGEgIFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSByZXN1bHQgb2Yg dGhlIEFORCBvcGVyYXRpb24uDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3Jp dHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0K PiArKiovDQo+DQo+ICtVSU5UMTYNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpQW5kVGhlbk9yMTYg KA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4N Cj4gKyAgSU4gICAgICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIEFuZERhdGEsDQo+DQo+ICsg IElOICAgICAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICBPckRhdGENCj4NCj4gKyAgKQ0KPg0K PiArew0KPg0KPiArICBpZiAobU1NQ09ORkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNp RXhwcmVzc0FuZFRoZW5PcjE2IChBZGRyZXNzLCBBbmREYXRhLCBPckRhdGEpOw0KPg0KPiArICB9 IGVsc2Ugew0KPg0KPiArICAgIHJldHVybiBQY2lDZjhBbmRUaGVuT3IxNiAoQWRkcmVzcywgQW5k RGF0YSwgT3JEYXRhKTsNCj4NCj4gKyAgfQ0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4N Cj4gKyAgUmVhZHMgYSBiaXQgZmllbGQgb2YgYSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4N Cj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgYml0IGZpZWxkIGluIGEgMTYtYml0IFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyLiBUaGUgYml0IGZpZWxkIGlzDQo+DQo+ICsgIHNwZWNpZmllZCBi eSB0aGUgU3RhcnRCaXQgYW5kIHRoZSBFbmRCaXQuIFRoZSB2YWx1ZSBvZiB0aGUgYml0IGZpZWxk IGlzDQo+DQo+ICsgIHJldHVybmVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBG RkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVk IG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBTdGFydEJp dCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBp cyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBpcyBs ZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFt ICBBZGRyZXNzICAgVGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHJlYWQuDQo+DQo+ ICsgIEBwYXJhbSAgU3RhcnRCaXQgIFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWduaWZpY2Fu dCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2Ug MC4uMTUuDQo+DQo+ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0 IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAg ICAgICBSYW5nZSAwLi4xNS4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSBvZiB0 aGUgYml0IGZpZWxkIHJlYWQgZnJvbSB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+ DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDE2DQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUJp dEZpZWxkUmVhZDE2ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAg IEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFy dEJpdCwNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEVuZEJpdA0K Pg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIGlmIChtTU1DT05GRW5hYmxlZCkgew0KPg0KPiAr ICAgIHJldHVybiBQY2lFeHByZXNzQml0RmllbGRSZWFkMTYgKEFkZHJlc3MsIFN0YXJ0Qml0LCBF bmRCaXQpOw0KPg0KPiArICB9IGVsc2Ugew0KPg0KPiArICAgIHJldHVybiBQY2lDZjhCaXRGaWVs ZFJlYWQxNiAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCk7DQo+DQo+ICsgIH0NCj4NCj4gK30N Cj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFdyaXRlcyBhIGJpdCBmaWVsZCB0byBhIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIFdyaXRlcyBWYWx1ZSB0byB0 aGUgYml0IGZpZWxkIG9mIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4gVGhlIGJpdA0K Pg0KPiArICBmaWVsZCBpcyBzcGVjaWZpZWQgYnkgdGhlIFN0YXJ0Qml0IGFuZCB0aGUgRW5kQml0 LiBBbGwgb3RoZXIgYml0cyBpbiB0aGUNCj4NCj4gKyAgZGVzdGluYXRpb24gUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIgYXJlIHByZXNlcnZlZC4gVGhlIG5ldyB2YWx1ZSBvZiB0aGUNCj4NCj4g KyAgMTYtYml0IHJlZ2lzdGVyIGlzIHJldHVybmVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJl c3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5v dCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJ ZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElm IEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVu ZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIFZh bHVlIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBT dGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBw YXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB0byB3cml0ZS4N Cj4NCj4gKyAgQHBhcmFtICBTdGFydEJpdCAgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25p ZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAgICBS YW5nZSAwLi4xNS4NCj4NCj4gKyAgQHBhcmFtICBFbmRCaXQgICAgVGhlIG9yZGluYWwgb2YgdGhl IG1vc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAg ICAgICAgICAgIFJhbmdlIDAuLjE1Lg0KPg0KPiArICBAcGFyYW0gIFZhbHVlICAgICBUaGUgbmV3 IHZhbHVlIG9mIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFs dWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4g Kw0KPg0KPiArKiovDQo+DQo+ICtVSU5UMTYNCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpQml0Rmll bGRXcml0ZTE2ICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFk ZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFydEJp dCwNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEVuZEJpdCwNCj4N Cj4gKyAgSU4gICAgICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIFZhbHVlDQo+DQo+ICsgICkN Cj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7DQo+DQo+ICsgICAgcmV0dXJu IFBjaUV4cHJlc3NCaXRGaWVsZFdyaXRlMTYgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIFZh bHVlKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpQ2Y4Qml0RmllbGRX cml0ZTE2IChBZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0LCBWYWx1ZSk7DQo+DQo+ICsgIH0NCj4N Cj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRzIGEgYml0IGZpZWxkIGluIGEg MTYtYml0IFBDSSBjb25maWd1cmF0aW9uLCBwZXJmb3JtcyBhIGJpdHdpc2UgT1IsIGFuZA0KPg0K PiArICB3cml0ZXMgdGhlIHJlc3VsdCBiYWNrIHRvIHRoZSBiaXQgZmllbGQgaW4gdGhlIDE2LWJp dCBwb3J0Lg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zDQo+IGENCj4NCj4gKyAg Yml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQgdGhlIHZhbHVlIHNwZWNpZmll ZCBieQ0KPg0KPiArICBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgMTYtYml0 IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyDQo+DQo+ICsgIHNwZWNpZmllZCBieSBBZGRyZXNz LiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgaXMN Cj4NCj4gKyAgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwg UENJIHJlYWQgYW5kIHdyaXRlDQo+IG9wZXJhdGlvbnMNCj4NCj4gKyAgYXJlIHNlcmlhbGl6ZWQu IEV4dHJhIGxlZnQgYml0cyBpbiBPckRhdGEgYXJlIHN0cmlwcGVkLg0KPg0KPiArDQo+DQo+ICsg IElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBBZGRy ZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0K Pg0KPiArICBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+ DQo+ICsgIElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ ICsgIElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ ICsgIElmIE9yRGF0YSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1ZSByYW5nZSBzcGVj aWZpZWQgYnkgU3RhcnRCaXQgYW5kDQo+IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0K Pg0KPiArICBAcGFyYW0gIEFkZHJlc3MgICBUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIg dG8gd3JpdGUuDQo+DQo+ICsgIEBwYXJhbSAgU3RhcnRCaXQgIFRoZSBvcmRpbmFsIG9mIHRoZSBs ZWFzdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAg ICAgICAgICAgUmFuZ2UgMC4uMTUuDQo+DQo+ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRp bmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiAr ICAgICAgICAgICAgICAgICAgICBSYW5nZSAwLi4xNS4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEg ICAgVGhlIHZhbHVlIHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0K Pg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDE2 DQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUJpdEZpZWxkT3IxNiAoDQo+DQo+ICsgIElOICAgICAg VUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICBFbmRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVDE2ICAgICAgICAg ICAgICAgICAgICBPckRhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBpZiAobU1NQ09O RkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxkT3IxNiAoQWRk cmVzcywgU3RhcnRCaXQsIEVuZEJpdCwgT3JEYXRhKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4NCj4g KyAgICByZXR1cm4gUGNpQ2Y4Qml0RmllbGRPcjE2IChBZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0 LCBPckRhdGEpOw0KPg0KPiArICB9DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiAr ICBSZWFkcyBhIGJpdCBmaWVsZCBpbiBhIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ciwgcGVyZm9ybXMgYSBiaXR3aXNlDQo+DQo+ICsgIEFORCwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0 IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGUgMTYtYml0IHJlZ2lzdGVyLg0KPg0KPiArDQo+ DQo+ICsgIFJlYWRzIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lm aWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zDQo+IGENCj4NCj4gKyAgYml0d2lzZSBBTkQgYmV0d2Vl biB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSwNCj4g YW5kDQo+DQo+ICsgIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5DQo+DQo+ICsgIEFkZHJlc3MuIFRoZSB2YWx1ZSB3 cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcyByZXR1cm5lZC4NCj4N Cj4gKyAgVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQg d3JpdGUgb3BlcmF0aW9ucyBhcmUNCj4NCj4gKyAgc2VyaWFsaXplZC4gRXh0cmEgbGVmdCBiaXRz IGluIEFuZERhdGEgYXJlIHN0cmlwcGVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAw eDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGln bmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBTdGFy dEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJp dCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBp cyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFuZERhdGEg aXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0 Qml0IGFuZA0KPiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFt ICBBZGRyZXNzICAgVGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLg0KPg0K PiArICBAcGFyYW0gIFN0YXJ0Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNh bnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJhbmdl IDAuLjE1Lg0KPg0KPiArICBAcGFyYW0gIEVuZEJpdCAgICBUaGUgb3JkaW5hbCBvZiB0aGUgbW9z dCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAg ICAgICAgUmFuZ2UgMC4uMTUuDQo+DQo+ICsgIEBwYXJhbSAgQW5kRGF0YSAgIFRoZSB2YWx1ZSB0 byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4g KyAgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlv biByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtVSU5UMTYNCj4NCj4gK0VGSUFQ SQ0KPg0KPiArUGNpQml0RmllbGRBbmQxNiAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICBFbmRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICBB bmREYXRhDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7 DQo+DQo+ICsgICAgcmV0dXJuIFBjaUV4cHJlc3NCaXRGaWVsZEFuZDE2IChBZGRyZXNzLCBTdGFy dEJpdCwgRW5kQml0LCBBbmREYXRhKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4NCj4gKyAgICByZXR1 cm4gUGNpQ2Y4Qml0RmllbGRBbmQxNiAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCwgQW5kRGF0 YSk7DQo+DQo+ICsgIH0NCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRz IGEgYml0IGZpZWxkIGluIGEgMTYtYml0IHBvcnQsIHBlcmZvcm1zIGEgYml0d2lzZSBBTkQgZm9s bG93ZWQgYnkgYQ0KPg0KPiArICBiaXR3aXNlIE9SLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFj ayB0byB0aGUgYml0IGZpZWxkIGluIHRoZQ0KPg0KPiArICAxNi1iaXQgcG9ydC4NCj4NCj4gKw0K Pg0KPiArICBSZWFkcyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNp ZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtcw0KPiBhDQo+DQo+ICsgIGJpdHdpc2UgQU5EIGZvbGxv d2VkIGJ5IGEgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQNCj4NCj4gKyAg dGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgdG8g dGhlIDE2LWJpdCBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQg YnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSQ0KPg0KPiArICBjb25maWd1 cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVl IHRoYXQgYWxsIFBDSQ0KPg0KPiArICByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJp YWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMgaW4gYm90aCBBbmREYXRhIGFuZA0KPg0KPiArICBPckRh dGEgYXJlIHN0cmlwcGVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZG LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEg MTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBTdGFydEJpdCBpcyBn cmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBpcyBncmVh dGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEVuZEJpdCBpcyBsZXNzIHRo YW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIEFuZERhdGEgaXMgbGFyZ2Vy IHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZA0K PiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIE9yRGF0YSBpcyBsYXJnZXIgdGhh biB0aGUgYml0bWFzayB2YWx1ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5kDQo+IEVu ZEJpdCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgICBU aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuDQo+DQo+ICsgIEBwYXJhbSAg U3RhcnRCaXQgIFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQgaW4gdGhl IGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uMTUuDQo+DQo+ ICsgIEBwYXJhbSAgRW5kQml0ICAgIFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50 IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAgICBSYW5nZSAw Li4xNS4NCj4NCj4gKyAgQHBhcmFtICBBbmREYXRhICAgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRo ZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBPckRhdGEgICAg VGhlIHZhbHVlIHRvIE9SIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbi4NCj4N Cj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQxNg0K Pg0KPiArRUZJQVBJDQo+DQo+ICtQY2lCaXRGaWVsZEFuZFRoZW5PcjE2ICgNCj4NCj4gKyAgSU4g ICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAg VUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFydEJpdCwNCj4NCj4gKyAgSU4gICAgICBVSU5U TiAgICAgICAgICAgICAgICAgICAgIEVuZEJpdCwNCj4NCj4gKyAgSU4gICAgICBVSU5UMTYgICAg ICAgICAgICAgICAgICAgIEFuZERhdGEsDQo+DQo+ICsgIElOICAgICAgVUlOVDE2ICAgICAgICAg ICAgICAgICAgICBPckRhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBpZiAobU1NQ09O RkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxkQW5kVGhlbk9y MTYgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsDQo+IEFuZERhdGEsIE9yRGF0YSk7DQo+DQo+ ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOEJpdEZpZWxkQW5kVGhlbk9yMTYg KEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEsDQo+IE9yRGF0YSk7DQo+DQo+ICsg IH0NCj4NCj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRzIGEgMzItYml0IFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIFJlYWRzIGFuZCByZXR1 cm5zIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5DQo+ IEFkZHJlc3MuDQo+DQo+ICsgIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwg UENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlDQo+DQo+ICsgIHNlcmlhbGl6ZWQuDQo+ DQo+ICsNCj4NCj4gKyAgSWYgQWRkcmVzcyA+IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+ DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnksIHRo ZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBhZGRyZXNz IHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbg0KPiBhbmQNCj4NCj4g KyAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhl IHJlYWQgdmFsdWUgZnJvbSB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsN Cj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaVJlYWQzMiAo DQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzDQo+DQo+ ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7DQo+DQo+ICsgICAg cmV0dXJuIFBjaUV4cHJlc3NSZWFkMzIgKEFkZHJlc3MpOw0KPg0KPiArICB9IGVsc2Ugew0KPg0K PiArICAgIHJldHVybiBQY2lDZjhSZWFkMzIgKEFkZHJlc3MpOw0KPg0KPiArICB9DQo+DQo+ICt9 DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBXcml0ZXMgYSAzMi1iaXQgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgV3JpdGVzIHRoZSAzMi1iaXQgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3Mgd2l0aCB0aGUNCj4NCj4g KyAgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4gVGhpcyBmdW5j dGlvbiBtdXN0IGd1YXJhbnRlZQ0KPg0KPiArICB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUg b3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4g MHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxp Z25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiAr ICBAcGFyYW0gIEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBE ZXZpY2UsIEZ1bmN0aW9uDQo+IGFuZA0KPg0KPiArICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIu DQo+DQo+ICsgIEBwYXJhbSAgVmFsdWUgICBUaGUgdmFsdWUgdG8gd3JpdGUuDQo+DQo+ICsNCj4N Cj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+DQo+ICtFRklBUEkN Cj4NCj4gK1BjaVdyaXRlMzIgKA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgQWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UMzIgICAgICAgICAgICAgICAgICAg IFZhbHVlDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7 DQo+DQo+ICsgICAgcmV0dXJuIFBjaUV4cHJlc3NXcml0ZTMyIChBZGRyZXNzLCBWYWx1ZSk7DQo+ DQo+ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOFdyaXRlMzIgKEFkZHJlc3Ms IFZhbHVlKTsNCj4NCj4gKyAgfQ0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAg UGVyZm9ybXMgYSBiaXR3aXNlIE9SIG9mIGEgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIHdpdGgNCj4NCj4gKyAgYSAzMi1iaXQgdmFsdWUuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMg dGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVz cywgcGVyZm9ybXMNCj4gYQ0KPg0KPiArICBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJlYWQgcmVz dWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5DQo+DQo+ICsgIE9yRGF0YSwgYW5kIHdyaXRl cyB0aGUgcmVzdWx0IHRvIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXINCj4N Cj4gKyAgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlciBpcw0KPg0KPiArICByZXR1cm5lZC4gVGhpcyBmdW5jdGlv biBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUNCj4gb3BlcmF0aW9u cw0KPg0KPiArICBhcmUgc2VyaWFsaXplZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4g MHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxp Z25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiAr ICBAcGFyYW0gIEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBE ZXZpY2UsIEZ1bmN0aW9uDQo+IGFuZA0KPg0KPiArICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIu DQo+DQo+ICsgIEBwYXJhbSAgT3JEYXRhICBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0aGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUg d3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0K Pg0KPiArKiovDQo+DQo+ICtVSU5UMzINCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpT3IzMiAoDQo+ DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiAr ICBJTiAgICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICkNCj4N Cj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7DQo+DQo+ICsgICAgcmV0dXJuIFBj aUV4cHJlc3NPcjMyIChBZGRyZXNzLCBPckRhdGEpOw0KPg0KPiArICB9IGVsc2Ugew0KPg0KPiAr ICAgIHJldHVybiBQY2lDZjhPcjMyIChBZGRyZXNzLCBPckRhdGEpOw0KPg0KPiArICB9DQo+DQo+ ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBQZXJmb3JtcyBhIGJpdHdpc2UgQU5EIG9m IGEgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHdpdGggYSAzMi1iaXQNCj4NCj4g KyAgdmFsdWUuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMNCj4gYQ0KPg0KPiAr ICBiaXR3aXNlIEFORCBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQgdGhlIHZhbHVlIHNwZWNp ZmllZCBieSBBbmREYXRhLA0KPiBhbmQNCj4NCj4gKyAgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhl IDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkNCj4NCj4gKyAg QWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIGlzIHJldHVybmVkLg0KPg0KPiArICBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRo YXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZQ0KPg0KPiArICBzZXJpYWxp emVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3MgPiAweDBGRkZGRkZGLCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5k YXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUg YWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb24NCj4gYW5k DQo+DQo+ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rlci4NCj4NCj4gKyAgQHBhcmFtICBBbmRE YXRhIFRoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIu DQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtVSU5U MzINCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpQW5kMzIgKA0KPg0KPiArICBJTiAgICAgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UMzIgICAg ICAgICAgICAgICAgICAgIEFuZERhdGENCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBpZiAo bU1NQ09ORkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVzc0FuZDMyIChBZGRy ZXNzLCBBbmREYXRhKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpQ2Y4 QW5kMzIgKEFkZHJlc3MsIEFuZERhdGEpOw0KPg0KPiArICB9DQo+DQo+ICt9DQo+DQo+ICsNCj4N Cj4gKy8qKg0KPg0KPiArICBQZXJmb3JtcyBhIGJpdHdpc2UgQU5EIG9mIGEgMzItYml0IFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIHdpdGggYSAzMi1iaXQNCj4NCj4gKyAgdmFsdWUsIGZvbGxv d2VkIGEgIGJpdHdpc2UgT1Igd2l0aCBhbm90aGVyIDMyLWJpdCB2YWx1ZS4NCj4NCj4gKw0KPg0K PiArICBSZWFkcyB0aGUgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmll ZCBieSBBZGRyZXNzLCBwZXJmb3Jtcw0KPiBhDQo+DQo+ICsgIGJpdHdpc2UgQU5EIGJldHdlZW4g dGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsDQo+DQo+ ICsgIHBlcmZvcm1zIGEgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZXN1bHQgb2YgdGhlIEFORCBv cGVyYXRpb24gYW5kDQo+DQo+ICsgIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgT3JEYXRhLCBhbmQg d3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDMyLWJpdCBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlv biByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhl IFBDSQ0KPg0KPiArICBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1 bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSQ0KPg0KPiArICByZWFkIGFuZCB3cml0 ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLg0KPg0KPiArDQo+DQo+ICsgIElmIEFkZHJlc3Mg PiAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBh bGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArDQo+DQo+ ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMs IERldmljZSwgRnVuY3Rpb24NCj4gYW5kDQo+DQo+ICsgICAgICAgICAgICAgICAgICBSZWdpc3Rl ci4NCj4NCj4gKyAgQHBhcmFtICBBbmREYXRhIFRoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsgIEBwYXJhbSAgT3JEYXRhICBUaGUgdmFs dWUgdG8gT1Igd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBBTkQgb3BlcmF0aW9uLg0KPg0KPiArDQo+ DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+DQo+ICtF RklBUEkNCj4NCj4gK1BjaUFuZFRoZW5PcjMyICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIEFkZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAg ICAgICAgICAgICBBbmREYXRhLA0KPg0KPiArICBJTiAgICAgIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgT3JEYXRhDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFi bGVkKSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUV4cHJlc3NBbmRUaGVuT3IzMiAoQWRkcmVzcywg QW5kRGF0YSwgT3JEYXRhKTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4NCj4gKyAgICByZXR1cm4gUGNp Q2Y4QW5kVGhlbk9yMzIgKEFkZHJlc3MsIEFuZERhdGEsIE9yRGF0YSk7DQo+DQo+ICsgIH0NCj4N Cj4gK30NCj4NCj4gKw0KPg0KPiArLyoqDQo+DQo+ICsgIFJlYWRzIGEgYml0IGZpZWxkIG9mIGEg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIGJp dCBmaWVsZCBpbiBhIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4gVGhlIGJpdCBm aWVsZCBpcw0KPg0KPiArICBzcGVjaWZpZWQgYnkgdGhlIFN0YXJ0Qml0IGFuZCB0aGUgRW5kQml0 LiBUaGUgdmFsdWUgb2YgdGhlIGJpdCBmaWVsZCBpcw0KPg0KPiArICByZXR1cm5lZC4NCj4NCj4g Kw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4g KyAgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBB U1NFUlQoKS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFT U0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciB0byByZWFkLg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0Qml0ICBUaGUgb3Jk aW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ ICsgICAgICAgICAgICAgICAgICAgIFJhbmdlIDAuLjMxLg0KPg0KPiArICBAcGFyYW0gIEVuZEJp dCAgICBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBm aWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uMzEuDQo+DQo+ICsNCj4N Cj4gKyAgQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGJpdCBmaWVsZCByZWFkIGZyb20gdGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQz Mg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lCaXRGaWVsZFJlYWQzMiAoDQo+DQo+ICsgIElOICAg ICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4g ICAgICAgICAgICAgICAgICAgICBFbmRCaXQNCj4NCj4gKyAgKQ0KPg0KPiArew0KPg0KPiArICBp ZiAobU1NQ09ORkVuYWJsZWQpIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxk UmVhZDMyIChBZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0KTsNCj4NCj4gKyAgfSBlbHNlIHsNCj4N Cj4gKyAgICByZXR1cm4gUGNpQ2Y4Qml0RmllbGRSZWFkMzIgKEFkZHJlc3MsIFN0YXJ0Qml0LCBF bmRCaXQpOw0KPg0KPiArICB9DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0KPiArICBX cml0ZXMgYSBiaXQgZmllbGQgdG8gYSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4g Kw0KPg0KPiArICBXcml0ZXMgVmFsdWUgdG8gdGhlIGJpdCBmaWVsZCBvZiB0aGUgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIuIFRoZSBiaXQNCj4NCj4gKyAgZmllbGQgaXMgc3BlY2lmaWVkIGJ5 IHRoZSBTdGFydEJpdCBhbmQgdGhlIEVuZEJpdC4gQWxsIG90aGVyIGJpdHMgaW4gdGhlDQo+DQo+ ICsgIGRlc3RpbmF0aW9uIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGFyZSBwcmVzZXJ2ZWQu IFRoZSBuZXcgdmFsdWUgb2YgdGhlDQo+DQo+ICsgIDMyLWJpdCByZWdpc3RlciBpcyByZXR1cm5l ZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQo KS4NCj4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFy eSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMx LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0 aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0 aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBWYWx1ZSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFz ayB2YWx1ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5kDQo+IEVuZEJpdCwgdGhlbiBB U1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFyYW0gIEFkZHJlc3MgICBUaGUgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuDQo+DQo+ICsgIEBwYXJhbSAgU3RhcnRCaXQgIFRo ZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4N Cj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uMzEuDQo+DQo+ICsgIEBwYXJhbSAg RW5kQml0ICAgIFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUg Yml0IGZpZWxkLg0KPg0KPiArICAgICAgICAgICAgICAgICAgICBSYW5nZSAwLi4zMS4NCj4NCj4g KyAgQHBhcmFtICBWYWx1ZSAgICAgVGhlIG5ldyB2YWx1ZSBvZiB0aGUgYml0IGZpZWxkLg0KPg0K PiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoqLw0KPg0KPiArVUlOVDMyDQo+ DQo+ICtFRklBUEkNCj4NCj4gK1BjaUJpdEZpZWxkV3JpdGUzMiAoDQo+DQo+ICsgIElOICAgICAg VUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgU3RhcnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICBFbmRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAg ICAgICAgICAgICBWYWx1ZQ0KPg0KPiArICApDQo+DQo+ICt7DQo+DQo+ICsgIGlmIChtTU1DT05G RW5hYmxlZCkgew0KPg0KPiArICAgIHJldHVybiBQY2lFeHByZXNzQml0RmllbGRXcml0ZTMyIChB ZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0LCBWYWx1ZSk7DQo+DQo+ICsgIH0gZWxzZSB7DQo+DQo+ ICsgICAgcmV0dXJuIFBjaUNmOEJpdEZpZWxkV3JpdGUzMiAoQWRkcmVzcywgU3RhcnRCaXQsIEVu ZEJpdCwgVmFsdWUpOw0KPg0KPiArICB9DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8qKg0KPg0K PiArICBSZWFkcyBhIGJpdCBmaWVsZCBpbiBhIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiwgcGVy Zm9ybXMgYSBiaXR3aXNlIE9SLCBhbmQNCj4NCj4gKyAgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0 byB0aGUgYml0IGZpZWxkIGluIHRoZSAzMi1iaXQgcG9ydC4NCj4NCj4gKw0KPg0KPiArICBSZWFk cyB0aGUgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRy ZXNzLCBwZXJmb3Jtcw0KPiBhDQo+DQo+ICsgIGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVhZCBy ZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkNCj4NCj4gKyAgT3JEYXRhLCBhbmQgd3Jp dGVzIHRoZSByZXN1bHQgdG8gdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlcg0K Pg0KPiArICBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzDQo+DQo+ICsgIHJldHVybmVkLiBUaGlzIGZ1bmN0 aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZQ0KPiBvcGVyYXRp b25zDQo+DQo+ICsgIGFyZSBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMgaW4gT3JEYXRhIGFy ZSBzdHJpcHBlZC4NCj4NCj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhl biBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJp dCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRl ciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0 aGFuIDMxLCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0 YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLg0KPg0KPiArICBJZiBPckRhdGEgaXMgbGFyZ2VyIHRoYW4g dGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZA0KPiBFbmRC aXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsNCj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzICAgVGhl IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLg0KPg0KPiArICBAcGFyYW0gIFN0 YXJ0Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBi aXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJhbmdlIDAuLjMxLg0KPg0KPiAr ICBAcGFyYW0gIEVuZEJpdCAgICBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBi aXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4gKyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4u MzEuDQo+DQo+ICsgIEBwYXJhbSAgT3JEYXRhICAgIFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBAcmV0dXJuIFRoZSB2 YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLg0KPg0K PiArDQo+DQo+ICsqKi8NCj4NCj4gK1VJTlQzMg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lCaXRG aWVsZE9yMzIgKA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRk cmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0YXJ0Qml0 LA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgRW5kQml0LA0KPg0K PiArICBJTiAgICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICkN Cj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7DQo+DQo+ICsgICAgcmV0dXJu IFBjaUV4cHJlc3NCaXRGaWVsZE9yMzIgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIE9yRGF0 YSk7DQo+DQo+ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOEJpdEZpZWxkT3Iz MiAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCwgT3JEYXRhKTsNCj4NCj4gKyAgfQ0KPg0KPiAr fQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgUmVhZHMgYSBiaXQgZmllbGQgaW4gYSAzMi1i aXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsIHBlcmZvcm1zIGEgYml0d2lzZQ0KPg0KPiAr ICBBTkQsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCBiYWNrIHRvIHRoZSBiaXQgZmllbGQgaW4gdGhl IDMyLWJpdCByZWdpc3Rlci4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUgMzItYml0IFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtcw0KPiBh DQo+DQo+ICsgIGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFs dWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsDQo+IGFuZA0KPg0KPiArICB3cml0ZXMgdGhlIHJlc3Vs dCB0byB0aGUgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieQ0K Pg0KPiArICBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgaXMgcmV0dXJuZWQuDQo+DQo+ICsgIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFy YW50ZWUgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlDQo+DQo+ICsg IHNlcmlhbGl6ZWQuIEV4dHJhIGxlZnQgYml0cyBpbiBBbmREYXRhIGFyZSBzdHJpcHBlZC4NCj4N Cj4gKw0KPg0KPiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4N Cj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhl biBBU1NFUlQoKS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVu IEFTU0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFT U0VSVCgpLg0KPg0KPiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFT U0VSVCgpLg0KPg0KPiArICBJZiBBbmREYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZh bHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VS VCgpLg0KPg0KPiArDQo+DQo+ICsgIEBwYXJhbSAgQWRkcmVzcyAgIFRoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciB0byB3cml0ZS4NCj4NCj4gKyAgQHBhcmFtICBTdGFydEJpdCAgVGhlIG9y ZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLg0KPg0K PiArICAgICAgICAgICAgICAgICAgICBSYW5nZSAwLi4zMS4NCj4NCj4gKyAgQHBhcmFtICBFbmRC aXQgICAgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQg ZmllbGQuDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgIFJhbmdlIDAuLjMxLg0KPg0KPiArICBA cGFyYW0gIEFuZERhdGEgICBUaGUgdmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyLg0KPg0KPiArDQo+DQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4g YmFjayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuDQo+DQo+ICsNCj4NCj4gKyoq Lw0KPg0KPiArVUlOVDMyDQo+DQo+ICtFRklBUEkNCj4NCj4gK1BjaUJpdEZpZWxkQW5kMzIgKA0K Pg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcywNCj4NCj4g KyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0YXJ0Qml0LA0KPg0KPiArICBJ TiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgRW5kQml0LA0KPg0KPiArICBJTiAgICAg IFVJTlQzMiAgICAgICAgICAgICAgICAgICAgQW5kRGF0YQ0KPg0KPiArICApDQo+DQo+ICt7DQo+ DQo+ICsgIGlmIChtTU1DT05GRW5hYmxlZCkgew0KPg0KPiArICAgIHJldHVybiBQY2lFeHByZXNz Qml0RmllbGRBbmQzMiAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCwgQW5kRGF0YSk7DQo+DQo+ ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUNmOEJpdEZpZWxkQW5kMzIgKEFkZHJl c3MsIFN0YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEpOw0KPg0KPiArICB9DQo+DQo+ICt9DQo+DQo+ ICsNCj4NCj4gKy8qKg0KPg0KPiArICBSZWFkcyBhIGJpdCBmaWVsZCBpbiBhIDMyLWJpdCBwb3J0 LCBwZXJmb3JtcyBhIGJpdHdpc2UgQU5EIGZvbGxvd2VkIGJ5IGENCj4NCj4gKyAgYml0d2lzZSBP UiwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGUNCj4N Cj4gKyAgMzItYml0IHBvcnQuDQo+DQo+ICsNCj4NCj4gKyAgUmVhZHMgdGhlIDMyLWJpdCBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMNCj4g YQ0KPg0KPiArICBiaXR3aXNlIEFORCBmb2xsb3dlZCBieSBhIGJpdHdpc2UgT1IgYmV0d2VlbiB0 aGUgcmVhZCByZXN1bHQgYW5kDQo+DQo+ICsgIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgQW5kRGF0 YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSAzMi1iaXQgUENJDQo+DQo+ICsgIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVu IHRvIHRoZSBQQ0kNCj4NCj4gKyAgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcyByZXR1cm5lZC4g VGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kNCj4NCj4gKyAgcmVhZCBh bmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4gRXh0cmEgbGVmdCBiaXRzIGluIGJv dGggQW5kRGF0YSBhbmQNCj4NCj4gKyAgT3JEYXRhIGFyZSBzdHJpcHBlZC4NCj4NCj4gKw0KPg0K PiArICBJZiBBZGRyZXNzID4gMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKyAgSWYg QWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQo KS4NCj4NCj4gKyAgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgp Lg0KPg0KPiArICBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgpLg0K Pg0KPiArICBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLg0K Pg0KPiArICBJZiBBbmREYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdl IHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQNCj4gRW5kQml0LCB0aGVuIEFTU0VSVCgpLg0KPg0K PiArICBJZiBPckRhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3Bl Y2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZA0KPiBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsN Cj4NCj4gKyAgQHBhcmFtICBBZGRyZXNzICAgVGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy IHRvIHdyaXRlLg0KPg0KPiArICBAcGFyYW0gIFN0YXJ0Qml0ICBUaGUgb3JkaW5hbCBvZiB0aGUg bGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuDQo+DQo+ICsgICAgICAgICAg ICAgICAgICAgIFJhbmdlIDAuLjMxLg0KPg0KPiArICBAcGFyYW0gIEVuZEJpdCAgICBUaGUgb3Jk aW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC4NCj4NCj4g KyAgICAgICAgICAgICAgICAgICAgUmFuZ2UgMC4uMzEuDQo+DQo+ICsgIEBwYXJhbSAgQW5kRGF0 YSAgIFRoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIu DQo+DQo+ICsgIEBwYXJhbSAgT3JEYXRhICAgIFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSByZXN1 bHQgb2YgdGhlIEFORCBvcGVyYXRpb24uDQo+DQo+ICsNCj4NCj4gKyAgQHJldHVybiBUaGUgdmFs dWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4NCj4NCj4g Kw0KPg0KPiArKiovDQo+DQo+ICtVSU5UMzINCj4NCj4gK0VGSUFQSQ0KPg0KPiArUGNpQml0Rmll bGRBbmRUaGVuT3IzMiAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICBBZGRyZXNzLA0KPg0KPiArICBJTiAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3Rh cnRCaXQsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBFbmRCaXQs DQo+DQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBBbmREYXRhLA0KPg0K PiArICBJTiAgICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgT3JEYXRhDQo+DQo+ICsgICkN Cj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNPTkZFbmFibGVkKSB7DQo+DQo+ICsgICAgcmV0dXJu IFBjaUV4cHJlc3NCaXRGaWVsZEFuZFRoZW5PcjMyIChBZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0 LA0KPiBBbmREYXRhLCBPckRhdGEpOw0KPg0KPiArICB9IGVsc2Ugew0KPg0KPiArICAgIHJldHVy biBQY2lDZjhCaXRGaWVsZEFuZFRoZW5PcjMyIChBZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0LCBB bmREYXRhLA0KPiBPckRhdGEpOw0KPg0KPiArICB9DQo+DQo+ICt9DQo+DQo+ICsNCj4NCj4gKy8q Kg0KPg0KPiArICBSZWFkcyBhIHJhbmdlIG9mIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyBp bnRvIGEgY2FsbGVyIHN1cHBsaWVkIGJ1ZmZlci4NCj4NCj4gKw0KPg0KPiArICBSZWFkcyB0aGUg cmFuZ2Ugb2YgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzIHNwZWNpZmllZCBieSBTdGFydEFk ZHJlc3MNCj4gYW5kDQo+DQo+ICsgIFNpemUgaW50byB0aGUgYnVmZmVyIHNwZWNpZmllZCBieSBC dWZmZXIuIFRoaXMgZnVuY3Rpb24gb25seSBhbGxvd3MgdGhlIFBDSQ0KPg0KPiArICBjb25maWd1 cmF0aW9uIHJlZ2lzdGVycyBmcm9tIGEgc2luZ2xlIFBDSSBmdW5jdGlvbiB0byBiZSByZWFkLiBT aXplIGlzDQo+DQo+ICsgIHJldHVybmVkLiBXaGVuIHBvc3NpYmxlIDMyLWJpdCBQQ0kgY29uZmln dXJhdGlvbiByZWFkIGN5Y2xlcyBhcmUgdXNlZCB0bw0KPiByZWFkDQo+DQo+ICsgIGZyb20gU3Rh cnRBZHJlc3MgdG8gU3RhcnRBZGRyZXNzICsgU2l6ZS4gRHVlIHRvIGFsaWdubWVudCByZXN0cmlj dGlvbnMsIDgtDQo+IGJpdA0KPg0KPiArICBhbmQgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJl YWQgY3ljbGVzIG1heSBiZSB1c2VkIGF0IHRoZSBiZWdpbm5pbmcgYW5kDQo+IHRoZQ0KPg0KPiAr ICBlbmQgb2YgdGhlIHJhbmdlLg0KPg0KPiArDQo+DQo+ICsgIElmIFN0YXJ0QWRkcmVzcyA+IDB4 MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmICgoU3RhcnRBZGRyZXNzICYgMHhG RkYpICsgU2l6ZSkgPiAweDEwMDAsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIFNpemUgPiAw IGFuZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFy YW0gIFN0YXJ0QWRkcmVzcyAgVGhlIHN0YXJ0aW5nIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQ Q0kgQnVzLA0KPiBEZXZpY2UsDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlv biBhbmQgUmVnaXN0ZXIuDQo+DQo+ICsgIEBwYXJhbSAgU2l6ZSAgICAgICAgICBUaGUgc2l6ZSBp biBieXRlcyBvZiB0aGUgdHJhbnNmZXIuDQo+DQo+ICsgIEBwYXJhbSAgQnVmZmVyICAgICAgICBU aGUgcG9pbnRlciB0byBhIGJ1ZmZlciByZWNlaXZpbmcgdGhlIGRhdGEgcmVhZC4NCj4NCj4gKw0K Pg0KPiArICBAcmV0dXJuIFNpemUNCj4NCj4gKw0KPg0KPiArKiovDQo+DQo+ICtVSU5UTg0KPg0K PiArRUZJQVBJDQo+DQo+ICtQY2lSZWFkQnVmZmVyICgNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgIFN0YXJ0QWRkcmVzcywNCj4NCj4gKyAgSU4gICAgICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgIFNpemUsDQo+DQo+ICsgIE9VVCAgICAgVk9JRCAgICAgICAgICAg ICAgICAgICAgICAqQnVmZmVyDQo+DQo+ICsgICkNCj4NCj4gK3sNCj4NCj4gKyAgaWYgKG1NTUNP TkZFbmFibGVkKSB7DQo+DQo+ICsgICAgcmV0dXJuIFBjaUV4cHJlc3NSZWFkQnVmZmVyIChTdGFy dEFkZHJlc3MsIFNpemUsIEJ1ZmZlcik7DQo+DQo+ICsgIH0gZWxzZSB7DQo+DQo+ICsgICAgcmV0 dXJuIFBjaUNmOFJlYWRCdWZmZXIgKFN0YXJ0QWRkcmVzcywgU2l6ZSwgQnVmZmVyKTsNCj4NCj4g KyAgfQ0KPg0KPiArfQ0KPg0KPiArDQo+DQo+ICsvKioNCj4NCj4gKyAgQ29waWVzIHRoZSBkYXRh IGluIGEgY2FsbGVyIHN1cHBsaWVkIGJ1ZmZlciB0byBhIHNwZWNpZmllZCByYW5nZSBvZiBQQ0kN Cj4NCj4gKyAgY29uZmlndXJhdGlvbiBzcGFjZS4NCj4NCj4gKw0KPg0KPiArICBXcml0ZXMgdGhl IHJhbmdlIG9mIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyBzcGVjaWZpZWQgYnkgU3RhcnRB ZGRyZXNzDQo+IGFuZA0KPg0KPiArICBTaXplIGZyb20gdGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkg QnVmZmVyLiBUaGlzIGZ1bmN0aW9uIG9ubHkgYWxsb3dzIHRoZSBQQ0kNCj4NCj4gKyAgY29uZmln dXJhdGlvbiByZWdpc3RlcnMgZnJvbSBhIHNpbmdsZSBQQ0kgZnVuY3Rpb24gdG8gYmUgd3JpdHRl bi4gU2l6ZSBpcw0KPg0KPiArICByZXR1cm5lZC4gV2hlbiBwb3NzaWJsZSAzMi1iaXQgUENJIGNv bmZpZ3VyYXRpb24gd3JpdGUgY3ljbGVzIGFyZSB1c2VkIHRvDQo+DQo+ICsgIHdyaXRlIGZyb20g U3RhcnRBZHJlc3MgdG8gU3RhcnRBZGRyZXNzICsgU2l6ZS4gRHVlIHRvIGFsaWdubWVudA0KPiBy ZXN0cmljdGlvbnMsDQo+DQo+ICsgIDgtYml0IGFuZCAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24g d3JpdGUgY3ljbGVzIG1heSBiZSB1c2VkIGF0IHRoZSBiZWdpbm5pbmcNCj4NCj4gKyAgYW5kIHRo ZSBlbmQgb2YgdGhlIHJhbmdlLg0KPg0KPiArDQo+DQo+ICsgIElmIFN0YXJ0QWRkcmVzcyA+IDB4 MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmICgoU3RhcnRBZGRyZXNzICYgMHhG RkYpICsgU2l6ZSkgPiAweDEwMDAsIHRoZW4gQVNTRVJUKCkuDQo+DQo+ICsgIElmIFNpemUgPiAw IGFuZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4NCj4gKw0KPg0KPiArICBAcGFy YW0gIFN0YXJ0QWRkcmVzcyAgVGhlIHN0YXJ0aW5nIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQ Q0kgQnVzLA0KPiBEZXZpY2UsDQo+DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlv biBhbmQgUmVnaXN0ZXIuDQo+DQo+ICsgIEBwYXJhbSAgU2l6ZSAgICAgICAgICBUaGUgc2l6ZSBp biBieXRlcyBvZiB0aGUgdHJhbnNmZXIuDQo+DQo+ICsgIEBwYXJhbSAgQnVmZmVyICAgICAgICBU aGUgcG9pbnRlciB0byBhIGJ1ZmZlciBjb250YWluaW5nIHRoZSBkYXRhIHRvIHdyaXRlLg0KPg0K PiArDQo+DQo+ICsgIEByZXR1cm4gU2l6ZSB3cml0dGVuIHRvIFN0YXJ0QWRkcmVzcy4NCj4NCj4g Kw0KPg0KPiArKiovDQo+DQo+ICtVSU5UTg0KPg0KPiArRUZJQVBJDQo+DQo+ICtQY2lXcml0ZUJ1 ZmZlciAoDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFydEFk ZHJlc3MsDQo+DQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTaXplLA0K Pg0KPiArICBJTiAgICAgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlcg0KPg0KPiAr ICApDQo+DQo+ICt7DQo+DQo+ICsgIGlmIChtTU1DT05GRW5hYmxlZCkgew0KPg0KPiArICAgIHJl dHVybiBQY2lFeHByZXNzV3JpdGVCdWZmZXIgKFN0YXJ0QWRkcmVzcywgU2l6ZSwgQnVmZmVyKTsN Cj4NCj4gKyAgfSBlbHNlIHsNCj4NCj4gKyAgICByZXR1cm4gUGNpQ2Y4V3JpdGVCdWZmZXIgKFN0 YXJ0QWRkcmVzcywgU2l6ZSwgQnVmZmVyKTsNCj4NCj4gKyAgfQ0KPg0KPiArfQ0KPg0KPiBkaWZm IC0tZ2l0IGEvVWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9CYXNlUGNp RXhwcmVzc0xpYi51bmkNCj4gYi9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lFeHByZXNz TGliL0Jhc2VQY2lFeHByZXNzTGliLnVuaQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwMDAuLjk4MDEwZWYyZjkyOQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1Vl ZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NMaWIvQmFzZVBjaUV4cHJlc3NMaWIu dW5pDQo+IEBAIC0wLDAgKzEsMTcgQEANCj4gKy8vIC8qKiBAZmlsZQ0KPg0KPiArLy8gSW5zdGFu Y2Ugb2YgUENJIEV4cHJlc3MgTGlicmFyeSB1c2luZyB0aGUgMjU2IE1CIFBDSSBFeHByZXNzIE1N SU8NCj4gd2luZG93Lg0KPg0KPiArLy8NCj4NCj4gKy8vIFBDSSBFeHByZXNzIExpYnJhcnkgdGhh dCB1c2VzIHRoZSAyNTYgTUIgUENJIEV4cHJlc3MgTU1JTyB3aW5kb3cgdG8NCj4gcGVyZm9ybQ0K Pg0KPiArLy8gUENJIENvbmZpZ3VyYXRpb24gY3ljbGVzLiBMYXllcnMgb24gdG9wIG9mIGFuIEkv TyBMaWJyYXJ5IGluc3RhbmNlLg0KPg0KPiArLy8NCj4NCj4gKy8vIENvcHlyaWdodCAoYykgMjAw NyAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4N Cj4gKy8vDQo+DQo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPg0KPiArLy8NCj4NCj4gKy8vICoqLw0KPg0KPiArDQo+DQo+ICsNCj4NCj4gKyNzdHJp bmcgU1RSX01PRFVMRV9BQlNUUkFDVCAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkluc3Rh bmNlIG9mIFBDSQ0KPiBFeHByZXNzIExpYnJhcnkgdXNpbmcgdGhlIDI1NiBNQiBQQ0kgRXhwcmVz cyBNTUlPIHdpbmRvdyINCj4NCj4gKw0KPg0KPiArI3N0cmluZyBTVFJfTU9EVUxFX0RFU0NSSVBU SU9OICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiUENJIEV4cHJlc3MNCj4gTGlicmFyeSB0aGF0 IHVzZXMgdGhlIDI1NiBNQiBQQ0kgRXhwcmVzcyBNTUlPIHdpbmRvdyB0byBwZXJmb3JtIFBDSQ0K PiBDb25maWd1cmF0aW9uIGN5Y2xlcy4gTGF5ZXJzIG9uIHRvcCBvZiBhbiBJL08gTGlicmFyeSBp bnN0YW5jZS4iDQo+DQo+ICsNCj4NCj4gZGlmZiAtLWdpdA0KPiBhL1VlZmlQYXlsb2FkUGtnL0xp YnJhcnkvQmFzZVBjaUxpYlBjaUV4cHJlc3MvQmFzZVBjaUxpYlBjaUV4cHJlc3MudW5pDQo+IGIv VWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpTGliUGNpRXhwcmVzcy9CYXNlUGNpTGliUGNp RXhwcmVzcy51bmkNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAw Li5jY2M0NTYzNTZjZjINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9VZWZpUGF5bG9hZFBr Zy9MaWJyYXJ5L0Jhc2VQY2lMaWJQY2lFeHByZXNzL0Jhc2VQY2lMaWJQY2lFeHByZXNzLnVuaQ0K PiBAQCAtMCwwICsxLDE3IEBADQo+ICsvLyAvKiogQGZpbGUNCj4NCj4gKy8vIEluc3RhbmNlIG9m IFBDSSBMaWJyYXJ5IGJhc2VkIG9uIFBDSSBFeHByZXNzIExpYnJhcnkuDQo+DQo+ICsvLw0KPg0K PiArLy8gUENJIExpYnJhcnkgdGhhdCB1c2VzIHRoZSAyNTYgTUIgUENJIEV4cHJlc3MgTU1JTyB3 aW5kb3cgdG8gcGVyZm9ybQ0KPiBQQ0kNCj4NCj4gKy8vIENvbmZpZ3VyYXRpb24gY3ljbGVzLiBM YXllcnMgb24gb25lIFBDSSBFeHByZXNzIExpYnJhcnkgaW5zdGFuY2UuDQo+DQo+ICsvLw0KPg0K PiArLy8gQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPg0KPiArLy8NCj4NCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+DQo+ICsvLw0KPg0KPiArLy8gKiovDQo+DQo+ ICsNCj4NCj4gKw0KPg0KPiArI3N0cmluZyBTVFJfTU9EVUxFX0FCU1RSQUNUICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiSW5zdGFuY2Ugb2YgUENJDQo+IExpYnJhcnkgYmFzZWQgb24gUENJ IEV4cHJlc3MgTGlicmFyeSINCj4NCj4gKw0KPg0KPiArI3N0cmluZyBTVFJfTU9EVUxFX0RFU0NS SVBUSU9OICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiUENJIExpYnJhcnkgdGhhdA0KPiB1c2Vz IHRoZSAyNTYgTUIgUENJIEV4cHJlc3MgTU1JTyB3aW5kb3cgdG8gcGVyZm9ybSBQQ0kgQ29uZmln dXJhdGlvbg0KPiBjeWNsZXMuIExheWVycyBvbiBhbiBQQ0kgRXhwcmVzcyBMaWJyYXJ5IGluc3Rh bmNlLiINCj4NCj4gKw0KPg0KPiAtLQ0KPiAyLjI1LjQNCj4NCj4NCj4gLT0tPS09LT0tPS09DQo+ IEdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBn cm91cC4NCj4NCj4gVmlldy9SZXBseSBPbmxpbmUgKCM2MTY1NSk6IGh0dHBzOi8vZWRrMi5ncm91 cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzYxNjU1DQo+IE11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9n cm91cHMuaW8vbXQvNzUwODAxMDQvMTc4MTM3NQ0KPiBHcm91cCBPd25lcjogZGV2ZWwrb3duZXJA ZWRrMi5ncm91cHMuaW88bWFpbHRvOmRldmVsJTJCb3duZXJAZWRrMi5ncm91cHMuaW8+DQo+IFVu c3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgIFtndW8uZG9u Z0BpbnRlbC5jb208bWFpbHRvOmd1by5kb25nQGludGVsLmNvbT5dDQo+IC09LT0tPS09LT0tPQ0K DQoNCi0tDQpbTWFyY2VsbG8gU3lsdmVzdGVyIEJhdWVyXQ0KDQpbaHR0cDovL3N0YXRpYy45ZWxl bWVudHMuY29tL2xvZ28tc2lnbmF0dXJlLnBuZ10NCjllbGVtZW50cyBBZ2VuY3kgR21iSCwgS29y dHVtc3RyYcOfZSAxOS0yMSwgNDQ3ODcgQm9jaHVtLCBHZXJtYW55DQpFbWFpbDogIFtERUlORSBF TUFJTCBBRERSRVNTRV08aHR0cHM6Ly9zdGF0aWMuOWVsZW1lbnRzLmNvbS9lbWFpbF9zaWduYXR1 ci5odG1sPg0KUGhvbmU6ICArNDkgMjM0IDY4IDk0IDE4ODx0ZWw6KzQ5MjM0Njg5NDE4OD4NCk1v YmlsZTogICs0OSAxNzIyODQ3NjE4PHRlbDorNDkxNzIyODQ3NjE4Pg0KDQpTaXR6IGRlciBHZXNl bGxzY2hhZnQ6IEJvY2h1bQ0KSGFuZGVsc3JlZ2lzdGVyOiBBbXRzZ2VyaWNodCBCb2NodW0sIEhS QiAxNzUxOQ0KR2VzY2jDpGZ0c2bDvGhydW5nOiBTZWJhc3RpYW4gRGV1dHNjaCwgRXJheSBCYXNh cg0KDQpEYXRlbnNjaHV0emhpbndlaXNlIG5hY2ggQXJ0LiAxMyBEU0dWTzxodHRwczovLzllbGVt ZW50cy5jb20vcHJpdmFjeT4NCg0K --_000_BYAPR11MB36535D6E6395791294361A479E920BYAPR11MB3653namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7 YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0 I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl DQoJe2ZvbnQtZmFtaWx5OkhlbHZldGljYTsNCglwYW5vc2UtMToyIDExIDYgNCAyIDIgMiAyIDIg NDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0x OjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJp Ow0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1m YW1pbHk6Ik1pY3Jvc29mdCBZaSBCYWl0aSI7DQoJcGFub3NlLTE6MyAwIDUgMCAwIDAgMCAwIDAg MDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwg ZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglm b250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCmE6 bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9y OmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNv SHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBs ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnAubXNvbm9ybWFsMCwgbGkubXNvbm9y bWFsMCwgZGl2Lm1zb25vcm1hbDANCgl7bXNvLXN0eWxlLW5hbWU6bXNvbm9ybWFsOw0KCW1zby1t YXJnaW4tdG9wLWFsdDphdXRvOw0KCW1hcmdpbi1yaWdodDowaW47DQoJbXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG87DQoJbWFyZ2luLWxlZnQ6MGluOw0KCWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9u dC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNv LXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMt c2VyaWY7DQoJY29sb3I6d2luZG93dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUt dHlwZTpleHBvcnQtb25seTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCglt c28tZmFyZWFzdC1sYW5ndWFnZTpLTzt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVp biAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2Vj dGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28g OV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+ DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5 b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9v OnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4t VVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24x Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn ZTpLTyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5IaSBNYXJjZWxsbyw8bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZh cmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+TnAsIEkg YXNzdW1lIHlvdXIgYW5vdGhlciBwYXRjaCDigJxVZWZpUGF5bG9hZFBrZzogU3RvcmUgdGhlIHJl YWwgc2l6ZSBvZiB0aGUgTU1DT05GIHdpbmRvd+KAnSBtaWdodCBub3QgYmUgcmVxdWlyZWQgJm5i c3A7c2luY2UgdGhpcyBwYXRjaC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPlBsZWFzZSByZXN1 Ym1pdCBhIG5ldyBwYXRjaCBpZiB5b3UgaGF2ZSBvdGhlciBjaGFuZ2VzIGJhc2VkIG9uIGxhdGVz dCBjb2RlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1 YWdlOktPIj5UaGFua3MsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5HdW88bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3Qt bGFuZ3VhZ2U6S08iPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJv cmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowaW4gMGluIDBp biA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xp ZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PGI+RnJvbTo8L2I+IGRldmVsQGVkazIuZ3JvdXBzLmlvICZsdDtkZXZlbEBlZGsy Lmdyb3Vwcy5pbyZndDsgPGI+DQpPbiBCZWhhbGYgT2YgPC9iPk1hcmNlbGxvIFN5bHZlc3RlciBC YXVlcjxicj4NCjxiPlNlbnQ6PC9iPiBUaHVyc2RheSwgSnVuZSAyNSwgMjAyMCAxOjU4IEFNPGJy Pg0KPGI+VG86PC9iPiBEb25nLCBHdW8gJmx0O2d1by5kb25nQGludGVsLmNvbSZndDs8YnI+DQo8 Yj5DYzo8L2I+IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBQYXRyaWNrIFJ1ZG9scGggJmx0O3BhdHJp Y2sucnVkb2xwaEA5ZWxlbWVudHMuY29tJmd0OzsgQ2hyaXN0aWFuIFdhbHRlciAmbHQ7Y2hyaXN0 aWFuLndhbHRlckA5ZWxlbWVudHMuY29tJmd0OzsgTWEsIE1hdXJpY2UgJmx0O21hdXJpY2UubWFA aW50ZWwuY29tJmd0OzsgRGVzaW1vbmUsIE5hdGhhbmllbCBMICZsdDtuYXRoYW5pZWwubC5kZXNp bW9uZUBpbnRlbC5jb20mZ3Q7OyBaZW5nLCBTdGFyICZsdDtzdGFyLnplbmdAaW50ZWwuY29tJmd0 Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MSAyLzJdIFVl ZmlQYXlsb2FkUGtnOiBSdW50aW1lIE1NQ09ORjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPkhpJm5ic3A7R3VvLDxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+ZGlkbid0IHNlZSBpdCwgbXkgYmFkLiBOZXh0IHRpbWUgSSB3 aWxsIHJlYmFzZSBhZ2FpbiBiZWZvcmUgc3VibWl0dGluZy48YnI+DQo8YnI+DQpCZXN0IHJlZ2Fy ZHMsPGJyPg0KTWFyY2VsbG8mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBXZWQsIEp1biAyNCwgMjAyMCBhdCA0OjQxIFBNIERvbmcs IEd1byAmbHQ7PGEgaHJlZj0ibWFpbHRvOmd1by5kb25nQGludGVsLmNvbSIgdGFyZ2V0PSJfYmxh bmsiPmd1by5kb25nQGludGVsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPC9k aXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0ND Q0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21h cmdpbi1yaWdodDowaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0 b206MTIuMHB0Ij48YnI+DQpIaSBCYXVlciw8YnI+DQo8YnI+DQpQbGVhc2UgY2hlY2sgbGF0ZXN0 IGNvZGUsIFJheSBqdXN0IGNoZWNrZWQgaW4gYSBwYXRjaCB0byByZW1vdmUgaGFyZGNvZGVkIFBD SWUgYmFzZSBhZGRyZXNzIGFzIGJlbG93Ljxicj4NCjxicj4NCmNvbW1pdCAzOTAwYTYzZTNhMWI5 YmE5YTQxMDViZWRlYWQ3Yjk4NjE4OGNlYzJjPGJyPg0KQXV0aG9yOiBSYXkgTmkgJmx0OzxhIGhy ZWY9Im1haWx0bzpyYXkubmlAaW50ZWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+cmF5Lm5pQGludGVs LmNvbTwvYT4mZ3Q7PGJyPg0KRGF0ZTombmJzcDsgJm5ic3A7V2VkIEp1biAxNyAxNjozNDoyOSAy MDIwICYjNDM7MDgwMDxicj4NCiZuYnNwOyAmbmJzcDsgVWVmaVBheWxvYWRQa2cvUGNpOiBVc2Ug dGhlIFBDSUUgQmFzZSBBZGRyIHN0b3JlZCBpbiBBY3BpQm9hcmRJbmZvIEhPQjxicj4NCjxicj4N ClRoYW5rcyw8YnI+DQpHdW88YnI+DQo8YnI+DQomZ3Q7IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tPGJyPg0KJmd0OyBGcm9tOiA8YSBocmVmPSJtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8i IHRhcmdldD0iX2JsYW5rIj5kZXZlbEBlZGsyLmdyb3Vwcy5pbzwvYT4gJmx0OzxhIGhyZWY9Im1h aWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbyIgdGFyZ2V0PSJfYmxhbmsiPmRldmVsQGVkazIuZ3Jv dXBzLmlvPC9hPiZndDsgT24gQmVoYWxmIE9mPGJyPg0KJmd0OyBNYXJjZWxsbyBTeWx2ZXN0ZXIg QmF1ZXI8YnI+DQomZ3Q7IFNlbnQ6IFdlZG5lc2RheSwgSnVuZSAyNCwgMjAyMCAzOjI2IEFNPGJy Pg0KJmd0OyBUbzogPGEgaHJlZj0ibWFpbHRvOmRldmVsQGVkazIuZ3JvdXBzLmlvIiB0YXJnZXQ9 Il9ibGFuayI+ZGV2ZWxAZWRrMi5ncm91cHMuaW88L2E+PGJyPg0KJmd0OyBDYzogUGF0cmljayBS dWRvbHBoICZsdDs8YSBocmVmPSJtYWlsdG86cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5jb20i IHRhcmdldD0iX2JsYW5rIj5wYXRyaWNrLnJ1ZG9scGhAOWVsZW1lbnRzLmNvbTwvYT4mZ3Q7OyBD aHJpc3RpYW4gV2FsdGVyPGJyPg0KJmd0OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmNocmlzdGlhbi53 YWx0ZXJAOWVsZW1lbnRzLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmNocmlzdGlhbi53YWx0ZXJAOWVs ZW1lbnRzLmNvbTwvYT4mZ3Q7OyBNYSwgTWF1cmljZSAmbHQ7PGEgaHJlZj0ibWFpbHRvOm1hdXJp Y2UubWFAaW50ZWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bWF1cmljZS5tYUBpbnRlbC5jb208L2E+ Jmd0Ozs8YnI+DQomZ3Q7IERlc2ltb25lLCBOYXRoYW5pZWwgTCAmbHQ7PGEgaHJlZj0ibWFpbHRv Om5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPm5hdGhhbmll bC5sLmRlc2ltb25lQGludGVsLmNvbTwvYT4mZ3Q7OyBaZW5nLCBTdGFyPGJyPg0KJmd0OyAmbHQ7 PGEgaHJlZj0ibWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20iIHRhcmdldD0iX2JsYW5rIj5zdGFy LnplbmdAaW50ZWwuY29tPC9hPiZndDs8YnI+DQomZ3Q7IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBb UEFUQ0ggdjEgMi8yXSBVZWZpUGF5bG9hZFBrZzogUnVudGltZSBNTUNPTkY8YnI+DQomZ3Q7IDxi cj4NCiZndDsgRnJvbTogUGF0cmljayBSdWRvbHBoICZsdDs8YSBocmVmPSJtYWlsdG86cGF0cmlj ay5ydWRvbHBoQDllbGVtZW50cy5jb20iIHRhcmdldD0iX2JsYW5rIj5wYXRyaWNrLnJ1ZG9scGhA OWVsZW1lbnRzLmNvbTwvYT4mZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICogRG9uJ3QgaGFyZGNv ZGUgUENJRV9CQVNFIGF0IGJ1aWxkIHRpbWU8YnI+DQomZ3Q7ICogU3VwcG9ydCBhcmJpdHJhcnkg cGxhdGZvcm1zIHdpdGggZGlmZmVyZW50IG9yIGV2ZW4gbm8gTU1DT05GIHNwYWNlPGJyPg0KJmd0 OyAqIEZpeCBidWZmZXIgb3ZlcmZsb3cgYWNjZXNzaW5nIE1NQ09ORiB3aGVyZSBsZXNzIHRoYW4g MjU2IGJ1c2VzIGFyZTxicj4NCiZndDsmbmJzcDsgJm5ic3A7ZXhwb3NlZDxicj4NCiZndDsgKiBV c2UgUGNpQ2ZnOCBmb3IgUENJIGFjY2VzcyBpbiBQRUksIHdoaWNoIGlzIG9ubHkgdXNlZCBmb3Ig ZGVidWdnaW5nPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFNpZ25lZC1vZmYtYnk6IFBhdHJpY2sgUnVk b2xwaCAmbHQ7PGEgaHJlZj0ibWFpbHRvOnBhdHJpY2sucnVkb2xwaEA5ZWxlbWVudHMuY29tIiB0 YXJnZXQ9Il9ibGFuayI+cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5jb208L2E+Jmd0Ozxicj4N CiZndDsgU2lnbmVkLW9mZi1ieTogTWFyY2VsbG8gU3lsdmVzdGVyIEJhdWVyICZsdDs8YSBocmVm PSJtYWlsdG86bWFyY2VsbG8uYmF1ZXJAOWVsZW1lbnRzLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPm1h cmNlbGxvLmJhdWVyQDllbGVtZW50cy5jb208L2E+Jmd0Ozxicj4NCiZndDsgQ2M6IFBhdHJpY2sg UnVkb2xwaCAmbHQ7PGEgaHJlZj0ibWFpbHRvOnBhdHJpY2sucnVkb2xwaEA5ZWxlbWVudHMuY29t IiB0YXJnZXQ9Il9ibGFuayI+cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5jb208L2E+Jmd0Ozxi cj4NCiZndDsgQ2M6IENocmlzdGlhbiBXYWx0ZXIgJmx0OzxhIGhyZWY9Im1haWx0bzpjaHJpc3Rp YW4ud2FsdGVyQDllbGVtZW50cy5jb20iIHRhcmdldD0iX2JsYW5rIj5jaHJpc3RpYW4ud2FsdGVy QDllbGVtZW50cy5jb208L2E+Jmd0Ozxicj4NCiZndDsgQ2M6IE1hdXJpY2UgTWEgJmx0OzxhIGhy ZWY9Im1haWx0bzptYXVyaWNlLm1hQGludGVsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPm1hdXJpY2Uu bWFAaW50ZWwuY29tPC9hPiZndDs8YnI+DQomZ3Q7IENjOiBOYXRlIERlU2ltb25lICZsdDs8YSBo cmVmPSJtYWlsdG86bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tIiB0YXJnZXQ9Il9ibGFu ayI+bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPC9hPiZndDs8YnI+DQomZ3Q7IENjOiBT dGFyIFplbmcgJmx0OzxhIGhyZWY9Im1haWx0bzpzdGFyLnplbmdAaW50ZWwuY29tIiB0YXJnZXQ9 Il9ibGFuayI+c3Rhci56ZW5nQGludGVsLmNvbTwvYT4mZ3Q7PGJyPg0KJmd0OyAtLS08YnI+DQom Z3Q7Jm5ic3A7IFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnSWEzMi5kc2MmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfCZuYnNwOyAmbmJz cDsxNiAmIzQzOy08YnI+DQomZ3Q7Jm5ic3A7IFVlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtn SWEzMlg2NC5kc2MmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O3wmbmJzcDsgJm5ic3A7MTYgJiM0MzstPGJyPg0KJmd0OyZuYnNwOyBVZWZpUGF5bG9hZFBrZy9M aWJyYXJ5L0Jhc2VQY2lFeHByZXNzTGliL0Jhc2VQY2lFeHByZXNzTGliLmluZiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO3wmbmJzcDsgJm5ic3A7NDYgJiM0Mzs8YnI+DQomZ3Q7Jm5ic3A7IFVl ZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUxpYlBjaUV4cHJlc3MvQmFzZVBjaUxpYlBjaUV4 cHJlc3MuaW5mIHwmbmJzcDsgJm5ic3A7NDI8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyZuYnNw OyBVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lFeHByZXNzTGliL1BjaUV4cHJlc3NMaWIu YyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3wgMTQ1NTxi cj4NCiZndDsgJiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0 MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOzxicj4N CiZndDsmbmJzcDsgVWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpTGliUGNpRXhwcmVzcy9Q Y2lMaWIuYyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7fCAxMzAyPGJyPg0KJmd0OyAmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0 MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7 JiM0Mzs8YnI+DQomZ3Q7Jm5ic3A7IFVlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJl c3NMaWIvQmFzZVBjaUV4cHJlc3NMaWIudW5pJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fCZu YnNwOyAmbmJzcDsxNyAmIzQzOzxicj4NCiZndDsmbmJzcDsgVWVmaVBheWxvYWRQa2cvTGlicmFy eS9CYXNlUGNpTGliUGNpRXhwcmVzcy9CYXNlUGNpTGliUGNpRXhwcmVzcy51bmkgfCZuYnNwOyAm bmJzcDsxNzxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7Jm5ic3A7IDggZmlsZXMgY2hhbmdlZCwg Mjg4NSBpbnNlcnRpb25zKCYjNDM7KSwgMjYgZGVsZXRpb25zKC0pPGJyPg0KJmd0OyA8YnI+DQom Z3Q7IGRpZmYgLS1naXQgYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZ0lhMzIuZHNjPGJy Pg0KJmd0OyBiL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtnSWEzMi5kc2M8YnI+DQomZ3Q7 IGluZGV4IGM2YzQ3ODMzODcxYi4uNDhiMDNhZjZmMjIzIDEwMDY0NDxicj4NCiZndDsgLS0tIGEv VWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2dJYTMyLmRzYzxicj4NCiZndDsgJiM0MzsmIzQz OyYjNDM7IGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2dJYTMyLmRzYzxicj4NCiZndDsg QEAgLTM3LDExICYjNDM7MzcsNiBAQCBbRGVmaW5lc108YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAj PGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyBERUZJTkUgTUFYX0xPR0lDQUxfUFJP Q0VTU09SUyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOz0gNjQ8YnI+DQomZ3Q7IDxicj4NCiZn dDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IC0mbmJzcDsgIzxicj4NCiZndDsgPGJyPg0KJmd0OyAt Jm5ic3A7ICMgUENJIG9wdGlvbnM8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSZuYnNwOyAjPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7IC0mbmJzcDsgREVGSU5FIFBDSUVfQkFTRSZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA9IDB4 RTAwMDAwMDA8YnI+DQomZ3Q7IDxicj4NCiZndDsgLTxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNw OyAmbmJzcDsgIzxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgIyBTZXJpYWwgcG9y dCBzZXQgdXA8YnI+DQomZ3Q7IDxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICM8YnI+DQomZ3Q7IDxi cj4NCiZndDsgQEAgLTEyMSwxMyAmIzQzOzExNiw5IEBAIFtMaWJyYXJ5Q2xhc3Nlc108YnI+DQom Z3Q7Jm5ic3A7ICZuYnNwOyBQcmludExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvQmFz ZVByaW50TGliLmluZjxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgQ3B1TGlifE1k ZVBrZy9MaWJyYXJ5L0Jhc2VDcHVMaWIvQmFzZUNwdUxpYi5pbmY8YnI+DQomZ3Q7IDxicj4NCiZn dDsmbmJzcDsgJm5ic3A7IElvTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VJb0xpYkludHJpbnNpYy9C YXNlSW9MaWJJbnRyaW5zaWMuaW5mPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IC0haWYgJChQQ0lFX0JB U0UpID09IDA8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSZuYnNwOyBQY2lMaWJ8TWRlUGtnL0xpYnJh cnkvQmFzZVBjaUxpYkNmOC9CYXNlUGNpTGliQ2Y4LmluZjxicj4NCiZndDsgPGJyPg0KJmd0OyZu YnNwOyAmbmJzcDsgUGNpQ2Y4TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lDZjhMaWIvQmFzZVBj aUNmOExpYi5pbmY8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSFlbHNlPGJyPg0KJmd0OyA8YnI+DQom Z3Q7IC0mbmJzcDsgUGNpTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJQY2lFeHByZXNzL0Jh c2VQY2lMaWJQY2lFeHByZXNzLmluZjxicj4NCiZndDsgPGJyPg0KJmd0OyAtJm5ic3A7IFBjaUV4 cHJlc3NMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NMaWIvQmFzZVBjaUV4cHJlc3NM aWIuaW5mPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IC0hZW5kaWY8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzs8YnI+DQomZ3Q7IFBjaUxpYnxVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJQ Y2lFeHByZXNzL0Jhc2VQY2lMaWJQY2lFeHByZXNzLmluZjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgUGNpRXhwcmVzc0xpYnxVZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQ Y2lFeHByZXNzTGliL0Jhc2VQY2lFeHByZXNzTGliLmk8YnI+DQomZ3Q7IG5mPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7IDxicj4NCiZndDsgUGNpU2VnbWVudExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNp U2VnbWVudExpYlBjaS9CYXNlUGNpU2VnbWVudExpYlA8YnI+DQomZ3Q7IGNpLmluZjxicj4NCiZn dDsgPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgUGVDb2ZmTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQ ZUNvZmZMaWIvQmFzZVBlQ29mZkxpYi5pbmY8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0 OyBQZUNvZmZHZXRFbnRyeVBvaW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQZUNvZmZHZXRFbnRy eVBvaW50TGliL0Jhc2U8YnI+DQomZ3Q7IFBlQ29mZkdldEVudHJ5UG9pbnRMaWIuaW5mPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7IEBAIC0yMTYsNiAmIzQzOzIwNyw3IEBAIFtMaWJyYXJ5Q2xhc3Nlcy5J QTMyLlNFQ108YnI+DQomZ3Q7Jm5ic3A7IFtMaWJyYXJ5Q2xhc3Nlcy5JQTMyLlBFSV9DT1JFLCBM aWJyYXJ5Q2xhc3Nlcy5JQTMyLlBFSU1dPGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNw OyBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExpYi5pbmY8YnI+DQomZ3Q7 IDxicj4NCiZndDsmbmJzcDsgJm5ic3A7IEhvYkxpYnxNZGVQa2cvTGlicmFyeS9QZWlIb2JMaWIv UGVpSG9iTGliLmluZjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBQY2lMaWJ8TWRl UGtnL0xpYnJhcnkvQmFzZVBjaUxpYkNmOC9CYXNlUGNpTGliQ2Y4LmluZjxicj4NCiZndDsgPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7IE1lbW9yeUFsbG9jYXRpb25MaWJ8TWRlUGtnL0xpYnJhcnkvUGVp TWVtb3J5QWxsb2NhdGlvbkxpYi9QZWlNZW1vcnk8YnI+DQomZ3Q7IEFsbG9jYXRpb25MaWIuaW5m PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgUmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVN b2R1bGVQa2cvTGlicmFyeS9QZWlSZXBvcnRTdGF0dXNDb2RlTGliL1BlaVI8YnI+DQomZ3Q7IGVw b3J0U3RhdHVzQ29kZUxpYi5pbmY8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0OyBFeHRy YWN0R3VpZGVkU2VjdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9QZWlFeHRyYWN0R3VpZGVkU2VjdGlv bkxpYi9QZWlFeDxicj4NCiZndDsgdHJhY3RHdWlkZWRTZWN0aW9uTGliLmluZjxicj4NCiZndDsg PGJyPg0KJmd0OyBAQCAtMjg2LDggJiM0MzsyNzgsNiBAQCBbUGNkc0ZpeGVkQXRCdWlsZF08YnI+ DQomZ3Q7Jm5ic3A7ICZuYnNwOyBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3Rh dHVzQ29kZVVzZU1lbW9yeXxGQUxTRTxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsg Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJvb3RNYW5hZ2VyTWVudUZpbGV8eyAw eDIxLDxicj4NCiZndDsgMHhhYSwgMHgyYywgMHg0NiwgMHgxNCwgMHg3NiwgMHgwMywgMHg0NSwg MHg4MywgMHg2ZSwgMHg4YSwgMHhiNiwgMHhmNCwgMHg2Niw8YnI+DQomZ3Q7IDB4MjMsIDB4MzEg fTxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSZuYnNwOyBnRWZp TWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzfCQoUENJRV9CQVNF KTxicj4NCiZndDsgPGJyPg0KJmd0OyAtPGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICFpZiAk KFNPVVJDRV9ERUJVR19FTkFCTEUpPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgZ0Vm aVNvdXJjZUxldmVsRGVidWdQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z0xvYWRJbWFnZU1ldGhv ZHwweDxicj4NCiZndDsgMjxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNwOyAhZW5kaWY8YnI+DQom Z3Q7IDxicj4NCiZndDsgZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL1VlZmlQYXlsb2FkUGtn SWEzMlg2NC5kc2M8YnI+DQomZ3Q7IGIvVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2dJYTMy WDY0LmRzYzxicj4NCiZndDsgaW5kZXggNTU1OWIxMjU4NTIxLi5hZjk1MWVlNWFlYzAgMTAwNjQ0 PGJyPg0KJmd0OyAtLS0gYS9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBrZ0lhMzJYNjQuZHNj PGJyPg0KJmd0OyAmIzQzOyYjNDM7JiM0MzsgYi9VZWZpUGF5bG9hZFBrZy9VZWZpUGF5bG9hZFBr Z0lhMzJYNjQuZHNjPGJyPg0KJmd0OyBAQCAtMzgsMTEgJiM0MzszOCw2IEBAIFtEZWZpbmVzXTxi cj4NCiZndDsmbmJzcDsgJm5ic3A7ICM8YnI+DQomZ3Q7IDxicj4NCiZndDsmbmJzcDsgJm5ic3A7 IERFRklORSBNQVhfTE9HSUNBTF9QUk9DRVNTT1JTJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 PSA2NDxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSZuYnNwOyAj PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IC0mbmJzcDsgIyBQQ0kgb3B0aW9uczxicj4NCiZndDsgPGJy Pg0KJmd0OyAtJm5ic3A7ICM8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSZuYnNwOyBERUZJTkUgUENJ RV9CQVNFJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ID0gMHhFMDAwMDAwMDxicj4NCiZndDsgPGJyPg0KJmd0OyAtPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAjPGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5i c3A7ICZuYnNwOyAjIFNlcmlhbCBwb3J0IHNldCB1cDxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNw OyAmbmJzcDsgIzxicj4NCiZndDsgPGJyPg0KJmd0OyBAQCAtMTIyLDEzICYjNDM7MTE3LDkgQEAg W0xpYnJhcnlDbGFzc2VzXTxicj4NCiZndDsmbmJzcDsgJm5ic3A7IFByaW50TGlifE1kZVBrZy9M aWJyYXJ5L0Jhc2VQcmludExpYi9CYXNlUHJpbnRMaWIuaW5mPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 Jm5ic3A7ICZuYnNwOyBDcHVMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZUNwdUxpYi9CYXNlQ3B1TGli LmluZjxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgSW9MaWJ8TWRlUGtnL0xpYnJh cnkvQmFzZUlvTGliSW50cmluc2ljL0Jhc2VJb0xpYkludHJpbnNpYy5pbmY8YnI+DQomZ3Q7IDxi cj4NCiZndDsgLSFpZiAkKFBDSUVfQkFTRSkgPT0gMDxicj4NCiZndDsgPGJyPg0KJmd0OyAtJm5i c3A7IFBjaUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNpTGliQ2Y4L0Jhc2VQY2lMaWJDZjguaW5m PGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyBQY2lDZjhMaWJ8TWRlUGtnL0xpYnJh cnkvQmFzZVBjaUNmOExpYi9CYXNlUGNpQ2Y4TGliLmluZjxicj4NCiZndDsgPGJyPg0KJmd0OyAt IWVsc2U8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSZuYnNwOyBQY2lMaWJ8TWRlUGtnL0xpYnJhcnkv QmFzZVBjaUxpYlBjaUV4cHJlc3MvQmFzZVBjaUxpYlBjaUV4cHJlc3MuaW5mPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7IC0mbmJzcDsgUGNpRXhwcmVzc0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNpRXhw cmVzc0xpYi9CYXNlUGNpRXhwcmVzc0xpYi5pbmY8YnI+DQomZ3Q7IDxicj4NCiZndDsgLSFlbmRp Zjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgUGNpTGlifFVlZmlQYXlsb2Fk UGtnL0xpYnJhcnkvQmFzZVBjaUxpYlBjaUV4cHJlc3MvQmFzZVBjaUxpYlBjaUV4cHJlc3MuaW5m PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyBQY2lFeHByZXNzTGlifFVlZmlQ YXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NMaWIvQmFzZVBjaUV4cHJlc3NMaWIuaTxi cj4NCiZndDsgbmY8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0OyBQY2lTZWdtZW50TGli fE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lTZWdtZW50TGliUGNpL0Jhc2VQY2lTZWdtZW50TGliUDxi cj4NCiZndDsgY2kuaW5mPGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyBQZUNvZmZM aWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlQ29mZkxpYi9CYXNlUGVDb2ZmTGliLmluZjxicj4NCiZn dDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFBlQ29mZkdldEVudHJ5UG9pbnRMaWJ8TWRlUGtnL0xp YnJhcnkvQmFzZVBlQ29mZkdldEVudHJ5UG9pbnRMaWIvQmFzZTxicj4NCiZndDsgUGVDb2ZmR2V0 RW50cnlQb2ludExpYi5pbmY8YnI+DQomZ3Q7IDxicj4NCiZndDsgQEAgLTIxNyw2ICYjNDM7MjA4 LDcgQEAgW0xpYnJhcnlDbGFzc2VzLklBMzIuU0VDXTxicj4NCiZndDsmbmJzcDsgW0xpYnJhcnlD bGFzc2VzLklBMzIuUEVJX0NPUkUsIExpYnJhcnlDbGFzc2VzLklBMzIuUEVJTV08YnI+DQomZ3Q7 IDxicj4NCiZndDsmbmJzcDsgJm5ic3A7IFBjZExpYnxNZGVQa2cvTGlicmFyeS9QZWlQY2RMaWIv UGVpUGNkTGliLmluZjxicj4NCiZndDsgPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgSG9iTGlifE1k ZVBrZy9MaWJyYXJ5L1BlaUhvYkxpYi9QZWlIb2JMaWIuaW5mPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IFBjaUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNpTGliQ2Y4L0Jhc2VQY2lM aWJDZjguaW5mPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgTWVtb3J5QWxsb2NhdGlv bkxpYnxNZGVQa2cvTGlicmFyeS9QZWlNZW1vcnlBbGxvY2F0aW9uTGliL1BlaU1lbW9yeTxicj4N CiZndDsgQWxsb2NhdGlvbkxpYi5pbmY8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0OyBS ZXBvcnRTdGF0dXNDb2RlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1BlaVJlcG9ydFN0YXR1c0Nv ZGVMaWIvUGVpUjxicj4NCiZndDsgZXBvcnRTdGF0dXNDb2RlTGliLmluZjxicj4NCiZndDsgPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7IEV4dHJhY3RHdWlkZWRTZWN0aW9uTGlifE1kZVBrZy9MaWJyYXJ5 L1BlaUV4dHJhY3RHdWlkZWRTZWN0aW9uTGliL1BlaUV4PGJyPg0KJmd0OyB0cmFjdEd1aWRlZFNl Y3Rpb25MaWIuaW5mPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IEBAIC0yODgsOCAmIzQzOzI4MCw2IEBA IFtQY2RzRml4ZWRBdEJ1aWxkXTxicj4NCiZndDsmbmJzcDsgJm5ic3A7IGdFZmlNZGVNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RVc2UxR1BhZ2VUYWJsZXxUUlVFPGJyPg0KJmd0OyA8YnI+DQom Z3Q7Jm5ic3A7ICZuYnNwOyBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkQm9vdE1h bmFnZXJNZW51RmlsZXx7IDB4MjEsPGJyPg0KJmd0OyAweGFhLCAweDJjLCAweDQ2LCAweDE0LCAw eDc2LCAweDAzLCAweDQ1LCAweDgzLCAweDZlLCAweDhhLCAweGI2LCAweGY0LCAweDY2LDxicj4N CiZndDsgMHgyMywgMHgzMSB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0K Jmd0OyAtJm5ic3A7IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQY2lFeHByZXNzQmFzZUFk ZHJlc3N8JChQQ0lFX0JBU0UpPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IC08YnI+DQomZ3Q7IDxicj4N CiZndDsmbmJzcDsgIWlmICQoU09VUkNFX0RFQlVHX0VOQUJMRSk8YnI+DQomZ3Q7IDxicj4NCiZn dDsgPGJyPg0KJmd0OyBnRWZpU291cmNlTGV2ZWxEZWJ1Z1BrZ1Rva2VuU3BhY2VHdWlkLlBjZERl YnVnTG9hZEltYWdlTWV0aG9kfDB4PGJyPg0KJmd0OyAyPGJyPg0KJmd0OyA8YnI+DQomZ3Q7Jm5i c3A7ICFlbmRpZjxicj4NCiZndDsgPGJyPg0KJmd0OyBkaWZmIC0tZ2l0IGEvVWVmaVBheWxvYWRQ a2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9CYXNlUGNpRXhwcmVzc0xpYi5pbmY8YnI+DQom Z3Q7IGIvVWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9CYXNlUGNpRXhw cmVzc0xpYi5pbmY8YnI+DQomZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0PGJyPg0KJmd0OyBpbmRl eCAwMDAwMDAwMDAwMDAuLjlmMDUyYzBhMmU2NTxicj4NCiZndDsgLS0tIC9kZXYvbnVsbDxicj4N CiZndDsgJiM0MzsmIzQzOyYjNDM7IGIvVWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpRXhw cmVzc0xpYi9CYXNlUGNpRXhwcmVzc0xpYi5pbmY8YnI+DQomZ3Q7IEBAIC0wLDAgJiM0MzsxLDQ2 IEBAPGJyPg0KJmd0OyAmIzQzOyMjIEBmaWxlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7IyZu YnNwOyBJbnN0YW5jZSBvZiBQQ0kgRXhwcmVzcyBMaWJyYXJ5IHVzaW5nIHRoZSAyNTYgTUIgUENJ IEV4cHJlc3MgTU1JTzxicj4NCiZndDsgd2luZG93Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjJm5ic3A7IFBDSSBFeHByZXNzIExpYnJhcnkg dGhhdCB1c2VzIHRoZSAyNTYgTUIgUENJIEV4cHJlc3MgTU1JTyB3aW5kb3cgdG88YnI+DQomZ3Q7 IHBlcmZvcm08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjJm5ic3A7IFBDSSBDb25maWd1cmF0 aW9uIGN5Y2xlcy4gTGF5ZXJzIG9uIHRvcCBvZiBhbiBJL08gTGlicmFyeSBpbnN0YW5jZS48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7IyZuYnNw OyBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC4mbHQ7QlImZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Izxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyMmbmJzcDsgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Izxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyMjPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7W0RlZmluZXNdPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElORl9WRVJTSU9OJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ID0gMHgwMDAx MDAwNTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBCQVNFX05BTUUmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ID0gQmFzZVBjaUV4cHJlc3NMaWI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgTU9EVUxFX1VOSV9GSUxFJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyA9IEJhc2VQY2lFeHByZXNzTGliLnVuaTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBGSUxFX0dVSUQmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ID0gMjg3ZTUw ZjQtYTE4OC00Njk5LWI5MDctM2U0MDgwY2E1Njg4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IE1PRFVMRV9UWVBFJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ID0gQkFTRTxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBWRVJTSU9OX1NUUklORyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7PSAxLjA8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgTElCUkFSWV9DTEFTUyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ID0gUGNpRXhwcmVzc0xpYjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBDT05TVFJVQ1RPUiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA9IFBjaUV4 cHJlc3NMaWJJbml0aWFsaXplPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Izxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyMmbmJzcDsgVkFMSURf QVJDSElURUNUVVJFUyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7PSBJ QTMyIFg2NCBFQkM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7W1NvdXJjZXNdPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFBjaUV4cHJlc3NMaWIuYzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1tQYWNrYWdlc108YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgTWRlUGtnL01kZVBrZy5kZWM8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgVWVmaVBheWxvYWRQa2cvVWVmaVBheWxvYWRQa2cuZGVjPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7W0xpYnJhcnlDbGFz c2VzXTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBCYXNlTGliPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IERlYnVnTGliPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEhvYkxpYjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJb0xpYjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1tHdWlkc108 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgZ1VlZmlBY3BpQm9hcmRJbmZvR3VpZDxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1tQY2Rd PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGdFZmlNZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MmbmJzcDsgIyMgQ09OU1VNRVM8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgZGlmZiAtLWdpdDxicj4NCiZndDsg YS9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJQY2lFeHByZXNzL0Jhc2VQY2lMaWJQ Y2lFeHByZXNzLmluZjxicj4NCiZndDsgYi9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lM aWJQY2lFeHByZXNzL0Jhc2VQY2lMaWJQY2lFeHByZXNzLmluZjxicj4NCiZndDsgbmV3IGZpbGUg bW9kZSAxMDA2NDQ8YnI+DQomZ3Q7IGluZGV4IDAwMDAwMDAwMDAwMC4uMDg1OGU0OWE0N2FlPGJy Pg0KJmd0OyAtLS0gL2Rldi9udWxsPGJyPg0KJmd0OyAmIzQzOyYjNDM7JiM0MzsgYi9VZWZpUGF5 bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJQY2lFeHByZXNzL0Jhc2VQY2lMaWJQY2lFeHByZXNz LmluZjxicj4NCiZndDsgQEAgLTAsMCAmIzQzOzEsNDIgQEA8YnI+DQomZ3Q7ICYjNDM7IyMgQGZp bGU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjJm5ic3A7IEluc3RhbmNlIG9mIFBDSSBMaWJy YXJ5IGJhc2VkIG9uIFBDSSBFeHByZXNzIExpYnJhcnkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Izxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyMmbmJzcDsgUENJIExpYnJhcnkgdGhhdCB1 c2VzIHRoZSAyNTYgTUIgUENJIEV4cHJlc3MgTU1JTyB3aW5kb3cgdG8gcGVyZm9ybTxicj4NCiZn dDsgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7IyZuYnNwOyBDb25maWd1cmF0aW9uIGN5 Y2xlcy4gTGF5ZXJzIG9uIG9uZSBQQ0kgRXhwcmVzcyBMaWJyYXJ5IGluc3RhbmNlLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjJm5ic3A7IENv cHlyaWdodCAoYykgMjAwNyAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLiZsdDtCUiZndDs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7IyZuYnNwOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyM8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsjPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7IyM8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztbRGVmaW5lc108YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSU5GX1ZFUlNJT04mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPSAweDAwMDEwMDA1 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEJBU0VfTkFNRSZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgPSBCYXNlUGNpTGliUGNpRXhwcmVzczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBNT0RVTEVfVU5JX0ZJTEUmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ID0gQmFzZVBjaUxpYlBjaUV4cHJlc3MudW5pPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEZJTEVfR1VJRCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPSA4OTg3 MDgxZS1kYWViLTQ0YTktOGJlZi1hMTk1YjIyZDk0MTc8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgTU9EVUxFX1RZUEUmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPSBCQVNFPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IFZFUlNJT05fU1RSSU5HJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs9IDEuMDxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBMSUJSQVJZX0NMQVNTJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPSBQY2lMaWI8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQ09OU1RSVUNUT1ImbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPSBQY2lMaWJJbml0 aWFsaXplPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Izxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyMmbmJzcDsgVkFMSURfQVJDSElURUNUVVJF UyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7PSBJQTMyIFg2NDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MztbU291cmNlc108YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgUGNpTGliLmM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MztbUGFja2FnZXNdPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IE1k ZVBrZy9NZGVQa2cuZGVjPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFVlZmlQYXls b2FkUGtnL1VlZmlQYXlsb2FkUGtnLmRlYzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzO1tHdWlkc108YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgZ1VlZmlBY3BpQm9hcmRJbmZvR3VpZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1tMaWJyYXJ5Q2xhc3Nlc108YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgUGNpRXhwcmVzc0xpYjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBQY2lDZjhMaWI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQmFzZUxp Yjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBIb2JMaWI8YnI+DQomZ3Q7IDxicj4N CiZndDsgZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NM aWIvUGNpRXhwcmVzc0xpYi5jPGJyPg0KJmd0OyBiL1VlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFz ZVBjaUV4cHJlc3NMaWIvUGNpRXhwcmVzc0xpYi5jPGJyPg0KJmd0OyBuZXcgZmlsZSBtb2RlIDEw MDY0NDxicj4NCiZndDsgaW5kZXggMDAwMDAwMDAwMDAwLi5mM2I0NTgyZDNjNDc8YnI+DQomZ3Q7 IC0tLSAvZGV2L251bGw8YnI+DQomZ3Q7ICYjNDM7JiM0MzsmIzQzOyBiL1VlZmlQYXlsb2FkUGtn L0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NMaWIvUGNpRXhwcmVzc0xpYi5jPGJyPg0KJmd0OyBAQCAt MCwwICYjNDM7MSwxNDU1IEBAPGJyPg0KJmd0OyAmIzQzOy8qKiBAZmlsZTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBGdW5jdGlvbnMgaW4gdGhpcyBsaWJyYXJ5IGluc3RhbmNlIG1h a2UgdXNlIG9mIE1NSU8gZnVuY3Rpb25zIGluIElvTGliIHRvPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IGFjY2VzcyBtZW1vcnkgbWFwcGVkIFBDSSBjb25maWd1cmF0aW9uIHNwYWNl Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBBbGwgYXNzZXJ0aW9ucyBmb3IgSS9PIG9wZXJhdGlvbnMgYXJlIGhhbmRsZWQgaW4gTU1J TyBmdW5jdGlvbnMgaW4gdGhlIElvTGliPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IExpYnJhcnkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLiZsdDtCUiZndDs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQ8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsjaW5jbHVkZSAmbHQ7QmFzZS5oJmd0Ozxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyNpbmNsdWRlICZsdDtMaWJy YXJ5L0Jhc2VMaWIuaCZndDs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjaW5jbHVkZSAmbHQ7 TGlicmFyeS9QY2lFeHByZXNzTGliLmgmZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7I2lu Y2x1ZGUgJmx0O0xpYnJhcnkvRGVidWdMaWIuaCZndDs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsjaW5jbHVkZSAmbHQ7TGlicmFyeS9Jb0xpYi5oJmd0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyNpbmNsdWRlICZsdDtMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaCZndDs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjaW5jbHVkZSAmbHQ7UGkv UGlCb290TW9kZS5oJmd0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyNpbmNsdWRlICZsdDtV ZWZpL1VlZmlCYXNlVHlwZS5oJmd0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyNpbmNsdWRl ICZsdDtVZWZpL1VlZmlNdWx0aVBoYXNlLmgmZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 I2luY2x1ZGUgJmx0O1BpL1BpSG9iLmgmZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7I2luY2x1ZGUgJmx0O0xpYnJhcnkvSG9iTGliLmgmZ3Q7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7I2luY2x1ZGUgJmx0O0d1aWQvQWNwaUJvYXJkSW5m b0d1aWQuaCZndDs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MztTVEFUSUMgQUNQSV9CT0FSRF9JTkZPIG1Cb2FyZEluZm87PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFzc2VydCB0 aGUgdmFsaWRpdHkgb2YgYSBQQ0kgYWRkcmVzcy48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJldHVy biAweGZmIG9uIHRyYW5zYWN0aW9uIG91dHNpZGUgb2YgdGhlIE1NQ09ORiBzcGFjZS48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBh cmFtJm5ic3A7IEEgVGhlIGFkZHJlc3MgdG8gdmFsaWRhdGUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7I2RlZmluZSBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyhBKSBcPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFTU0VSVCAoKChBKSAmYW1wOyB+MHhmZmZmZmZmKSA9PSAw KTsgXDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAoKEEpICZndDs9IG1Cb2Fy ZEluZm8uUGNpZUJhc2VTaXplKSB7IFw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg Jm5ic3A7IHJldHVybiB+MDsgXDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlZ2lzdGVycyBhIFBDSSBkZXZpY2Ugc28g UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzIG1heSBiZSBhY2Nlc3NlZCBhZnRlcjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBTZXRWaXJ0dWFsQWRkcmVzc01hcCgpLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWdp c3RlcnMgdGhlIFBDSSBkZXZpY2Ugc3BlY2lmaWVkIGJ5IEFkZHJlc3Mgc28gYWxsIHRoZSBQQ0kg Y29uZmlndXJhdGlvbjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZWdpc3RlcnMg YXNzb2NpYXRlZCB3aXRoIHRoYXQgUENJIGRldmljZSBtYXkgYmUgYWNjZXNzZWQgYWZ0ZXI8YnI+ DQomZ3Q7IFNldFZpcnR1YWxBZGRyZXNzTWFwKCk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgaXMgY2FsbGVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NF UlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRo ZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBSZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHZhbCBSRVRVUk5fU1VDQ0VTUyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7VGhlIFBDSSBkZXZpY2Ugd2FzIHJl Z2lzdGVyZWQgZm9yIHJ1bnRpbWU8YnI+DQomZ3Q7IGFjY2Vzcy48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgQHJldHZhbCBSRVRVUk5fVU5TVVBQT1JURUQmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDtBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIGNhbGwgdGhpczxicj4NCiZndDsgZnVu Y3Rpb248YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2FmdGVyIEV4aXRCb290 U2VydmljZXMoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHZhbCBSRVRV Uk5fVU5TVVBQT1JURUQmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtUaGUgcmVzb3VyY2VzIHJl cXVpcmVkIHRvIGFjY2VzcyB0aGU8YnI+DQomZ3Q7IFBDSSBkZXZpY2U8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO2F0IHJ1bnRpbWUgY291bGQgbm90IGJlIG1hcHBlZC48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHZhbCBSRVRVUk5fT1VUX09GX1JFU09V UkNFUyZuYnNwOyBUaGVyZSBhcmUgbm90IGVub3VnaCByZXNvdXJjZXM8YnI+DQomZ3Q7IGF2YWls YWJsZSB0bzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Y29tcGxldGUgdGhl IHJlZ2lzdHJhdGlvbi48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztSRVRVUk5fU1RBVFVTPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 UGNpRXhwcmVzc1JlZ2lzdGVyRm9yUnVudGltZUFjY2VzcyAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IElOIFVJTlROJm5ic3A7IEFkZHJlc3M8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gUkVUVVJOX1VOU1VQUE9SVEVE Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgUGVyZm9ybXMgcGxhdGZvcm0gc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gcmVxdWlyZWQg Zm9yIHRoZSBDUFUgdG8gYWNjZXNzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHRo ZSBNTUNPTkYgc3BhY2UuJm5ic3A7IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgaW5pdGlhbGl6ZSB0 aGUgTU1DT05GIGl0c2VsZi48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHZhbCBSRVRVUk5fU1VDQ0VTUyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwO1RoZSBwbGF0Zm9ybSBzcGVjaWZpYyBpbml0aWFsaXphdGlvbiBzdWNjZWVk ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR2YWwgUkVUVVJOX0RFVklD RV9FUlJPUiZuYnNwOyBUaGUgcGxhdGZvcm0gc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gY291bGQ8 YnI+DQomZ3Q7IG5vdCBiZSBjb21wbGV0ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UkVU VVJOX1NUQVRVUzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NMaWJJbml0aWFsaXplICg8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgVk9JRDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBFRklfSE9CX0dVSURfVFlQRSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsqR3Vp ZEhvYjs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgLy88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgLy8gRmluZCB0aGUg YWNwaSBib2FyZCBpbmZvcm1hdGlvbiBndWlkIGhvYjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyAvLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBHdWlkSG9iID0gR2V0 Rmlyc3RHdWlkSG9iICgmYW1wO2dVZWZpQWNwaUJvYXJkSW5mb0d1aWQpOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlQgKEd1aWRIb2IgIT0gTlVMTCk7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGlmIChHdWlkSG9iID09IE5VTEwpIHs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBFRklfVU5TVVBQT1JURUQ7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQ29weU1lbSAoJmFtcDttQm9hcmRJbmZv LCBHRVRfR1VJRF9IT0JfREFUQSAoR3VpZEhvYiksPGJyPg0KJmd0OyBzaXplb2YobUJvYXJkSW5m bykpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gRUZJX1NVQ0NFU1M7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBHZXRzIHRoZSBiYXNlIGFkZHJlc3Mgb2YgUENJIEV4cHJlc3MuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFRoaXMgaW50ZXJu YWwgZnVuY3Rpb25zIHJldHJpZXZlcyBQQ0kgRXhwcmVzcyBCYXNlIEFkZHJlc3MgdmlhIGEgUENE IGVudHJ5PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFBjZFBjaUV4cHJlc3NCYXNl QWRkcmVzcy48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgQHJldHVybiBUaGUgYmFzZSBhZGRyZXNzIG9mIFBDSSBFeHByZXNzLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzO1ZPSUQqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7R2V0 UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg Vk9JRDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gKFZPSUQq KShVSU5UTikgbUJvYXJkSW5mby5QY2llQmFzZUFkZHJlc3M7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhbiA4LWJpdCBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgYW5kIHJldHVybnMgdGhlIDgtYml0 IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRo YXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBzZXJpYWxpemVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZG RiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhh dCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uPGJyPg0KJmd0OyBhbmQ8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHVybiBUaGUgcmVh ZCB2YWx1ZSBmcm9tIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MztVSU5UODxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NSZWFkOCAoPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7QWRkcmVzczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NF UlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IHJldHVybiBNbWlvUmVhZDggKChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRy ZXNzICgpICYjNDM7IEFkZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgV3JpdGVzIGFuIDgtYml0IFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBXcml0ZXMgdGhlIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIHNwZWNpZmllZCBieSBBZGRyZXNzIHdpdGggdGhlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuIFRo aXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQu PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0m bmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmlj ZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsg VmFsdWUmbmJzcDsgJm5ic3A7VGhlIHZhbHVlIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1 ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MztVSU5UODxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NXcml0ZTggKDxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7 ICZuYnNwOyAmbmJzcDsgVUlOVDgmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7VmFsdWU8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFk ZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gTW1pb1dyaXRl OCAoKFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgJiM0MzsgQWRkcmVzcyw8YnI+ DQomZ3Q7IFZhbHVlKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IFBlcmZvcm1zIGEgYml0d2lzZSBPUiBvZiBhbiA4LWJpdCBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlciB3aXRoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IGFuIDgtYml0IHZhbHVlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGE8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQg dGhlIHZhbHVlIHNwZWNpZmllZCBieTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBP ckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc3BlY2lmaWVkIGJ5 IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdp c3RlciBpczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm5lZC4gVGhpcyBm dW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGU8YnI+DQom Z3Q7IG9wZXJhdGlvbnM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYXJlIHNlcmlh bGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMs IERldmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0m bmJzcDsgT3JEYXRhJm5ic3A7IFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5U ODxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzO1BjaUV4cHJlc3NPcjggKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZu YnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDgm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7T3JEYXRhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0dXJuIE1taW9PcjggKChVSU5UTikgR2V0UGNpRXhwcmVz c0Jhc2VBZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJyPg0KJmd0OyBPckRhdGEpOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUGVy Zm9ybXMgYSBiaXR3aXNlIEFORCBvZiBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ciB3aXRoIGFuIDgtYml0PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHZhbHVlLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5 IEFkZHJlc3MsIHBlcmZvcm1zIGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0 d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQg YnkgQW5kRGF0YSw8YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIgc3BlY2lmaWVkIGJ5PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFkZHJlc3Mu IFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcyBy ZXR1cm5lZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgVGhpcyBmdW5jdGlvbiBt dXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmU8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc2VyaWFsaXplZC48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVz cyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNz IFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbjxi cj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVnaXN0ZXIuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBbmREYXRhIFRoZSB2 YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR1 cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDg8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lFeHByZXNzQW5kOCAoPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlO VE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UOCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBbmRE YXRhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFTU0VSVF9JTlZBTElE X1BDSV9BRERSRVNTIChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg cmV0dXJuIE1taW9BbmQ4ICgoVUlOVE4pIEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSAmIzQz OyBBZGRyZXNzLDxicj4NCiZndDsgQW5kRGF0YSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8q Kjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBQZXJmb3JtcyBhIGJpdHdpc2UgQU5E IG9mIGFuIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHdpdGggYW4gOC1iaXQ8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgdmFsdWUsIGZvbGxvd2VkIGEmbmJzcDsgYml0 d2lzZSBPUiB3aXRoIGFub3RoZXIgOC1iaXQgdmFsdWUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSA4LWJpdCBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMgYTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIEFORCBiZXR3ZWVuIHRoZSBy ZWFkIHJlc3VsdCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLDxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBwZXJmb3JtcyBhIGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUg cmVzdWx0IG9mIHRoZSBBTkQgb3BlcmF0aW9uIGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVz dWx0IHRvIHRoZSA4LWJpdCBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgY29u ZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0 ZW4gdG8gdGhlIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRo YXQgYWxsIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZWFkIGFuZCB3cml0 ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZG RiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhh dCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uPGJyPg0KJmd0OyBhbmQ8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFuZERhdGEgVGhlIHZhbHVlIHRvIEFORCB3aXRo IHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQHBhcmFtJm5ic3A7IE9yRGF0YSZuYnNwOyBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0 aGUgcmVzdWx0IG9mIHRoZSBBTkQgb3BlcmF0aW9uLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0 dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpRXhwcmVzc0FuZFRoZW5PcjggKDxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5i c3A7ICZuYnNwOyAmbmJzcDsgVUlOVDgmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QW5kRGF0YSw8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UOCZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg KTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gTW1pb0FuZFRoZW5PcjggKDxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7KFVJ TlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgJiM0MzsgQWRkcmVzcyw8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O0FuZERhdGEsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDtPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIGJpdCBm aWVsZCBvZiBhIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgYml0IGZp ZWxkIGluIGFuIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLiBUaGUgYml0IGZpZWxk IGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHNwZWNpZmllZCBieSB0aGUgU3Rh cnRCaXQgYW5kIHRoZSBFbmRCaXQuIFRoZSB2YWx1ZSBvZiB0aGUgYml0IGZpZWxkIGlzPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybmVkLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsg MHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhl biBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgRW5kQml0IGlz IGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJl c3MmbmJzcDsgJm5ic3A7VGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHJlYWQuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNw OyBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmll bGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjcuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBFbmRCaXQmbmJzcDsg Jm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0 IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi43 Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSBvZiB0aGUgYml0IGZpZWxkIHJlYWQgZnJvbSB0aGUgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDg8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MztQY2lFeHByZXNzQml0RmllbGRSZWFkOCAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVz cyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNw OyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDtFbmRCaXQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUX0lO VkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyByZXR1cm4gTW1pb0JpdEZpZWxkUmVhZDggKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7KFVJTlROKSBHZXRQY2lF eHByZXNzQmFzZUFkZHJlc3MgKCkgJiM0MzsgQWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7RW5kQml0PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDspOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgV3JpdGVzIGEgYml0IGZpZWxkIHRvIGEg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFdyaXRlcyBWYWx1ZSB0byB0aGUgYml0IGZp ZWxkIG9mIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci4gVGhlIGJpdDxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBmaWVsZCBpcyBzcGVjaWZpZWQgYnkgdGhlIFN0YXJ0Qml0 IGFuZCB0aGUgRW5kQml0LiBBbGwgb3RoZXIgYml0cyBpbiB0aGU8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgZGVzdGluYXRpb24gUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgYXJl IHByZXNlcnZlZC4gVGhlIG5ldyB2YWx1ZSBvZiB0aGU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgOC1iaXQgcmVnaXN0ZXIgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAw eDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVu IEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMg bGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJZiBWYWx1ZSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1ZSByYW5n ZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5kPGJyPg0KJmd0OyBFbmRCaXQsIHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzJm5ic3A7ICZuYnNwO1RoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciB0byB3cml0ZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QHBhcmFtJm5ic3A7IFN0YXJ0Qml0Jm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWdu aWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUmFuZ2UgMC4uNy48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QHBhcmFtJm5ic3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qg c2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjcuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IEBwYXJhbSZuYnNwOyBWYWx1ZSZuYnNwOyAmbmJzcDsgJm5ic3A7VGhlIG5ldyB2YWx1ZSBv ZiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhl IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJ TlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7UGNpRXhwcmVzc0JpdEZpZWxkV3JpdGU4ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtB ZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsg Jm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsg Jm5ic3A7ICZuYnNwOyBVSU5UOCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtWYWx1ZTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRk cmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvQml0Rmll bGRXcml0ZTggKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7KFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkg JiM0MzsgQWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7VmFsdWU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIGJpdCBmaWVsZCBpbiBhbiA4LWJp dCBQQ0kgY29uZmlndXJhdGlvbiwgcGVyZm9ybXMgYSBiaXR3aXNlIE9SLCBhbmQ8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0aGUgYml0 IGZpZWxkIGluIHRoZSA4LWJpdCBwb3J0Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGE8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3Vs dCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBieTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgOC1iaXQgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc3BlY2lm aWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlv biByZWdpc3RlciBpczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm5lZC4g VGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGU8 YnI+DQomZ3Q7IG9wZXJhdGlvbnM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYXJl IHNlcmlhbGl6ZWQuIEV4dHJhIGxlZnQgYml0cyBpbiBPckRhdGEgYXJlIHN0cmlwcGVkLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJ ZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRoZW4gQVNT RVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVh dGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBi aXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVu ZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7 VGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwg b2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi43Ljxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7ICZuYnNwOyBUaGUgb3Jk aW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uNy48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IE9yRGF0YSZuYnNwOyAmbmJzcDsgVGhl IHZhbHVlIHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0 dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpRXhwcmVzc0JpdEZpZWxk T3I4ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZu YnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO1N0YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAm bmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UOCZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDtPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyByZXR1cm4gTW1pb0JpdEZpZWxkT3I4ICg8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhVSU5UTikg R2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFy dEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO09yRGF0YTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7KTs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IFJlYWRzIGEgYml0IGZpZWxkIGluIGFuIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy LCBwZXJmb3JtcyBhIGJpdHdpc2U8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQU5E LCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0aGUgYml0IGZpZWxkIGluIHRoZSA4LWJp dCByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgUmVhZHMgdGhlIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy IHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3JtcyBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFs dWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDgtYml0IFBDSSBjb25maWd1 cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFRo aXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9w ZXJhdGlvbnMgYXJlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHNlcmlhbGl6ZWQu IEV4dHJhIGxlZnQgYml0cyBpbiBBbmREYXRhIGFyZSBzdHJpcHBlZC48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyAm Z3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IElmIFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDcs IHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJp dCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElmIEFuZERhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFs dWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZDxicj4NCiZndDsgRW5kQml0LCB0aGVu IEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyZuYnNwOyAmbmJzcDtUaGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNwOyBUaGUgb3JkaW5hbCBvZiB0aGUgbGVh c3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjcuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEBwYXJhbSZuYnNwOyBFbmRCaXQmbmJzcDsgJm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRo ZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi43Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQW5kRGF0YSZuYnNwOyAmbmJzcDtUaGUgdmFsdWUgdG8g QU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2 YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJ QVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpRXhwcmVzc0JpdEZpZWxkQW5kOCAoPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlO VE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFy dEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZu YnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtFbmRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDgmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7QW5kRGF0YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRf SU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IHJldHVybiBNbWlvQml0RmllbGRBbmQ4ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhVSU5UTikgR2V0UGNp RXhwcmVzc0Jhc2VBZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FuZERhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFk cyBhIGJpdCBmaWVsZCBpbiBhbiA4LWJpdCBwb3J0LCBwZXJmb3JtcyBhIGJpdHdpc2UgQU5EIGZv bGxvd2VkIGJ5IGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiwg YW5kIHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGU8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgOC1iaXQgcG9ydC48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgdGhlIDgtYml0 IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jt cyBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGZvbGxvd2Vk IGJ5IGEgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQ8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLCBhbmQg d3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDgtYml0IFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLiBU aGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVz dCBndWFyYW50ZWUgdGhhdCBhbGwgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQuIEV4dHJhIGxlZnQgYml0 cyBpbiBib3RoIEFuZERhdGEgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IE9y RGF0YSBhcmUgc3RyaXBwZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFT U0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEJpdCBpcyBn cmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0 LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBbmRE YXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBT dGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNr IHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwg dGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhl IGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi43Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7ICZuYnNwOyBUaGUgb3JkaW5hbCBv ZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uNy48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFuZERhdGEmbmJzcDsgJm5ic3A7VGhlIHZhbHVl IHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IE9yRGF0YSZuYnNwOyAmbmJzcDsgVGhl IHZhbHVlIHRvIE9SIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbi48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJl dHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdp c3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UODxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NCaXRGaWVs ZEFuZFRoZW5PcjggKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAm bmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElO Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQ4 Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO0FuZERhdGEsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDgmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7T3JEYXRh PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFTU0VSVF9JTlZBTElEX1BD SV9BRERSRVNTIChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0 dXJuIE1taW9CaXRGaWVsZEFuZFRoZW5PcjggKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7KFVJTlROKSBHZXRQY2lFeHBy ZXNzQmFzZUFkZHJlc3MgKCkgJiM0MzsgQWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7RW5kQml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QW5kRGF0YSw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO09yRGF0YTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7KTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IFJlYWRzIGEgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBS ZWFkcyBhbmQgcmV0dXJucyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNw ZWNpZmllZCBieTxicj4NCiZndDsgQWRkcmVzcy48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQg d3JpdGUgb3BlcmF0aW9ucyBhcmU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc2Vy aWFsaXplZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQg b24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRy ZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlv bjxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVnaXN0ZXIu PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IEByZXR1cm4gVGhlIHJlYWQgdmFsdWUgZnJvbSB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVn aXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDE2PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpRXhwcmVzc1JlYWQx NiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJz cDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzczxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvUmVhZDE2ICgoVUlOVE4p IEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSAmIzQzOyBBZGRyZXNzKTs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFdyaXRlcyBh IDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgV3JpdGVzIHRoZSAxNi1iaXQg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3Mgd2l0aCB0aGU8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVl LiBWYWx1ZSBpcyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3Bl cmF0aW9ucyBhcmUgc2VyaWFsaXplZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRo ZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3Mg aXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBw YXJhbSZuYnNwOyBBZGRyZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywg RGV2aWNlLCBGdW5jdGlvbjxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgUmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZu YnNwOyBWYWx1ZSZuYnNwOyAmbmJzcDtUaGUgdmFsdWUgdG8gd3JpdGUuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR1cm4gVGhl IHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQxNjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQ STxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NXcml0ZTE2ICg8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJ TiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQxNiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBWYWx1ZTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAo QWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvV3Jp dGUxNiAoKFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgJiM0MzsgQWRkcmVzcyw8 YnI+DQomZ3Q7IFZhbHVlKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFBlcmZvcm1zIGEgYml0d2lzZSBPUiBvZiBhIDE2LWJpdCBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB3aXRoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IGEgMTYtYml0IHZhbHVlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtczxicj4NCiZndDsgYTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJl YWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSAxNi1iaXQg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlciBpczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBy ZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBh bmQgd3JpdGU8YnI+DQomZ3Q7IG9wZXJhdGlvbnM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgYXJlIHNlcmlhbGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVu IEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzIGlz IG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFy YW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERl dmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJz cDsgT3JEYXRhJm5ic3A7IFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlv biByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMTY8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MztQY2lFeHByZXNzT3IxNiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5i c3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UMTYm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgT3JEYXRhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgcmV0dXJuIE1taW9PcjE2ICgoVUlOVE4pIEdldFBjaUV4cHJlc3NCYXNl QWRkcmVzcyAoKSAmIzQzOyBBZGRyZXNzLDxicj4NCiZndDsgT3JEYXRhKTs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFBlcmZvcm1z IGEgYml0d2lzZSBBTkQgb2YgYSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgd2l0 aCBhIDE2LWJpdDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB2YWx1ZS48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVh ZHMgdGhlIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRk cmVzcywgcGVyZm9ybXM8YnI+DQomZ3Q7IGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVj aWZpZWQgYnkgQW5kRGF0YSw8YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyIHNwZWNpZmllZCBieTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBB ZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFRoaXMgZnVu Y3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlv bnMgYXJlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHNlcmlhbGl6ZWQuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElm IEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJv dW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVz cyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFu ZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQW5kRGF0YSBUaGUgdmFsdWUgdG8gQU5E IHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1 ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQxNjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQ STxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NBbmQxNiAoPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4m bmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UMTYmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQW5kRGF0YTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAo QWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvQW5k MTYgKChVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJy Pg0KJmd0OyBBbmREYXRhKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFBlcmZvcm1zIGEgYml0d2lzZSBBTkQgb2YgYSAxNi1iaXQg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgd2l0aCBhIDE2LWJpdDxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyB2YWx1ZSwgZm9sbG93ZWQgYSZuYnNwOyBiaXR3aXNlIE9SIHdpdGgg YW5vdGhlciAxNi1iaXQgdmFsdWUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0OyBhPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJl YWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHBlcmZvcm1zIGEgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSBy ZXN1bHQgb2YgdGhlIEFORCBvcGVyYXRpb24gYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgT3JEYXRhLCBhbmQgd3JpdGVzIHRoZSByZXN1 bHQgdG8gdGhlIDE2LWJpdCBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgY29u ZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0 ZW4gdG8gdGhlIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRo YXQgYWxsIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZWFkIGFuZCB3cml0 ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZG RiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRk cmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kg QnVzLCBEZXZpY2UsIEZ1bmN0aW9uPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBSZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBh cmFtJm5ic3A7IEFuZERhdGEgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5i c3A7IE9yRGF0YSZuYnNwOyBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBB TkQgb3BlcmF0aW9uLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQx Njxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzO1BjaUV4cHJlc3NBbmRUaGVuT3IxNiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVz cyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNw OyBVSU5UMTYmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgQW5kRGF0YSw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UMTYmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgT3JEYXRhPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFTU0VSVF9JTlZBTElEX1BDSV9B RERSRVNTIChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0dXJu IE1taW9BbmRUaGVuT3IxNiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsoVUlOVE4pIEdldFBjaUV4cHJlc3NCYXNlQWRk cmVzcyAoKSAmIzQzOyBBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QW5kRGF0YSw8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO09yRGF0 YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7KTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxkIG9mIGEgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSBiaXQgZmllbGQgaW4gYSAxNi1iaXQgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIuIFRoZSBiaXQgZmllbGQgaXM8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgc3BlY2lmaWVkIGJ5IHRoZSBTdGFydEJpdCBhbmQgdGhlIEVuZEJpdC4gVGhl IHZhbHVlIG9mIHRoZSBiaXQgZmllbGQgaXM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzIGlzIG5vdCBhbGln bmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNT RVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVh dGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBw YXJhbSZuYnNwOyBBZGRyZXNzJm5ic3A7ICZuYnNwO1RoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdp c3RlciB0byByZWFkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJz cDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJp dCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBSYW5nZSAwLi4xNS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5i c3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qgc2lnbmlmaWNh bnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFJhbmdlIDAuLjE1Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSBvZiB0aGUgYml0IGZpZWxk IHJlYWQgZnJvbSB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7VUlOVDE2PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpRXhwcmVzc0JpdEZpZWxkUmVhZDE2ICg8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJ TiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJ TlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvQml0RmllbGRSZWFkMTYgKDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7KFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkgJiM0MzsgQWRkcmVzcyw8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO1N0YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDspOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgV3Jp dGVzIGEgYml0IGZpZWxkIHRvIGEgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFdyaXRl cyBWYWx1ZSB0byB0aGUgYml0IGZpZWxkIG9mIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ci4gVGhlIGJpdDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBmaWVsZCBpcyBzcGVj aWZpZWQgYnkgdGhlIFN0YXJ0Qml0IGFuZCB0aGUgRW5kQml0LiBBbGwgb3RoZXIgYml0cyBpbiB0 aGU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgZGVzdGluYXRpb24gUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgYXJlIHByZXNlcnZlZC4gVGhlIG5ldyB2YWx1ZSBvZiB0aGU8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgMTYtYml0IHJlZ2lzdGVyIGlzIHJldHVybmVk Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDE2 LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDE1LCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDE1 LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRC aXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBJZiBWYWx1ZSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1 ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5kPGJyPg0KJmd0OyBFbmRCaXQsIHRoZW4g QVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzJm5ic3A7ICZuYnNwO1RoZSBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlciB0byB3cml0ZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgQHBhcmFtJm5ic3A7IFN0YXJ0Qml0Jm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFz dCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uMTUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEBwYXJhbSZuYnNwOyBFbmRCaXQmbmJzcDsgJm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRo ZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi4xNS48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IFZhbHVlJm5ic3A7ICZuYnNwOyAmbmJzcDtUaGUgbmV3 IHZhbHVlIG9mIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFj ayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7VUlOVDE2PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7UGNpRXhwcmVzc0JpdEZpZWxkV3JpdGUxNiAoPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJz cDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtFbmRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDE2Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFZhbHVlPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNT IChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0dXJuIE1taW9C aXRGaWVsZFdyaXRlMTYgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7KFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJl c3MgKCkgJiM0MzsgQWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0 LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7VmFsdWU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8q Kjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIGJpdCBmaWVsZCBpbiBh IDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiwgcGVyZm9ybXMgYSBiaXR3aXNlIE9SLCBhbmQ8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0 aGUgYml0IGZpZWxkIGluIHRoZSAxNi1iaXQgcG9ydC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgdGhlIDE2LWJpdCBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXM8YnI+ DQomZ3Q7IGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiBiZXR3 ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBieTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0 aGUgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IHNwZWNpZmllZCBieSBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0 aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgaXM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwg UENJIHJlYWQgYW5kIHdyaXRlPGJyPg0KJmd0OyBvcGVyYXRpb25zPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IGFyZSBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMgaW4gT3JEYXRh IGFyZSBzdHJpcHBlZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgaXMgbm90IGFs aWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiAxNSwgdGhlbiBB U1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgRW5kQml0IGlzIGdy ZWF0ZXIgdGhhbiAxNSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRo ZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7 IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5i c3A7VGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGlu YWwgb2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi4xNS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhl IG9yZGluYWwgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjE1Ljxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgT3JEYXRhJm5ic3A7ICZuYnNw OyBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDE2PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpRXhwcmVzc0Jp dEZpZWxkT3IxNiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZu YnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDtTdGFydEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4m bmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtFbmRCaXQsPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDE2 Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IE9yRGF0YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvQml0RmllbGRPcjE2ICg8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhVSU5U TikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtT dGFydEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO09yRGF0YTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7KTs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IFJlYWRzIGEgYml0IGZpZWxkIGluIGEgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyLCBwZXJmb3JtcyBhIGJpdHdpc2U8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QU5ELCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0aGUgYml0IGZpZWxkIGluIHRoZSAx Ni1iaXQgcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVn aXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0OyBhPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVz dWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsPGJyPg0KJmd0OyBhbmQ8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDE2 LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSBy ZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMgaW4gQW5kRGF0YSBhcmUgc3RyaXBwZWQu PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYt Yml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMTUs IHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJp dCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElmIEFuZERhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFs dWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZDxicj4NCiZndDsgRW5kQml0LCB0aGVu IEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyZuYnNwOyAmbmJzcDtUaGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNwOyBUaGUgb3JkaW5hbCBvZiB0aGUgbGVh c3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjE1Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBAcGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7ICZuYnNwOyBUaGUgb3JkaW5hbCBvZiB0 aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uMTUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBbmREYXRhJm5ic3A7ICZuYnNwO1RoZSB2YWx1ZSB0 byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR1cm4gVGhl IHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDE2PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpRXhwcmVzc0JpdEZpZWxkQW5kMTYg KDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7 IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNw OyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQxNiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBBbmREYXRhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFTU0VSVF9J TlZBTElEX1BDSV9BRERSRVNTIChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgcmV0dXJuIE1taW9CaXRGaWVsZEFuZDE2ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhVSU5UTikgR2V0UGNp RXhwcmVzc0Jhc2VBZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FuZERhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFk cyBhIGJpdCBmaWVsZCBpbiBhIDE2LWJpdCBwb3J0LCBwZXJmb3JtcyBhIGJpdHdpc2UgQU5EIGZv bGxvd2VkIGJ5IGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiwg YW5kIHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGU8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgMTYtYml0IHBvcnQuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAxNi1i aXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZv cm1zPGJyPg0KJmd0OyBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2Ug QU5EIGZvbGxvd2VkIGJ5IGEgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQ8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBB bmREYXRhLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDE2LWJpdCBQQ0k8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQg YnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlz IGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLiBF eHRyYSBsZWZ0IGJpdHMgaW4gYm90aCBBbmREYXRhIGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBPckRhdGEgYXJlIHN0cmlwcGVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZG RkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYg QWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRl ciB0aGFuIDE1LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDE1LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBbmREYXRh IGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFy dEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZh bHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwgdGhl biBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBAcGFyYW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxl YXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi4xNS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2Yg dGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjE1Ljxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQW5kRGF0YSZuYnNwOyAmbmJzcDtUaGUgdmFsdWUg dG8gQU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgT3JEYXRhJm5ic3A7ICZuYnNwOyBUaGUg dmFsdWUgdG8gT1Igd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBBTkQgb3BlcmF0aW9uLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0 dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQxNjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NCaXRGaWVs ZEFuZFRoZW5PcjE2ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsg Jm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJ TiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5U MTYmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgQW5kRGF0YSw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg SU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UMTYmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgT3JEYXRhPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFTU0VSVF9JTlZBTElEX1BDSV9BRERSRVNT IChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0dXJuIE1taW9C aXRGaWVsZEFuZFRoZW5PcjE2ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VB ZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0Vu ZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO0FuZERhdGEsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtPckRhdGE8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBSZWFkcyBhIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgYW5k IHJldHVybnMgdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQg Ynk8YnI+DQomZ3Q7IEFkZHJlc3MuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFRo aXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9w ZXJhdGlvbnMgYXJlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHNlcmlhbGl6ZWQu PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMzIt Yml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUg YWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwgRnVuY3Rpb248YnI+DQom Z3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0 dXJuIFRoZSByZWFkIHZhbHVlIGZyb20gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQzMjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz O0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NSZWFkMzIgKDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlRO Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3M8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gTW1pb1JlYWQzMiAoKFVJTlROKSBHZXRQY2lF eHByZXNzQmFzZUFkZHJlc3MgKCkgJiM0MzsgQWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBXcml0ZXMgYSAzMi1iaXQg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFdyaXRlcyB0aGUgMzItYml0IFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzIHdpdGggdGhlPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZS4gVmFsdWUg aXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWU8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMg YXJlIHNlcmlhbGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VS VCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzIGlzIG5vdCBh bGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJz cDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMsIERldmljZSwg RnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJl Z2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgVmFs dWUmbmJzcDsgJm5ic3A7VGhlIHZhbHVlIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3 cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MztVSU5UMzI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MztQY2lFeHByZXNzV3JpdGUzMiAoPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsg Jm5ic3A7ICZuYnNwOyBVSU5UMzImbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVmFsdWU8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3Mp Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gTW1pb1dyaXRlMzIgKChV SU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJyPg0KJmd0 OyBWYWx1ZSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBQZXJmb3JtcyBhIGJpdHdpc2UgT1Igb2YgYSAzMi1iaXQgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgd2l0aDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBh IDMyLWJpdCB2YWx1ZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdp c3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXM8YnI+DQomZ3Q7IGE8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3Vs dCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBieTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgMzItYml0IFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHNwZWNp ZmllZCBieSBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgaXM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0dXJuZWQu IFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRl PGJyPg0KJmd0OyBvcGVyYXRpb25zPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGFy ZSBzZXJpYWxpemVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3QgYWxp Z25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7 IEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1 bmN0aW9uPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZWdp c3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IE9yRGF0 YSZuYnNwOyBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDMyPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpRXhw cmVzc09yMzIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJz cDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDMyJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IE9yRGF0YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRf SU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IHJldHVybiBNbWlvT3IzMiAoKFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3Mg KCkgJiM0MzsgQWRkcmVzcyw8YnI+DQomZ3Q7IE9yRGF0YSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBQZXJmb3JtcyBhIGJpdHdp c2UgQU5EIG9mIGEgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHdpdGggYSAzMi1i aXQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgdmFsdWUuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAz Mi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBl cmZvcm1zPGJyPg0KJmd0OyBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdp c2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5 IEFuZERhdGEsPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg d3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ciBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQWRkcmVzcy4g VGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJl dHVybmVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBUaGlzIGZ1bmN0aW9uIG11 c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBzZXJpYWxpemVkLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNz ICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwg dGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBl bmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uPGJyPg0KJmd0OyBhbmQ8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFuZERhdGEgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRo ZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRl biBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MztVSU5UMzI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MztQY2lFeHByZXNzQW5kMzIgKDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZu YnNwOyAmbmJzcDsgVUlOVDMyJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEFuZERhdGE8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3Mp Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gTW1pb0FuZDMyICgoVUlO VE4pIEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAoKSAmIzQzOyBBZGRyZXNzLDxicj4NCiZndDsg QW5kRGF0YSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBQZXJmb3JtcyBhIGJpdHdpc2UgQU5EIG9mIGEgMzItYml0IFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyIHdpdGggYSAzMi1iaXQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgdmFsdWUsIGZvbGxvd2VkIGEmbmJzcDsgYml0d2lzZSBPUiB3aXRoIGFub3RoZXIg MzItYml0IHZhbHVlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtczxicj4NCiZndDsgYTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIEFORCBiZXR3ZWVuIHRoZSByZWFkIHJlc3Vs dCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBwZXJmb3JtcyBhIGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVzdWx0IG9m IHRoZSBBTkQgb3BlcmF0aW9uIGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB0 aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRo ZSAzMi1iaXQgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRo ZSBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgY29uZmlndXJhdGlvbiByZWdp c3RlciBpcyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQ Q0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmVhZCBhbmQgd3JpdGUgb3BlcmF0 aW9ucyBhcmUgc2VyaWFsaXplZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4g QVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgaXMg bm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJh bSZuYnNwOyBBZGRyZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2 aWNlLCBGdW5jdGlvbjxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgUmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNw OyBBbmREYXRhIFRoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVn aXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBPckRh dGEmbmJzcDsgVGhlIHZhbHVlIHRvIE9SIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJh dGlvbi48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMzI8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lF eHByZXNzQW5kVGhlbk9yMzIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZu YnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDMy Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IEFuZERhdGEsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElO Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDMyJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE9yRGF0YTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAo QWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvQW5k VGhlbk9yMzIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7KFVJTlROKSBHZXRQY2lFeHByZXNzQmFzZUFkZHJlc3MgKCkg JiM0MzsgQWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FuZERhdGEsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtPckRhdGE8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBSZWFkcyBhIGJpdCBmaWVsZCBvZiBhIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBSZWFkcyB0aGUgYml0IGZpZWxkIGluIGEgMzItYml0IFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyLiBUaGUgYml0IGZpZWxkIGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IHNwZWNpZmllZCBieSB0aGUgU3RhcnRCaXQgYW5kIHRoZSBFbmRCaXQuIFRoZSB2YWx1ZSBv ZiB0aGUgYml0IGZpZWxkIGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVy bmVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBh IDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFu IDMxLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBF bmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJz cDsgQWRkcmVzcyZuYnNwOyAmbmJzcDtUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8g cmVhZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IFN0YXJ0 Qml0Jm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQgaW4gdGhl IGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2Ug MC4uMzEuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBFbmRC aXQmbmJzcDsgJm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBp biB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBS YW5nZSAwLi4zMS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGJpdCBmaWVsZCByZWFkIGZy b20gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzO1VJTlQzMjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NCaXRGaWVsZFJlYWQzMiAoPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsg Jm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtFbmRCaXQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgQVNTRVJUX0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gTW1pb0JpdEZpZWxkUmVhZDMyICg8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyhV SU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICYjNDM7IEFkZHJlc3MsPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDtTdGFydEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7KTs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFdyaXRlcyBhIGJp dCBmaWVsZCB0byBhIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBXcml0ZXMgVmFsdWUg dG8gdGhlIGJpdCBmaWVsZCBvZiB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuIFRoZSBi aXQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgZmllbGQgaXMgc3BlY2lmaWVkIGJ5 IHRoZSBTdGFydEJpdCBhbmQgdGhlIEVuZEJpdC4gQWxsIG90aGVyIGJpdHMgaW4gdGhlPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGRlc3RpbmF0aW9uIFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyIGFyZSBwcmVzZXJ2ZWQuIFRoZSBuZXcgdmFsdWUgb2YgdGhlPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IDMyLWJpdCByZWdpc3RlciBpcyByZXR1cm5lZC48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYg QWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91 bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElm IFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiAzMSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgRW5kQml0IGlzIGdyZWF0ZXIgdGhhbiAzMSwgdGhlbiBB U1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgRW5kQml0IGlzIGxl c3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSWYgVmFsdWUgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ug c3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZDxicj4NCiZndDsgRW5kQml0LCB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyZuYnNwOyAmbmJzcDtUaGUgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBw YXJhbSZuYnNwOyBTdGFydEJpdCZuYnNwOyBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlm aWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFJhbmdlIDAuLjMxLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7ICZuYnNwOyBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBz aWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uMzEuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IEBwYXJhbSZuYnNwOyBWYWx1ZSZuYnNwOyAmbmJzcDsgJm5ic3A7VGhlIG5ldyB2YWx1ZSBv ZiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhl IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJ TlQzMjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzO1BjaUV4cHJlc3NCaXRGaWVsZFdyaXRlMzIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNw OyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7RW5kQml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNw OyAmbmJzcDsgJm5ic3A7IFVJTlQzMiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBWYWx1ZTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVz cyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvQml0RmllbGRX cml0ZTMyICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyhVSU5UTikgR2V0UGNpRXhwcmVzc0Jhc2VBZGRyZXNzICgpICYj NDM7IEFkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO1ZhbHVlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDspOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgYSBiaXQgZmllbGQgaW4gYSAzMi1iaXQg UENJIGNvbmZpZ3VyYXRpb24sIHBlcmZvcm1zIGEgYml0d2lzZSBPUiwgYW5kPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBm aWVsZCBpbiB0aGUgMzItYml0IHBvcnQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0OyBh PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUg cmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgT3JEYXRhLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDMyLWJp dCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlcjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFk IGFuZCB3cml0ZTxicj4NCiZndDsgb3BlcmF0aW9uczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBhcmUgc2VyaWFsaXplZC4gRXh0cmEgbGVmdCBiaXRzIGluIE9yRGF0YSBhcmUgc3Ry aXBwZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9u IGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gMzEsIHRoZW4gQVNTRVJUKCku PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVhdGVyIHRo YW4gMzEsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElm IEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIE9yRGF0YSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFz ayB2YWx1ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5kPGJyPg0KJmd0OyBFbmRCaXQs IHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzJm5ic3A7ICZuYnNwO1RoZSBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB0byB3cml0ZS48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IFN0YXJ0Qml0Jm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRo ZSBsZWFzdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uMzEuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBFbmRCaXQmbmJzcDsgJm5ic3A7IFRoZSBvcmRpbmFs IG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi4zMS48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IE9yRGF0YSZuYnNwOyAmbmJzcDsgVGhlIHZh bHVlIHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJu IFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoq Lzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQzMjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NCaXRGaWVsZE9y MzIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5i c3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZu YnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQzMiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJU X0lOVkFMSURfUENJX0FERFJFU1MgKEFkZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyByZXR1cm4gTW1pb0JpdEZpZWxkT3IzMiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsoVUlOVE4pIEdldFBj aUV4cHJlc3NCYXNlQWRkcmVzcyAoKSAmIzQzOyBBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U3RhcnRCaXQs PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDtFbmRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFk cyBhIGJpdCBmaWVsZCBpbiBhIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciwgcGVy Zm9ybXMgYSBiaXR3aXNlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEFORCwgYW5k IHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGUgMzItYml0IHJl Z2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBSZWFkcyB0aGUgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNw ZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtczxicj4NCiZndDsgYTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIEFORCBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQg dGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLDxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSAzMi1iaXQgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3RlciBpcyByZXR1cm5lZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQg d3JpdGUgb3BlcmF0aW9ucyBhcmU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc2Vy aWFsaXplZC4gRXh0cmEgbGVmdCBiaXRzIGluIEFuZERhdGEgYXJlIHN0cmlwcGVkLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBB ZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3Vu ZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYg U3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFT U0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgbGVz cyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBJZiBBbmREYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdl IHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cGFyYW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25p ZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBSYW5nZSAwLi4zMS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QHBhcmFtJm5ic3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qg c2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjMxLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBAcGFyYW0mbmJzcDsgQW5kRGF0YSZuYnNwOyAmbmJzcDtUaGUgdmFsdWUgdG8gQU5EIHdp dGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3 cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzO1VJTlQzMjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4cHJlc3NCaXRGaWVsZEFuZDMyICg8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0 LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7 IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UMzImbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQW5kRGF0 YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9Q Q0lfQUREUkVTUyAoQWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJl dHVybiBNbWlvQml0RmllbGRBbmQzMiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsoVUlOVE4pIEdldFBjaUV4cHJlc3NC YXNlQWRkcmVzcyAoKSAmIzQzOyBBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U3RhcnRCaXQsPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDtFbmRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDtBbmREYXRhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDspOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgYSBiaXQg ZmllbGQgaW4gYSAzMi1iaXQgcG9ydCwgcGVyZm9ybXMgYSBiaXR3aXNlIEFORCBmb2xsb3dlZCBi eSBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgT1IsIGFuZCB3cml0 ZXMgdGhlIHJlc3VsdCBiYWNrIHRvIHRoZSBiaXQgZmllbGQgaW4gdGhlPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IDMyLWJpdCBwb3J0Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgMzItYml0IFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtczxicj4N CiZndDsgYTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIEFORCBmb2xs b3dlZCBieSBhIGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSwg YW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRoZSAzMi1iaXQgUENJPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJl c3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgY29uZmlndXJhdGlvbiByZWdpc3RlciBpcyByZXR1cm5lZC4gVGhpcyBmdW5jdGlv biBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4gRXh0cmEgbGVm dCBiaXRzIGluIGJvdGggQW5kRGF0YSBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgT3JEYXRhIGFyZSBzdHJpcHBlZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRo ZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3Mg aXMgbm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiAz MSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgRW5k Qml0IGlzIGdyZWF0ZXIgdGhhbiAzMSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NF UlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQW5kRGF0YSBpcyBsYXJn ZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1ZSByYW5nZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5k PGJyPg0KJmd0OyBFbmRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IElmIE9yRGF0YSBpcyBsYXJnZXIgdGhhbiB0aGUgYml0bWFzayB2YWx1ZSByYW5n ZSBzcGVjaWZpZWQgYnkgU3RhcnRCaXQgYW5kPGJyPg0KJmd0OyBFbmRCaXQsIHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzJm5ic3A7ICZuYnNwO1RoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciB0byB3cml0ZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QHBhcmFtJm5ic3A7IFN0YXJ0Qml0Jm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBsZWFzdCBzaWdu aWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgUmFuZ2UgMC4uMzEuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IEBwYXJhbSZuYnNwOyBFbmRCaXQmbmJzcDsgJm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0 IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi4zMS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgQHBhcmFtJm5ic3A7IEFuZERhdGEmbmJzcDsgJm5ic3A7VGhlIHZhbHVlIHRvIEFORCB3 aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IE9yRGF0YSZuYnNwOyAmbmJzcDsgVGhlIHZhbHVlIHRv IE9SIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbi48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHVybiBUaGUg dmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMzI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztF RklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lFeHByZXNzQml0RmllbGRBbmRUaGVu T3IzMiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAm bmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDtTdGFydEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsg Jm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtFbmRCaXQsPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDMyJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IEFuZERhdGEsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7 ICZuYnNwOyAmbmJzcDsgVUlOVDMyJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE9yRGF0YTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoQWRkcmVz cyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybiBNbWlvQml0RmllbGRB bmRUaGVuT3IzMiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsoVUlOVE4pIEdldFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAo KSAmIzQzOyBBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtFbmRCaXQsPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDtBbmREYXRhLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7T3JEYXRhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDspOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMg YSByYW5nZSBvZiBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgaW50byBhIGNhbGxlciBzdXBw bGllZCBidWZmZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSByYW5nZSBvZiBQQ0kgY29uZmlndXJhdGlvbiByZWdp c3RlcnMgc3BlY2lmaWVkIGJ5IFN0YXJ0QWRkcmVzczxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFNpemUgaW50byB0aGUgYnVmZmVyIHNwZWNpZmllZCBieSBC dWZmZXIuIFRoaXMgZnVuY3Rpb24gb25seSBhbGxvd3MgdGhlIFBDSTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyBmcm9tIGEgc2luZ2xlIFBD SSBmdW5jdGlvbiB0byBiZSByZWFkLiBTaXplIGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IHJldHVybmVkLiBXaGVuIHBvc3NpYmxlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiBy ZWFkIGN5Y2xlcyBhcmUgdXNlZCB0bzxicj4NCiZndDsgcmVhZDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBmcm9tIFN0YXJ0QWRyZXNzIHRvIFN0YXJ0QWRkcmVzcyAmIzQzOyBTaXpl LiBEdWUgdG8gYWxpZ25tZW50IHJlc3RyaWN0aW9ucywgOC08YnI+DQomZ3Q7IGJpdDxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBhbmQgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJl YWQgY3ljbGVzIG1heSBiZSB1c2VkIGF0IHRoZSBiZWdpbm5pbmcgYW5kPGJyPg0KJmd0OyB0aGU8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgZW5kIG9mIHRoZSByYW5nZS48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYg U3RhcnRBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgKChTdGFydEFkZHJlc3MgJmFtcDsgMHhGRkYpICYjNDM7 IFNpemUpICZndDsgMHgxMDAwLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJZiBTaXplICZndDsgMCBhbmQgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEFkZHJlc3MmbmJzcDsgVGhlIHN0YXJ0aW5nIGFkZHJl c3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLDxicj4NCiZndDsgRGV2aWNlLDxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEZ1bmN0aW9uIGFuZCBS ZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IFNp emUmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBzaXplIGluIGJ5dGVzIG9m IHRoZSB0cmFuc2Zlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5i c3A7IEJ1ZmZlciZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBUaGUgcG9pbnRlciB0byBhIGJ1 ZmZlciByZWNlaXZpbmcgdGhlIGRhdGEgcmVhZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHVybiBTaXplIHJlYWQgZGF0YSBm cm9tIFN0YXJ0QWRkcmVzcy48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UTjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUV4 cHJlc3NSZWFkQnVmZmVyICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJz cDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTdGFydEFkZHJlc3MsPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlO VE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7U2l6ZSw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgT1VUJm5ic3A7ICZuYnNwOyAmbmJzcDtWT0lEJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqQnVmZmVy PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFVJTlROJm5ic3A7ICZuYnNw O1JldHVyblZhbHVlOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoU3RhcnRBZGRyZXNz KTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUICgoKFN0YXJ0QWRkcmVz cyAmYW1wOyAweEZGRikgJiM0MzsgU2l6ZSkgJmx0Oz0gMHgxMDAwKTs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgaWYgKFNpemUgPT0g MCkgezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFNpemU7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUIChCdWZmZXIgIT0g TlVMTCk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IC8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IC8vIFNhdmUgU2l6 ZSBmb3IgcmV0dXJuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IC8vPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJldHVyblZhbHVlID0gU2l6ZTs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgaWYgKChTdGFy dEFkZHJlc3MgJmFtcDsgMSkgIT0gMCkgezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyAmbmJzcDsgLy88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vIFJl YWQgYSBieXRlIGlmIFN0YXJ0QWRkcmVzcyBpcyBieXRlIGFsaWduZWQ8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyAqKHZvbGF0aWxlIFVJTlQ4ICopQnVmZmVyID0gUGNpRXhwcmVzc1JlYWQ4IChT dGFydEFkZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgU3Rh cnRBZGRyZXNzICYjNDM7PSBzaXplb2YgKFVJTlQ4KTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7IFNpemUgLT0gc2l6ZW9mIChVSU5UOCk7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBCdWZmZXIgPSAoVUlOVDgqKUJ1ZmZlciAmIzQzOyAxOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGlmIChTaXplICZndDs9IHNpemVv ZiAoVUlOVDE2KSAmYW1wOyZhbXA7IChTdGFydEFkZHJlc3MgJmFtcDsgMikgIT0gMCkgezxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgLy88YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vIFJlYWQgYSB3b3JkIGlmIFN0YXJ0QWRkcmVzcyBpcyB3 b3JkIGFsaWduZWQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBXcml0ZVVuYWxpZ25lZDE2ICgo VUlOVDE2ICopIEJ1ZmZlciwgKFVJTlQxNikgUGNpRXhwcmVzc1JlYWQxNjxicj4NCiZndDsgKFN0 YXJ0QWRkcmVzcykpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgU3RhcnRBZGRyZXNzICYjNDM7PSBzaXplb2YgKFVJTlQx Nik7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBTaXplIC09IHNpemVv ZiAoVUlOVDE2KTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IEJ1ZmZl ciA9IChVSU5UMTYqKUJ1ZmZlciAmIzQzOyAxOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IHdoaWxlIChTaXplICZndDs9IHNpemVvZiAoVUlOVDMyKSkgezxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgLy88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7IC8vIFJlYWQgYXMgbWFueSBkb3VibGUgd29yZHMgYXMgcG9zc2libGU8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBXcml0ZVVuYWxpZ25lZDMyICgoVUlOVDMyICopIEJ1 ZmZlciwgKFVJTlQzMikgUGNpRXhwcmVzc1JlYWQzMjxicj4NCiZndDsgKFN0YXJ0QWRkcmVzcykp Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgU3RhcnRBZGRyZXNzICYjNDM7PSBzaXplb2YgKFVJTlQzMik7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBTaXplIC09IHNpemVvZiAoVUlOVDMyKTs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IEJ1ZmZlciA9IChVSU5UMzIq KUJ1ZmZlciAmIzQzOyAxOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGlm IChTaXplICZndDs9IHNpemVvZiAoVUlOVDE2KSkgezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyAmbmJzcDsgLy88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7 IC8vIFJlYWQgdGhlIGxhc3QgcmVtYWluaW5nIHdvcmQgaWYgZXhpc3Q8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyBXcml0ZVVuYWxpZ25lZDE2ICgoVUlOVDE2ICopIEJ1ZmZlciwgKFVJTlQxNikg UGNpRXhwcmVzc1JlYWQxNjxicj4NCiZndDsgKFN0YXJ0QWRkcmVzcykpOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgU3RhcnRBZGRyZXNzICYjNDM7PSBzaXplb2YgKFVJ TlQxNik7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBTaXplIC09IHNp emVvZiAoVUlOVDE2KTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IEJ1 ZmZlciA9IChVSU5UMTYqKUJ1ZmZlciAmIzQzOyAxOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IGlmIChTaXplICZndDs9IHNpemVvZiAoVUlOVDgpKSB7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAvLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyAmbmJzcDsgLy8gUmVhZCB0aGUgbGFzdCByZW1haW5pbmcgYnl0ZSBpZiBleGlzdDxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgLy88YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICoodm9sYXRpbGUgVUlOVDggKilCdWZmZXIgPSBQY2lF eHByZXNzUmVhZDggKFN0YXJ0QWRkcmVzcyk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgcmV0dXJuIFJldHVyblZhbHVlOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQ29waWVzIHRoZSBkYXRhIGluIGEgY2Fs bGVyIHN1cHBsaWVkIGJ1ZmZlciB0byBhIHNwZWNpZmllZCByYW5nZSBvZiBQQ0k8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgY29uZmlndXJhdGlvbiBzcGFjZS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgV3JpdGVzIHRo ZSByYW5nZSBvZiBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgc3BlY2lmaWVkIGJ5IFN0YXJ0 QWRkcmVzczxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFNp emUgZnJvbSB0aGUgYnVmZmVyIHNwZWNpZmllZCBieSBCdWZmZXIuIFRoaXMgZnVuY3Rpb24gb25s eSBhbGxvd3MgdGhlIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBjb25maWd1 cmF0aW9uIHJlZ2lzdGVycyBmcm9tIGEgc2luZ2xlIFBDSSBmdW5jdGlvbiB0byBiZSB3cml0dGVu LiBTaXplIGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybmVkLiBXaGVu IHBvc3NpYmxlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiB3cml0ZSBjeWNsZXMgYXJlIHVzZWQg dG88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3JpdGUgZnJvbSBTdGFydEFkcmVz cyB0byBTdGFydEFkZHJlc3MgJiM0MzsgU2l6ZS4gRHVlIHRvIGFsaWdubWVudDxicj4NCiZndDsg cmVzdHJpY3Rpb25zLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyA4LWJpdCBhbmQg MTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHdyaXRlIGN5Y2xlcyBtYXkgYmUgdXNlZCBhdCB0aGUg YmVnaW5uaW5nPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGFuZCB0aGUgZW5kIG9m IHRoZSByYW5nZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgSWYgU3RhcnRBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NF UlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgKChTdGFydEFkZHJlc3Mg JmFtcDsgMHhGRkYpICYjNDM7IFNpemUpICZndDsgMHgxMDAwLCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTaXplICZndDsgMCBhbmQgQnVmZmVyIGlz IE5VTEwsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEFkZHJlc3MmbmJzcDsg VGhlIHN0YXJ0aW5nIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLDxicj4NCiZndDsg RGV2aWNlLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IEZ1bmN0aW9uIGFuZCBSZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgQHBhcmFtJm5ic3A7IFNpemUmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRo ZSBzaXplIGluIGJ5dGVzIG9mIHRoZSB0cmFuc2Zlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEJ1ZmZlciZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBU aGUgcG9pbnRlciB0byBhIGJ1ZmZlciBjb250YWluaW5nIHRoZSBkYXRhIHRvIHdyaXRlLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cmV0dXJuIFNpemUgd3JpdHRlbiB0byBTdGFydEFkZHJlc3MuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7VUlOVE48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MztQY2lFeHByZXNzV3JpdGVCdWZmZXIgKDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO1N0YXJ0QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJz cDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTaXplLDxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFZPSUQmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICpCdWZmZXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1Jl dHVyblZhbHVlOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBBU1NFUlRfSU5WQUxJRF9QQ0lfQUREUkVTUyAoU3RhcnRBZGRyZXNzKTs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUICgoKFN0YXJ0QWRkcmVzcyAm YW1wOyAweEZGRikgJiM0MzsgU2l6ZSkgJmx0Oz0gMHgxMDAwKTs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgaWYgKFNpemUgPT0gMCkg ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIDA7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQVNTRVJUIChCdWZmZXIgIT0gTlVMTCk7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IC8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IC8vIFNhdmUgU2l6ZSBmb3Ig cmV0dXJuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IC8vPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IFJldHVyblZhbHVlID0gU2l6ZTs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgaWYgKChTdGFydEFkZHJl c3MgJmFtcDsgMSkgIT0gMCkgezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJz cDsgLy88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vIFdyaXRlIGEg Ynl0ZSBpZiBTdGFydEFkZHJlc3MgaXMgYnl0ZSBhbGlnbmVkPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICZuYnNwOyAvLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAm bmJzcDsgUGNpRXhwcmVzc1dyaXRlOCAoU3RhcnRBZGRyZXNzLCAqKFVJTlQ4KilCdWZmZXIpOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgU3RhcnRBZGRyZXNzICYjNDM7 PSBzaXplb2YgKFVJTlQ4KTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7 IFNpemUgLT0gc2l6ZW9mIChVSU5UOCk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICZuYnNwOyBCdWZmZXIgPSAoVUlOVDgqKUJ1ZmZlciAmIzQzOyAxOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGlmIChTaXplICZndDs9IHNpemVvZiAoVUlOVDE2KSAmYW1w OyZhbXA7IChTdGFydEFkZHJlc3MgJmFtcDsgMikgIT0gMCkgezxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyAmbmJzcDsgLy88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg Jm5ic3A7IC8vIFdyaXRlIGEgd29yZCBpZiBTdGFydEFkZHJlc3MgaXMgd29yZCBhbGlnbmVkPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAvLzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgUGNpRXhwcmVzc1dyaXRlMTYgKFN0YXJ0QWRkcmVzcywg UmVhZFVuYWxpZ25lZDE2ICgoVUlOVDE2KilCdWZmZXIpKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7IFN0YXJ0QWRkcmVzcyAmIzQzOz0gc2l6ZW9mIChVSU5UMTYpOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgU2l6ZSAtPSBzaXplb2YgKFVJ TlQxNik7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBCdWZmZXIgPSAo VUlOVDE2KilCdWZmZXIgJiM0MzsgMTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyB3aGlsZSAoU2l6ZSAmZ3Q7PSBzaXplb2YgKFVJTlQzMikpIHs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyAvLyBXcml0ZSBhcyBtYW55IGRvdWJsZSB3b3JkcyBhcyBwb3NzaWJsZTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgLy88YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgJm5ic3A7IFBjaUV4cHJlc3NXcml0ZTMyIChTdGFydEFkZHJlc3MsIFJl YWRVbmFsaWduZWQzMiAoKFVJTlQzMiopQnVmZmVyKSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7ICZuYnNwOyBTdGFydEFkZHJlc3MgJiM0Mzs9IHNpemVvZiAoVUlOVDMyKTs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IFNpemUgLT0gc2l6ZW9mIChVSU5U MzIpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgQnVmZmVyID0gKFVJ TlQzMiopQnVmZmVyICYjNDM7IDE7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgaWYgKFNpemUgJmd0Oz0gc2l6ZW9mIChVSU5UMTYpKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICZuYnNwOyAvLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAm bmJzcDsgLy8gV3JpdGUgdGhlIGxhc3QgcmVtYWluaW5nIHdvcmQgaWYgZXhpc3Q8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7ICZuYnNwOyBQY2lFeHByZXNzV3JpdGUxNiAoU3RhcnRBZGRyZXNzLCBSZWFkVW5h bGlnbmVkMTYgKChVSU5UMTYqKUJ1ZmZlcikpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgU3RhcnRBZGRyZXNzICYjNDM7PSBzaXplb2YgKFVJTlQxNik7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBTaXplIC09IHNpemVvZiAoVUlOVDE2KTs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IEJ1ZmZlciA9IChVSU5UMTYq KUJ1ZmZlciAmIzQzOyAxOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGlm IChTaXplICZndDs9IHNpemVvZiAoVUlOVDgpKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7ICZuYnNwOyAvLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg Ly8gV3JpdGUgdGhlIGxhc3QgcmVtYWluaW5nIGJ5dGUgaWYgZXhpc3Q8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IC8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyBQY2lFeHByZXNzV3JpdGU4IChTdGFydEFkZHJlc3MsICooVUlOVDgqKUJ1ZmZl cik7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0dXJuIFJldHVyblZh bHVlOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgZGlm ZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUxpYlBjaUV4cHJlc3MvUGNp TGliLmM8YnI+DQomZ3Q7IGIvVWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpTGliUGNpRXhw cmVzcy9QY2lMaWIuYzxicj4NCiZndDsgbmV3IGZpbGUgbW9kZSAxMDA2NDQ8YnI+DQomZ3Q7IGlu ZGV4IDAwMDAwMDAwMDAwMC4uZmJhNTkxNDQ2MmM4PGJyPg0KJmd0OyAtLS0gL2Rldi9udWxsPGJy Pg0KJmd0OyAmIzQzOyYjNDM7JiM0MzsgYi9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lM aWJQY2lFeHByZXNzL1BjaUxpYi5jPGJyPg0KJmd0OyBAQCAtMCwwICYjNDM7MSwxMzAyIEBAPGJy Pg0KJmd0OyAmIzQzOy8qKiBAZmlsZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBQ Q0kgTGlicmFyeSBmdW5jdGlvbnMgdGhhdCB1c2UgdGhlIDI1NiBNQiBQQ0kgRXhwcmVzcyBNTUlP IHdpbmRvdyB0bzxicj4NCiZndDsgcGVyZm9ybSBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQ29uZmlndXJhdGlvbiBjeWNsZXMuIExheWVycyBvbiBQQ0kgRXhwcmVzcyBMaWJy YXJ5Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC4mbHQ7QlImZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7I2luY2x1ZGUgJmx0O0Jhc2UuaCZndDs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjaW5jbHVkZSAmbHQ7TGlicmFyeS9Q Y2lMaWIuaCZndDs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjaW5jbHVkZSAmbHQ7TGlicmFy eS9QY2lFeHByZXNzTGliLmgmZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7I2luY2x1ZGUg Jmx0O0xpYnJhcnkvUGNpQ2Y4TGliLmgmZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7I2luY2x1ZGUgJmx0O1BpL1BpQm9vdE1vZGUuaCZndDs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjaW5jbHVkZSAmbHQ7VWVmaS9VZWZpQmFzZVR5cGUu aCZndDs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsjaW5jbHVkZSAmbHQ7VWVmaS9VZWZpTXVs dGlQaGFzZS5oJmd0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyNpbmNsdWRlICZsdDtQaS9Q aUhvYi5oJmd0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyNpbmNsdWRlICZsdDtMaWJyYXJ5L0hvYkxpYi5oJmd0Ozxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyNpbmNsdWRlICZsdDtHdWlkL0FjcGlCb2FyZEluZm9HdWlkLmgmZ3Q7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7U1RBVElDIEJP T0xFQU4gbU1NQ09ORkVuYWJsZWQ7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJl Z2lzdGVycyBhIFBDSSBkZXZpY2Ugc28gUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzIG1heSBi ZSBhY2Nlc3NlZCBhZnRlcjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBTZXRWaXJ0 dWFsQWRkcmVzc01hcCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBSZWdpc3RlcnMgdGhlIFBDSSBkZXZpY2Ugc3BlY2lmaWVkIGJ5 IEFkZHJlc3Mgc28gYWxsIHRoZSBQQ0kgY29uZmlndXJhdGlvbjxicj4NCiZndDsgcmVnaXN0ZXJz PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGFzc29jaWF0ZWQgd2l0aCB0aGF0IFBD SSBkZXZpY2UgbWF5IGJlIGFjY2Vzc2VkIGFmdGVyPGJyPg0KJmd0OyBTZXRWaXJ0dWFsQWRkcmVz c01hcCgpIGlzIGNhbGxlZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNT RVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0 aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbjxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgUmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR2YWwgUkVUVVJOX1NVQ0NFU1MmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1RoZSBQQ0kgZGV2aWNlIHdhcyBy ZWdpc3RlcmVkIGZvciBydW50aW1lPGJyPg0KJmd0OyBhY2Nlc3MuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IEByZXR2YWwgUkVUVVJOX1VOU1VQUE9SVEVEJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7QW4gYXR0ZW1wdCB3YXMgbWFkZSB0byBjYWxsIHRoaXM8YnI+DQomZ3Q7IGZ1 bmN0aW9uPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDthZnRlciBFeGl0Qm9v dFNlcnZpY2VzKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR2YWwgUkVU VVJOX1VOU1VQUE9SVEVEJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7VGhlIHJlc291cmNlcyBy ZXF1aXJlZCB0byBhY2Nlc3MgdGhlPGJyPg0KJmd0OyBQQ0kgZGV2aWNlPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDthdCBydW50aW1lIGNvdWxkIG5vdCBiZSBtYXBwZWQuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR2YWwgUkVUVVJOX09VVF9PRl9SRVNP VVJDRVMmbmJzcDsgVGhlcmUgYXJlIG5vdCBlbm91Z2ggcmVzb3VyY2VzPGJyPg0KJmd0OyBhdmFp bGFibGUgdG88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NvbXBsZXRlIHRo ZSByZWdpc3RyYXRpb24uPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UkVUVVJOX1NUQVRVUzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz O1BjaVJlZ2lzdGVyRm9yUnVudGltZUFjY2VzcyAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IElOIFVJTlROJm5ic3A7IEFkZHJlc3M8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgcmV0dXJuIFBjaUV4cHJlc3NSZWdpc3RlckZvclJ1bnRpbWVBY2Nlc3MgKEFk ZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgUGVyZm9ybXMgcGxhdGZvcm0gc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gcmVx dWlyZWQgZm9yIHRoZSBDUFUgdG8gYWNjZXNzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IHRoZSBNTUNPTkYgc3BhY2UuJm5ic3A7IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgaW5pdGlh bGl6ZSB0aGUgTU1DT05GIGl0c2VsZi48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHZhbCBSRVRVUk5fU1VDQ0VTUyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO1RoZSBwbGF0Zm9ybSBzcGVjaWZpYyBpbml0aWFsaXphdGlvbiBz dWNjZWVkZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR2YWwgUkVUVVJO X0RFVklDRV9FUlJPUiZuYnNwOyBUaGUgcGxhdGZvcm0gc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24g Y291bGQ8YnI+DQomZ3Q7IG5vdCBiZSBjb21wbGV0ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7UkVUVVJOX1NUQVRVUzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO1BjaUxpYkluaXRpYWxpemUgKDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBWT0lEPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IEVGSV9IT0JfR1VJRF9UWVBFJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOypHdWlk SG9iOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBQ1BJX0JPQVJEX0lORk8mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOypBY3BpQm9hcmRJbmZvUHRyOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyAvLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAvLyBGaW5kIHRoZSBhY3BpIGJv YXJkIGluZm9ybWF0aW9uIGd1aWQgaG9iPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IC8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEd1aWRIb2IgPSBHZXRGaXJzdEd1 aWRIb2IgKCZhbXA7Z1VlZmlBY3BpQm9hcmRJbmZvR3VpZCk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IGlmIChHdWlkSG9iID09IE5VTEwpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBFRklfU1VDQ0VTUzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgfTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBBY3BpQm9h cmRJbmZvUHRyID0gKEFDUElfQk9BUkRfSU5GTyAqKUdFVF9HVUlEX0hPQl9EQVRBPGJyPg0KJmd0 OyAoR3VpZEhvYik7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IG1NTUNPTkZFbmFibGVkID0gQWNwaUJvYXJkSW5mb1B0ci0mZ3Q7UGNp ZUJhc2VBZGRyZXNzICE9IDAgJmFtcDsmYW1wOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgJm5ic3A7IEFjcGlCb2FyZEluZm9QdHItJmd0O1BjaWVCYXNlU2l6ZSAhPSAw Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm4gRUZJX1NVQ0NFU1M7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBSZWFkcyBhbiA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgYW5k IHJldHVybnMgdGhlIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBi eSBBZGRyZXNzLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBUaGlzIGZ1bmN0aW9u IG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFy ZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBzZXJpYWxpemVkLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRy ZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJl c3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9u PGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZWdpc3Rlci48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgQHJldHVybiBUaGUgcmVhZCB2YWx1ZSBmcm9tIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdp c3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UODxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaVJlYWQ4ICg8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtBZGRyZXNzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IGlmIChtTU1DT05GRW5hYmxlZCkgezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyAmbmJzcDsgcmV0dXJuIFBjaUV4cHJlc3NSZWFkOCAoQWRkcmVzcyk7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7ICZuYnNwOyByZXR1cm4gUGNpQ2Y4UmVhZDggKEFkZHJlc3MpOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBXcml0ZXMgYW4gOC1iaXQgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IFdyaXRlcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3Mgd2l0aCB0aGU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgdmFsdWUgc3BlY2lmaWVkIGJ5IFZhbHVlLiBWYWx1ZSBpcyByZXR1cm5lZC4gVGhp cyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZu YnNwOyBBZGRyZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNl LCBGdW5jdGlvbjxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg UmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBW YWx1ZSZuYnNwOyAmbmJzcDtUaGUgdmFsdWUgdG8gd3JpdGUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEByZXR1cm4gVGhlIHZhbHVl IHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpV3JpdGU4ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtB ZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsg Jm5ic3A7IFVJTlQ4Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1ZhbHVlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IGlmIChtTU1DT05GRW5hYmxlZCkgezxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBjaUV4cHJlc3NXcml0ZTggKEFkZHJlc3Ms IFZhbHVlKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhXcml0ZTggKEFk ZHJlc3MsIFZhbHVlKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUGVy Zm9ybXMgYSBiaXR3aXNlIE9SIG9mIGFuIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy IHdpdGg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYW4gOC1iaXQgdmFsdWUuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IFJlYWRzIHRoZSA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkg QWRkcmVzcywgcGVyZm9ybXMgYTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3 aXNlIE9SIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUg cmVzdWx0IHRvIHRoZSA4LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlcjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdy aXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVl IHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZTxicj4NCiZndDsgb3BlcmF0aW9uczxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBhcmUgc2VyaWFsaXplZC48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyAm Z3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzIFRo ZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbjxicj4N CiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVnaXN0ZXIuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBPckRhdGEmbmJzcDsgVGhl IHZhbHVlIHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0 dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpT3I4ICg8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJ TiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQ4Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO09yRGF0YTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNz T3I4IChBZGRyZXNzLCBPckRhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9 IGVsc2Ugezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBj aUNmOE9yOCAoQWRkcmVzcywgT3JEYXRhKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgfTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgUGVyZm9ybXMgYSBiaXR3aXNlIEFORCBvZiBhbiA4LWJpdCBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciB3aXRoIGFuIDgtYml0PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IHZhbHVlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIg c3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2YWx1 ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSw8YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgOC1iaXQgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiBy ZWdpc3RlciBpcyByZXR1cm5lZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgVGhp cyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGUgb3Bl cmF0aW9ucyBhcmU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc2VyaWFsaXplZC48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZu YnNwOyBBZGRyZXNzIFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNl LCBGdW5jdGlvbjxicj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg UmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBB bmREYXRhIFRoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDg8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lBbmQ4 ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNw OyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQ4Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O0FuZERhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgaWYgKG1NTUNP TkZFbmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1 cm4gUGNpRXhwcmVzc0FuZDggKEFkZHJlc3MsIEFuZERhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyB9IGVsc2Ugezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAm bmJzcDsgcmV0dXJuIFBjaUNmOEFuZDggKEFkZHJlc3MsIEFuZERhdGEpOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBQZXJmb3JtcyBhIGJpdHdpc2UgQU5EIG9mIGFuIDgt Yml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHdpdGggYW4gOC1iaXQ8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgdmFsdWUsIGZvbGxvd2VkIGEmbmJzcDsgYml0d2lzZSBPUiB3 aXRoIGFub3RoZXIgOC1iaXQgdmFsdWUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSA4LWJpdCBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXMgYTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIEFORCBiZXR3ZWVuIHRoZSByZWFkIHJlc3Vs dCBhbmQgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBwZXJmb3JtcyBhIGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVzdWx0IG9m IHRoZSBBTkQgb3BlcmF0aW9uIGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB0 aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRvIHRo ZSA4LWJpdCBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgY29uZmlndXJhdGlv biByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhl IFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBD STxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZWFkIGFuZCB3cml0ZSBvcGVyYXRp b25zIGFyZSBzZXJpYWxpemVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBB U1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVz IHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBSZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgQHBhcmFtJm5ic3A7IEFuZERhdGEgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QHBhcmFtJm5ic3A7IE9yRGF0YSZuYnNwOyBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0aGUgcmVzdWx0 IG9mIHRoZSBBTkQgb3BlcmF0aW9uLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sg dG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7UGNpQW5kVGhlbk9yOCAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVz cyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNw OyBVSU5UOCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBbmREYXRhLDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQ4Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O09yRGF0YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09O RkVuYWJsZWQpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVy biBQY2lFeHByZXNzQW5kVGhlbk9yOCAoQWRkcmVzcywgQW5kRGF0YSwgT3JEYXRhKTs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhBbmRUaGVuT3I4IChBZGRyZXNzLCBBbmRE YXRhLCBPckRhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFk cyBhIGJpdCBmaWVsZCBvZiBhIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0 aGUgYml0IGZpZWxkIGluIGFuIDgtYml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLiBUaGUg Yml0IGZpZWxkIGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHNwZWNpZmllZCBi eSB0aGUgU3RhcnRCaXQgYW5kIHRoZSBFbmRCaXQuIFRoZSB2YWx1ZSBvZiB0aGUgYml0IGZpZWxk IGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybmVkLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRy ZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRoZW4gQVNTRVJUKCku PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVhdGVyIHRo YW4gNywgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYg RW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5i c3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRv IHJlYWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFy dEJpdCZuYnNwOyBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRo ZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdl IDAuLjcuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBFbmRC aXQmbmJzcDsgJm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBp biB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBS YW5nZSAwLi43Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSBvZiB0aGUgYml0IGZpZWxkIHJlYWQgZnJv bSB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7VUlOVDg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MztQY2lCaXRGaWVsZFJlYWQ4ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBZGRy ZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5i c3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO0VuZEJpdDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1N Q09ORkVuYWJsZWQpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJl dHVybiBQY2lFeHByZXNzQml0RmllbGRSZWFkOCAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCk7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1cm4gUGNpQ2Y4Qml0RmllbGRSZWFkOCAoQWRk cmVzcywgU3RhcnRCaXQsIEVuZEJpdCk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IFdyaXRlcyBhIGJpdCBmaWVsZCB0byBhIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBXcml0ZXMgVmFsdWUgdG8gdGhlIGJpdCBmaWVsZCBvZiB0aGUgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIuIFRoZSBiaXQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgZmll bGQgaXMgc3BlY2lmaWVkIGJ5IHRoZSBTdGFydEJpdCBhbmQgdGhlIEVuZEJpdC4gQWxsIG90aGVy IGJpdHMgaW4gdGhlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGRlc3RpbmF0aW9u IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGFyZSBwcmVzZXJ2ZWQuIFRoZSBuZXcgdmFsdWUg b2YgdGhlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IDgtYml0IHJlZ2lzdGVyIGlz IHJldHVybmVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0 aGFuIDcsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElm IEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gNywgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgSWYgRW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBB U1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgVmFsdWUgaXMgbGFy Z2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFu ZDxicj4NCiZndDsgRW5kQml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVz cyZuYnNwOyAmbmJzcDtUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNw OyBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmll bGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjcuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBFbmRCaXQmbmJzcDsg Jm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0 IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi43 Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgVmFsdWUmbmJz cDsgJm5ic3A7ICZuYnNwO1RoZSBuZXcgdmFsdWUgb2YgdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHVy biBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsq Ki88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UODxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUJpdEZpZWxkV3JpdGU4ICg8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBV SU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0 YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsg Jm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UOCZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDtWYWx1ZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1N Q09ORkVuYWJsZWQpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJl dHVybiBQY2lFeHByZXNzQml0RmllbGRXcml0ZTggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQs IFZhbHVlKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhCaXRGaWVsZFdy aXRlOCAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCwgVmFsdWUpOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIGJpdCBmaWVsZCBpbiBhbiA4LWJpdCBQQ0kg Y29uZmlndXJhdGlvbiwgcGVyZm9ybXMgYSBiaXR3aXNlIE9SLCBhbmQ8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0aGUgYml0IGZpZWxk IGluIHRoZSA4LWJpdCBwb3J0Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGE8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQg dGhlIHZhbHVlIHNwZWNpZmllZCBieTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBP ckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc3BlY2lmaWVkIGJ5 IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdp c3RlciBpczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyByZXR1cm5lZC4gVGhpcyBm dW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGU8YnI+DQom Z3Q7IG9wZXJhdGlvbnM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYXJlIHNlcmlh bGl6ZWQuIEV4dHJhIGxlZnQgYml0cyBpbiBPckRhdGEgYXJlIHN0cmlwcGVkLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRy ZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDcsIHRoZW4gQVNTRVJUKCku PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVhdGVyIHRo YW4gNywgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYg RW5kQml0IGlzIGxlc3MgdGhhbiBTdGFydEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNr IHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwg dGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhl IGxlYXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi43Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7ICZuYnNwOyBUaGUgb3JkaW5hbCBv ZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uNy48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IE9yRGF0YSZuYnNwOyAmbmJzcDsgVGhlIHZhbHVl IHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRo ZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpQml0RmllbGRPcjggKDxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U3RhcnRCaXQs PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsg VUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQ4Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO09y RGF0YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVu YWJsZWQpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQ Y2lFeHByZXNzQml0RmllbGRPcjggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIE9yRGF0YSk7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1cm4gUGNpQ2Y4Qml0RmllbGRPcjggKEFkZHJl c3MsIFN0YXJ0Qml0LCBFbmRCaXQsIE9yRGF0YSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxkIGluIGFuIDgtYml0IFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyLCBwZXJmb3JtcyBhIGJpdHdpc2U8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQU5ELCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0aGUgYml0IGZpZWxk IGluIHRoZSA4LWJpdCByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgdGhlIDgtYml0IFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3JtcyBhPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0 IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsPGJyPg0KJmd0OyBhbmQ8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDgtYml0 IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0byB0aGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgUENJIHJlYWQg YW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IHNlcmlhbGl6ZWQuIEV4dHJhIGxlZnQgYml0cyBpbiBBbmREYXRhIGFyZSBzdHJpcHBlZC48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg SWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVuIEFT U0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgZ3Jl YXRlciB0aGFuIDcsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFuZERhdGEgaXMgbGFyZ2VyIHRoYW4gdGhl IGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZDxicj4NCiZndDsg RW5kQml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyZuYnNwOyAmbmJz cDtUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNwOyBUaGUgb3JkaW5h bCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjcuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBFbmRCaXQmbmJzcDsgJm5ic3A7IFRoZSBv cmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi43Ljxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQW5kRGF0YSZuYnNwOyAmbmJzcDtU aGUgdmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpQml0RmllbGRBbmQ4 ICg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNw OyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O1N0YXJ0Qml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJz cDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UOCZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDtBbmREYXRhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGlm IChtTU1DT05GRW5hYmxlZCkgezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJz cDsgcmV0dXJuIFBjaUV4cHJlc3NCaXRGaWVsZEFuZDggKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRC aXQsIEFuZERhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9IGVsc2Ugezxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBjaUNmOEJpdEZp ZWxkQW5kOCAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCwgQW5kRGF0YSk7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxkIGluIGFuIDgtYml0 IHBvcnQsIHBlcmZvcm1zIGEgYml0d2lzZSBBTkQgZm9sbG93ZWQgYnkgYTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIE9SLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFj ayB0byB0aGUgYml0IGZpZWxkIGluIHRoZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyA4LWJpdCBwb3J0Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgOC1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zIGE8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgYml0d2lzZSBBTkQgZm9sbG93ZWQgYnkgYSBiaXR3aXNlIE9SIGJldHdlZW4g dGhlIHJlYWQgcmVzdWx0IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB0aGUg dmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0byB0aGUg OC1iaXQgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQ Q0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgY29uZmlndXJhdGlvbiByZWdpc3Rl ciBpcyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBQQ0k8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9u cyBhcmUgc2VyaWFsaXplZC4gRXh0cmEgbGVmdCBiaXRzIGluIGJvdGggQW5kRGF0YSBhbmQ8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgT3JEYXRhIGFyZSBzdHJpcHBlZC48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYg QWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElmIFN0YXJ0Qml0IGlzIGdyZWF0ZXIgdGhhbiA3LCB0aGVuIEFTU0VS VCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgZ3JlYXRl ciB0aGFuIDcsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFuZERhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJp dG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZDxicj4NCiZndDsgRW5k Qml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBP ckRhdGEgaXMgbGFyZ2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5 IFN0YXJ0Qml0IGFuZDxicj4NCiZndDsgRW5kQml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0m bmJzcDsgQWRkcmVzcyZuYnNwOyAmbmJzcDtUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIg dG8gd3JpdGUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBT dGFydEJpdCZuYnNwOyBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGlu IHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJh bmdlIDAuLjcuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBF bmRCaXQmbmJzcDsgJm5ic3A7IFRoZSBvcmRpbmFsIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGJp dCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBSYW5nZSAwLi43Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJz cDsgQW5kRGF0YSZuYnNwOyAmbmJzcDtUaGUgdmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFy YW0mbmJzcDsgT3JEYXRhJm5ic3A7ICZuYnNwOyBUaGUgdmFsdWUgdG8gT1Igd2l0aCB0aGUgcmVz dWx0IG9mIHRoZSBBTkQgb3BlcmF0aW9uLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJh Y2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzO1VJTlQ4PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7UGNpQml0RmllbGRBbmRUaGVuT3I4ICg8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAm bmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0Qml0LDxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwO0VuZEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4m bmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UOCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtBbmREYXRhLDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQ4 Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO09yRGF0YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzQml0RmllbGRBbmRUaGVuT3I4IChBZGRyZXNz LCBTdGFydEJpdCwgRW5kQml0LCBBbmREYXRhLDxicj4NCiZndDsgT3JEYXRhKTs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhCaXRGaWVsZEFuZFRoZW5PcjggKEFkZHJlc3Ms IFN0YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEsPGJyPg0KJmd0OyBPckRhdGEpOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIDE2LWJpdCBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgYW5kIHJldHVybnMgdGhlIDE2LWJpdCBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IEFkZHJlc3MuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhh dCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IHNlcmlhbGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZG LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRy ZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBAcGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBC dXMsIERldmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSByZWFkIHZhbHVlIGZyb20gdGhlIFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQx Njxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzO1BjaVJlYWQxNiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7 ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzczxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzUmVhZDE2 IChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhSZWFkMTYg KEFkZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBXcml0ZXMg YSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFdyaXRlcyB0aGUgMTYtYml0 IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzIHdpdGggdGhl PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHZhbHVlIHNwZWNpZmllZCBieSBWYWx1 ZS4gVmFsdWUgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWU8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9w ZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNz IGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMs IERldmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0m bmJzcDsgVmFsdWUmbmJzcDsgJm5ic3A7VGhlIHZhbHVlIHRvIHdyaXRlLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRo ZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMTY8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztFRklB UEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lXcml0ZTE2ICg8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNw OyAmbmJzcDsgJm5ic3A7IFVJTlQxNiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBWYWx1ZTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzV3JpdGUxNiAoQWRk cmVzcywgVmFsdWUpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9IGVsc2Ugezxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBjaUNmOFdyaXRl MTYgKEFkZHJlc3MsIFZhbHVlKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgUGVyZm9ybXMgYSBiaXR3aXNlIE9SIG9mIGEgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyIHdpdGg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYSAxNi1iaXQgdmFs dWUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IFJlYWRzIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lm aWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0OyBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRoZSB2 YWx1ZSBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgT3JEYXRh LCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiBy ZWdpc3Rlcjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBzcGVjaWZpZWQgYnkgQWRk cmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy IGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybmVkLiBUaGlzIGZ1bmN0 aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZTxicj4NCiZndDsg b3BlcmF0aW9uczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBhcmUgc2VyaWFsaXpl ZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAx Ni1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzIFRo ZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbjxicj4N CiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVnaXN0ZXIuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBPckRhdGEmbmJzcDsgVGhl IHZhbHVlIHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0 dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQxNjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaU9yMTYgKDxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDE2Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE9yRGF0YTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzT3Ix NiAoQWRkcmVzcywgT3JEYXRhKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBl bHNlIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lD ZjhPcjE2IChBZGRyZXNzLCBPckRhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBQZXJmb3JtcyBhIGJpdHdpc2UgQU5EIG9mIGEgMTYtYml0IFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyIHdpdGggYSAxNi1iaXQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgdmFsdWUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIg c3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0OyBhPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFu ZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDE2LWJpdCBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFu ZCB3cml0ZSBvcGVyYXRpb25zIGFyZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBz ZXJpYWxpemVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25l ZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFk ZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1bmN0 aW9uPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZWdpc3Rl ci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFuZERhdGEg VGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiBy ZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMTY8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lBbmQxNiAoPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlO VE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UMTYmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQW5kRGF0YTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQp IHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHBy ZXNzQW5kMTYgKEFkZHJlc3MsIEFuZERhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyB9IGVsc2Ugezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0 dXJuIFBjaUNmOEFuZDE2IChBZGRyZXNzLCBBbmREYXRhKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgfTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgUGVyZm9ybXMgYSBiaXR3aXNlIEFORCBvZiBhIDE2LWJpdCBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlciB3aXRoIGEgMTYtYml0PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IHZhbHVlLCBmb2xsb3dlZCBhJm5ic3A7IGJpdHdpc2UgT1Igd2l0aCBhbm90 aGVyIDE2LWJpdCB2YWx1ZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgdGhlIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiBy ZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXM8YnI+DQomZ3Q7IGE8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVhZCBy ZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSw8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgcGVyZm9ybXMgYSBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJlc3Vs dCBvZiB0aGUgQU5EIG9wZXJhdGlvbiBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3VsdCB0 byB0aGUgMTYtYml0IFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBjb25maWd1 cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRlbiB0 byB0aGUgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBh bGwgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJlYWQgYW5kIHdyaXRlIG9w ZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNz IGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBCdXMs IERldmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0m bmJzcDsgQW5kRGF0YSBUaGUgdmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsg T3JEYXRhJm5ic3A7IFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIEFORCBv cGVyYXRpb24uPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDE2PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 UGNpQW5kVGhlbk9yMTYgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNw OyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDE2Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IEFuZERhdGEsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5i c3A7ICZuYnNwOyAmbmJzcDsgVUlOVDE2Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE9yRGF0YTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzQW5kVGhlbk9y MTYgKEFkZHJlc3MsIEFuZERhdGEsIE9yRGF0YSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBy ZXR1cm4gUGNpQ2Y4QW5kVGhlbk9yMTYgKEFkZHJlc3MsIEFuZERhdGEsIE9yRGF0YSk7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Lyoq PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxkIG9mIGEg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSBiaXQgZmllbGQgaW4gYSAx Ni1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuIFRoZSBiaXQgZmllbGQgaXM8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc3BlY2lmaWVkIGJ5IHRoZSBTdGFydEJpdCBhbmQg dGhlIEVuZEJpdC4gVGhlIHZhbHVlIG9mIHRoZSBiaXQgZmllbGQgaXM8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZG LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRy ZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRo YW4gMTUsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElm IEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4g QVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzJm5ic3A7ICZuYnNwO1RoZSBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlciB0byByZWFkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBAcGFyYW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0 IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi4xNS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgQHBhcmFtJm5ic3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhl IG1vc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjE1Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSBv ZiB0aGUgYml0IGZpZWxkIHJlYWQgZnJvbSB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIu PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Kiov PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDE2PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpQml0RmllbGRSZWFkMTYgKDxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJ TlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U3Rh cnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAm bmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IGlmIChtTU1DT05GRW5hYmxlZCkgezxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBjaUV4cHJlc3NCaXRGaWVsZFJlYWQxNiAo QWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1 cm4gUGNpQ2Y4Qml0RmllbGRSZWFkMTYgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQpOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8q Kjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBXcml0ZXMgYSBiaXQgZmllbGQgdG8g YSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgV3JpdGVzIFZhbHVlIHRvIHRoZSBiaXQg ZmllbGQgb2YgdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLiBUaGUgYml0PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGZpZWxkIGlzIHNwZWNpZmllZCBieSB0aGUgU3RhcnRC aXQgYW5kIHRoZSBFbmRCaXQuIEFsbCBvdGhlciBiaXRzIGluIHRoZTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBkZXN0aW5hdGlvbiBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBh cmUgcHJlc2VydmVkLiBUaGUgbmV3IHZhbHVlIG9mIHRoZTxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyAxNi1iaXQgcmVnaXN0ZXIgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0 OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVu IEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEJpdCBp cyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3Rh cnRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElm IFZhbHVlIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBi eSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFt Jm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVy IHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsg U3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCBp biB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBS YW5nZSAwLi4xNS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7 IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQg Yml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IFJhbmdlIDAuLjE1Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0m bmJzcDsgVmFsdWUmbmJzcDsgJm5ic3A7ICZuYnNwO1RoZSBuZXcgdmFsdWUgb2YgdGhlIGJpdCBm aWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMTY8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lC aXRGaWVsZFdyaXRlMTYgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNw OyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJ TlQxNiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBWYWx1ZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAp PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzQml0RmllbGRXcml0ZTE2IChBZGRyZXNzLCBTdGFy dEJpdCwgRW5kQml0LCBWYWx1ZSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH0g ZWxzZSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1cm4gUGNp Q2Y4Qml0RmllbGRXcml0ZTE2IChBZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0LCBWYWx1ZSk7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxkIGlu IGEgMTYtYml0IFBDSSBjb25maWd1cmF0aW9uLCBwZXJmb3JtcyBhIGJpdHdpc2UgT1IsIGFuZDxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB3cml0ZXMgdGhlIHJlc3VsdCBiYWNrIHRv IHRoZSBiaXQgZmllbGQgaW4gdGhlIDE2LWJpdCBwb3J0Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgMTYtYml0IFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jtczxi cj4NCiZndDsgYTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIE9SIGJl dHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0IHRv IHRoZSAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXI8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVuIHRv IHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBpczxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFs bCBQQ0kgcmVhZCBhbmQgd3JpdGU8YnI+DQomZ3Q7IG9wZXJhdGlvbnM8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgYXJlIHNlcmlhbGl6ZWQuIEV4dHJhIGxlZnQgYml0cyBpbiBPckRh dGEgYXJlIHN0cmlwcGVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NF UlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3Qg YWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDE1LCB0aGVu IEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMg Z3JlYXRlciB0aGFuIDE1LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBPckRhdGEgaXMgbGFyZ2VyIHRoYW4g dGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZDxicj4NCiZn dDsgRW5kQml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyZuYnNwOyAm bmJzcDtUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNwOyBUaGUgb3Jk aW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjE1Ljxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7ICZuYnNwOyBU aGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVsZC48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uMTUuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBPckRhdGEmbmJzcDsgJm5i c3A7IFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlv biByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMTY8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lCaXRGaWVs ZE9yMTYgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsg Jm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7 ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQxNiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgaWYg KG1NTUNPTkZFbmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNw OyByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxkT3IxNiAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJp dCwgT3JEYXRhKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhCaXRGaWVs ZE9yMTYgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIE9yRGF0YSk7PGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxkIGluIGEgMTYtYml0IFBD SSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCBwZXJmb3JtcyBhIGJpdHdpc2U8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQU5ELCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byB0 aGUgYml0IGZpZWxkIGluIHRoZSAxNi1iaXQgcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAxNi1iaXQg UENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1z PGJyPg0KJmd0OyBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5E IGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERh dGEsPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3JpdGVz IHRoZSByZXN1bHQgdG8gdGhlIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVj aWZpZWQgYnk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQWRkcmVzcy4gVGhlIHZh bHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVk Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBUaGlzIGZ1bmN0aW9uIG11c3QgZ3Vh cmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZTxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMgaW4g QW5kRGF0YSBhcmUgc3RyaXBwZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0aGVu IEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzIGlz IG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4gMTUs IHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJp dCBpcyBncmVhdGVyIHRoYW4gMTUsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNTRVJU KCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFuZERhdGEgaXMgbGFyZ2Vy IHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZDxi cj4NCiZndDsgRW5kQml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyZu YnNwOyAmbmJzcDtUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNwOyBU aGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQu PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjE1Ljxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7ICZu YnNwOyBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBm aWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uMTUu PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBbmREYXRhJm5i c3A7ICZuYnNwO1RoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVn aXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDE2PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNp Qml0RmllbGRBbmQxNiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7 ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg SU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtFbmRCaXQsPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlO VDE2Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IEFuZERhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg KTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgaWYgKG1NTUNPTkZFbmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxkQW5kMTYgKEFkZHJlc3MsIFN0YXJ0 Qml0LCBFbmRCaXQsIEFuZERhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9 IGVsc2Ugezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBj aUNmOEJpdEZpZWxkQW5kMTYgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEpOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz Oy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIGJpdCBmaWVsZCBp biBhIDE2LWJpdCBwb3J0LCBwZXJmb3JtcyBhIGJpdHdpc2UgQU5EIGZvbGxvd2VkIGJ5IGE8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiwgYW5kIHdyaXRlcyB0aGUg cmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGU8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgMTYtYml0IHBvcnQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAxNi1iaXQgUENJIGNvbmZpZ3Vy YXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0OyBh PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGZvbGxvd2VkIGJ5 IGEgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQ8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLCBhbmQgd3Jp dGVzIHRoZSByZXN1bHQgdG8gdGhlIDE2LWJpdCBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhl IHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3Qg Z3VhcmFudGVlIHRoYXQgYWxsIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBy ZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMg aW4gYm90aCBBbmREYXRhIGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBPckRh dGEgYXJlIHN0cmlwcGVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NF UlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3Qg YWxpZ25lZCBvbiBhIDE2LWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDE1LCB0aGVu IEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMg Z3JlYXRlciB0aGFuIDE1LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBbmREYXRhIGlzIGxhcmdlciB0aGFu IHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQom Z3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNp ZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg QHBhcmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0m bmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25pZmljYW50 IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBSYW5nZSAwLi4xNS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFt Jm5ic3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qgc2lnbmlm aWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFJhbmdlIDAuLjE1Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cGFyYW0mbmJzcDsgQW5kRGF0YSZuYnNwOyAmbmJzcDtUaGUgdmFsdWUgdG8gQU5EIHdpdGggdGhl IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBAcGFyYW0mbmJzcDsgT3JEYXRhJm5ic3A7ICZuYnNwOyBUaGUgdmFsdWUgdG8gT1Igd2l0 aCB0aGUgcmVzdWx0IG9mIHRoZSBBTkQgb3BlcmF0aW9uLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1ZSB3 cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzO1VJTlQxNjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUJpdEZpZWxkQW5kVGhlbk9yMTYgKDxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U3RhcnRCaXQs PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsg VUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQxNiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBBbmREYXRh LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7 IFVJTlQxNiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgaWYgKG1NTUNPTkZFbmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7ICZuYnNwOyByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxkQW5kVGhlbk9yMTYgKEFkZHJl c3MsIFN0YXJ0Qml0LCBFbmRCaXQsPGJyPg0KJmd0OyBBbmREYXRhLCBPckRhdGEpOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9IGVsc2Ugezxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBjaUNmOEJpdEZpZWxkQW5kVGhlbk9yMTYgKEFkZHJl c3MsIFN0YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEsPGJyPg0KJmd0OyBPckRhdGEpOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIDMyLWJpdCBQQ0kgY29uZmln dXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgYW5kIHJldHVybnMgdGhlIDMyLWJpdCBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IEFkZHJlc3MuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUg dGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRlIG9wZXJhdGlvbnMgYXJlPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IHNlcmlhbGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZG RkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBB ZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBD SSBCdXMsIERldmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSByZWFkIHZhbHVlIGZyb20gdGhl IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJ TlQzMjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzO1BjaVJlYWQzMiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5i c3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzczxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzUmVh ZDMyIChBZGRyZXNzKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhSZWFk MzIgKEFkZHJlc3MpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBXcml0 ZXMgYSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFdyaXRlcyB0aGUgMzIt Yml0IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzIHdpdGgg dGhlPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHZhbHVlIHNwZWNpZmllZCBieSBW YWx1ZS4gVmFsdWUgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWU8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgdGhhdCBhbGwgUENJIHJlYWQgYW5kIHdyaXRl IG9wZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZG LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRy ZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBAcGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBC dXMsIERldmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFy YW0mbmJzcDsgVmFsdWUmbmJzcDsgJm5ic3A7VGhlIHZhbHVlIHRvIHdyaXRlLjxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJu IFRoZSB2YWx1ZSB3cml0dGVuIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMzI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztF RklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lXcml0ZTMyICg8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDtBZGRyZXNzLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZu YnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQzMiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBWYWx1ZTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzV3JpdGUzMiAo QWRkcmVzcywgVmFsdWUpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9IGVsc2Ug ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBjaUNmOFdy aXRlMzIgKEFkZHJlc3MsIFZhbHVlKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgUGVyZm9ybXMgYSBiaXR3aXNlIE9SIG9mIGEgMzItYml0IFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyIHdpdGg8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYSAzMi1iaXQg dmFsdWUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IFJlYWRzIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3Bl Y2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0OyBhPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgT1IgYmV0d2VlbiB0aGUgcmVhZCByZXN1bHQgYW5kIHRo ZSB2YWx1ZSBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgT3JE YXRhLCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlv biByZWdpc3Rlcjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBzcGVjaWZpZWQgYnkg QWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIGlzPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJldHVybmVkLiBUaGlzIGZ1 bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZTxicj4NCiZn dDsgb3BlcmF0aW9uczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBhcmUgc2VyaWFs aXplZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSWYgQWRkcmVzcyAmZ3Q7IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24g YSAzMi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNz IFRoZSBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgUENJIEJ1cywgRGV2aWNlLCBGdW5jdGlvbjxi cj4NCiZndDsgYW5kPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmVnaXN0ZXIuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBPckRhdGEmbmJzcDsg VGhlIHZhbHVlIHRvIE9SIHdpdGggdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBA cmV0dXJuIFRoZSB2YWx1ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJl Z2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQzMjxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaU9yMzIgKDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlRO Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDMyJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE9yRGF0YTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNz T3IzMiAoQWRkcmVzcywgT3JEYXRhKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg fSBlbHNlIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQ Y2lDZjhPcjMyIChBZGRyZXNzLCBPckRhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBQZXJmb3JtcyBhIGJpdHdpc2UgQU5EIG9mIGEgMzItYml0IFBDSSBjb25maWd1 cmF0aW9uIHJlZ2lzdGVyIHdpdGggYSAzMi1iaXQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgdmFsdWUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0OyBhPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0 IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFuZERhdGEsPGJyPg0KJmd0OyBhbmQ8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDMyLWJp dCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnk8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgQWRkcmVzcy4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFk IGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBzZXJpYWxpemVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBBU1NFUlQo KS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBub3QgYWxp Z25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7 IEFkZHJlc3MgVGhlIGFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBQQ0kgQnVzLCBEZXZpY2UsIEZ1 bmN0aW9uPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZWdp c3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEFuZERh dGEgVGhlIHZhbHVlIHRvIEFORCB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJhdGlv biByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMzI8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lBbmQzMiAo PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsg VUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UMzImbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgQW5kRGF0 YTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJs ZWQpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lF eHByZXNzQW5kMzIgKEFkZHJlc3MsIEFuZERhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyB9IGVsc2Ugezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsg cmV0dXJuIFBjaUNmOEFuZDMyIChBZGRyZXNzLCBBbmREYXRhKTs8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgfTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvKio8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgUGVyZm9ybXMgYSBiaXR3aXNlIEFORCBvZiBhIDMyLWJpdCBQ Q0kgY29uZmlndXJhdGlvbiByZWdpc3RlciB3aXRoIGEgMzItYml0PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IHZhbHVlLCBmb2xsb3dlZCBhJm5ic3A7IGJpdHdpc2UgT1Igd2l0aCBh bm90aGVyIDMyLWJpdCB2YWx1ZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgUmVhZHMgdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlv biByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcywgcGVyZm9ybXM8YnI+DQomZ3Q7IGE8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBBTkQgYmV0d2VlbiB0aGUgcmVh ZCByZXN1bHQgYW5kIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYnkgQW5kRGF0YSw8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgcGVyZm9ybXMgYSBiaXR3aXNlIE9SIGJldHdlZW4gdGhlIHJl c3VsdCBvZiB0aGUgQU5EIG9wZXJhdGlvbiBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBPckRhdGEsIGFuZCB3cml0ZXMgdGhlIHJlc3Vs dCB0byB0aGUgMzItYml0IFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBjb25m aWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLiBUaGUgdmFsdWUgd3JpdHRl biB0byB0aGUgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXIgaXMgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhh dCBhbGwgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IHJlYWQgYW5kIHdyaXRl IG9wZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZG LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRy ZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBAcGFyYW0mbmJzcDsgQWRkcmVzcyBUaGUgYWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFBDSSBC dXMsIERldmljZSwgRnVuY3Rpb248YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IFJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFy YW0mbmJzcDsgQW5kRGF0YSBUaGUgdmFsdWUgdG8gQU5EIHdpdGggdGhlIFBDSSBjb25maWd1cmF0 aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJz cDsgT3JEYXRhJm5ic3A7IFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIEFO RCBvcGVyYXRpb24uPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJ IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDMy PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7UGNpQW5kVGhlbk9yMzIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZu YnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDMy Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IEFuZERhdGEsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElO Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVDMyJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IE9yRGF0YTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzQW5kVGhl bk9yMzIgKEFkZHJlc3MsIEFuZERhdGEsIE9yRGF0YSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNw OyByZXR1cm4gUGNpQ2Y4QW5kVGhlbk9yMzIgKEFkZHJlc3MsIEFuZERhdGEsIE9yRGF0YSk7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxkIG9m IGEgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSBiaXQgZmllbGQgaW4g YSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuIFRoZSBiaXQgZmllbGQgaXM8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgc3BlY2lmaWVkIGJ5IHRoZSBTdGFydEJpdCBh bmQgdGhlIEVuZEJpdC4gVGhlIHZhbHVlIG9mIHRoZSBiaXQgZmllbGQgaXM8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZG RkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBB ZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEJpdCBpcyBncmVhdGVy IHRoYW4gMzEsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMzEsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRo ZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBZGRyZXNzJm5ic3A7ICZuYnNwO1RoZSBQQ0kg Y29uZmlndXJhdGlvbiByZWdpc3RlciB0byByZWFkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBAcGFyYW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxl YXN0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBSYW5nZSAwLi4zMS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgQHBhcmFtJm5ic3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2Yg dGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjMxLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1 ZSBvZiB0aGUgYml0IGZpZWxkIHJlYWQgZnJvbSB0aGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDMyPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpQml0RmllbGRSZWFkMzIg KDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7 IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNw OyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7ICk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGlmIChtTU1DT05GRW5hYmxlZCkgezxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBjaUV4cHJlc3NCaXRGaWVsZFJlYWQz MiAoQWRkcmVzcywgU3RhcnRCaXQsIEVuZEJpdCk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyBy ZXR1cm4gUGNpQ2Y4Qml0RmllbGRSZWFkMzIgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQpOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz Oy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBXcml0ZXMgYSBiaXQgZmllbGQg dG8gYSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgV3JpdGVzIFZhbHVlIHRvIHRoZSBi aXQgZmllbGQgb2YgdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLiBUaGUgYml0PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGZpZWxkIGlzIHNwZWNpZmllZCBieSB0aGUgU3Rh cnRCaXQgYW5kIHRoZSBFbmRCaXQuIEFsbCBvdGhlciBiaXRzIGluIHRoZTxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBkZXN0aW5hdGlvbiBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ciBhcmUgcHJlc2VydmVkLiBUaGUgbmV3IHZhbHVlIG9mIHRoZTxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyAzMi1iaXQgcmVnaXN0ZXIgaXMgcmV0dXJuZWQuPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3Mg Jmd0OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEJp dCBpcyBncmVhdGVyIHRoYW4gMzEsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBncmVhdGVyIHRoYW4gMzEsIHRoZW4gQVNTRVJUKCku PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4g U3RhcnRCaXQsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IElmIFZhbHVlIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmll ZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBh cmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lz dGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJz cDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25pZmljYW50IGJp dCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBSYW5nZSAwLi4zMS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5i c3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qgc2lnbmlmaWNh bnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFJhbmdlIDAuLjMxLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFy YW0mbmJzcDsgVmFsdWUmbmJzcDsgJm5ic3A7ICZuYnNwO1RoZSBuZXcgdmFsdWUgb2YgdGhlIGJp dCBmaWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29u ZmlndXJhdGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMzI8YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQ Y2lCaXRGaWVsZFdyaXRlMzIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZu YnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0 LDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7 IFVJTlQzMiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBWYWx1ZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyApPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7ezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBpZiAobU1NQ09ORkVuYWJsZWQpIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgJm5ic3A7IHJldHVybiBQY2lFeHByZXNzQml0RmllbGRXcml0ZTMyIChBZGRyZXNzLCBT dGFydEJpdCwgRW5kQml0LCBWYWx1ZSk7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1cm4g UGNpQ2Y4Qml0RmllbGRXcml0ZTMyIChBZGRyZXNzLCBTdGFydEJpdCwgRW5kQml0LCBWYWx1ZSk7 PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxk IGluIGEgMzItYml0IFBDSSBjb25maWd1cmF0aW9uLCBwZXJmb3JtcyBhIGJpdHdpc2UgT1IsIGFu ZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB3cml0ZXMgdGhlIHJlc3VsdCBiYWNr IHRvIHRoZSBiaXQgZmllbGQgaW4gdGhlIDMyLWJpdCBwb3J0Ljxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyB0aGUgMzItYml0 IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLCBwZXJmb3Jt czxicj4NCiZndDsgYTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBiaXR3aXNlIE9S IGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IE9yRGF0YSwgYW5kIHdyaXRlcyB0aGUgcmVzdWx0 IHRvIHRoZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXI8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSB2YWx1ZSB3cml0dGVu IHRvIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBpczxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0 IGFsbCBQQ0kgcmVhZCBhbmQgd3JpdGU8YnI+DQomZ3Q7IG9wZXJhdGlvbnM8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgYXJlIHNlcmlhbGl6ZWQuIEV4dHJhIGxlZnQgYml0cyBpbiBP ckRhdGEgYXJlIHN0cmlwcGVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBB U1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBu b3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQg aXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBPckRhdGEgaXMgbGFyZ2VyIHRo YW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFuZDxicj4N CiZndDsgRW5kQml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVzcyZuYnNw OyAmbmJzcDtUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNwOyBUaGUg b3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjMxLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7ICZuYnNw OyBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJpdCBmaWVs ZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4uMzEuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBPckRhdGEmbmJzcDsg Jm5ic3A7IFRoZSB2YWx1ZSB0byBPUiB3aXRoIHRoZSBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3Rl ci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgQHJldHVybiBUaGUgdmFsdWUgd3JpdHRlbiBiYWNrIHRvIHRoZSBQQ0kgY29uZmlndXJh dGlvbiByZWdpc3Rlci48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztVSU5UMzI8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MztFRklBUEk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztQY2lCaXRG aWVsZE9yMzIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJz cDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7U3RhcnRCaXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5i c3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQzMiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg aWYgKG1NTUNPTkZFbmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZu YnNwOyByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxkT3IzMiAoQWRkcmVzcywgU3RhcnRCaXQsIEVu ZEJpdCwgT3JEYXRhKTs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhCaXRG aWVsZE9yMzIgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIE9yRGF0YSk7PGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIGEgYml0IGZpZWxkIGluIGEgMzItYml0 IFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCBwZXJmb3JtcyBhIGJpdHdpc2U8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQU5ELCBhbmQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0 byB0aGUgYml0IGZpZWxkIGluIHRoZSAzMi1iaXQgcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAzMi1i aXQgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZv cm1zPGJyPg0KJmd0OyBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2Ug QU5EIGJldHdlZW4gdGhlIHJlYWQgcmVzdWx0IGFuZCB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IEFu ZERhdGEsPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgd3Jp dGVzIHRoZSByZXN1bHQgdG8gdGhlIDMyLWJpdCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlciBz cGVjaWZpZWQgYnk8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQWRkcmVzcy4gVGhl IHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVy bmVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBUaGlzIGZ1bmN0aW9uIG11c3Qg Z3VhcmFudGVlIHRoYXQgYWxsIFBDSSByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZTxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJpdHMg aW4gQW5kRGF0YSBhcmUgc3RyaXBwZWQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0K Jmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFkZHJlc3MgJmd0OyAweDBGRkZGRkZGLCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNz IGlzIG5vdCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLjxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEJpdCBpcyBncmVhdGVyIHRoYW4g MzEsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEVu ZEJpdCBpcyBncmVhdGVyIHRoYW4gMzEsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7IElmIEVuZEJpdCBpcyBsZXNzIHRoYW4gU3RhcnRCaXQsIHRoZW4gQVNT RVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIEFuZERhdGEgaXMgbGFy Z2VyIHRoYW4gdGhlIGJpdG1hc2sgdmFsdWUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IFN0YXJ0Qml0IGFu ZDxicj4NCiZndDsgRW5kQml0LCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQWRkcmVz cyZuYnNwOyAmbmJzcDtUaGUgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgdG8gd3JpdGUuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTdGFydEJpdCZuYnNw OyBUaGUgb3JkaW5hbCBvZiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmll bGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJhbmdlIDAuLjMxLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgRW5kQml0Jm5ic3A7 ICZuYnNwOyBUaGUgb3JkaW5hbCBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIGJp dCBmaWVsZC48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmFuZ2UgMC4u MzEuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBBbmREYXRh Jm5ic3A7ICZuYnNwO1RoZSB2YWx1ZSB0byBBTkQgd2l0aCB0aGUgUENJIGNvbmZpZ3VyYXRpb24g cmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gYmFjayB0byB0aGUgUENJIGNv bmZpZ3VyYXRpb24gcmVnaXN0ZXIuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7KiovPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7VUlOVDMyPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 UGNpQml0RmllbGRBbmQzMiAoPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5i c3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7QWRkcmVzcyw8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtTdGFydEJpdCw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtFbmRCaXQs PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsg VUlOVDMyJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IEFuZERhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgaWYgKG1NTUNPTkZFbmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7ICZuYnNwOyByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxkQW5kMzIgKEFkZHJlc3MsIFN0 YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEpOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyB9IGVsc2Ugezxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJu IFBjaUNmOEJpdEZpZWxkQW5kMzIgKEFkZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEp Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOy8qKjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIGJpdCBmaWVs ZCBpbiBhIDMyLWJpdCBwb3J0LCBwZXJmb3JtcyBhIGJpdHdpc2UgQU5EIGZvbGxvd2VkIGJ5IGE8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgYml0d2lzZSBPUiwgYW5kIHdyaXRlcyB0 aGUgcmVzdWx0IGJhY2sgdG8gdGhlIGJpdCBmaWVsZCBpbiB0aGU8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgMzItYml0IHBvcnQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IFJlYWRzIHRoZSAzMi1iaXQgUENJIGNvbmZp Z3VyYXRpb24gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MsIHBlcmZvcm1zPGJyPg0KJmd0 OyBhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGJpdHdpc2UgQU5EIGZvbGxvd2Vk IGJ5IGEgYml0d2lzZSBPUiBiZXR3ZWVuIHRoZSByZWFkIHJlc3VsdCBhbmQ8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgdGhlIHZhbHVlIHNwZWNpZmllZCBieSBBbmREYXRhLCBhbmQg d3JpdGVzIHRoZSByZXN1bHQgdG8gdGhlIDMyLWJpdCBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgY29uZmlndXJhdGlvbiByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4g VGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11 c3QgZ3VhcmFudGVlIHRoYXQgYWxsIFBDSTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLiBFeHRyYSBsZWZ0IGJp dHMgaW4gYm90aCBBbmREYXRhIGFuZDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBP ckRhdGEgYXJlIHN0cmlwcGVkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBZGRyZXNzICZndDsgMHgwRkZGRkZGRiwgdGhlbiBB U1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgQWRkcmVzcyBpcyBu b3QgYWxpZ25lZCBvbiBhIDMyLWJpdCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgU3RhcnRCaXQgaXMgZ3JlYXRlciB0aGFuIDMxLCB0 aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBFbmRCaXQg aXMgZ3JlYXRlciB0aGFuIDMxLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJZiBFbmRCaXQgaXMgbGVzcyB0aGFuIFN0YXJ0Qml0LCB0aGVuIEFTU0VSVCgp Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBBbmREYXRhIGlzIGxhcmdlciB0 aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNwZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+ DQomZ3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgSWYgT3JEYXRhIGlzIGxhcmdlciB0aGFuIHRoZSBiaXRtYXNrIHZhbHVlIHJhbmdlIHNw ZWNpZmllZCBieSBTdGFydEJpdCBhbmQ8YnI+DQomZ3Q7IEVuZEJpdCwgdGhlbiBBU1NFUlQoKS48 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJz cDsgQHBhcmFtJm5ic3A7IEFkZHJlc3MmbmJzcDsgJm5ic3A7VGhlIFBDSSBjb25maWd1cmF0aW9u IHJlZ2lzdGVyIHRvIHdyaXRlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFy YW0mbmJzcDsgU3RhcnRCaXQmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIGxlYXN0IHNpZ25pZmlj YW50IGJpdCBpbiB0aGUgYml0IGZpZWxkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBSYW5nZSAwLi4zMS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBh cmFtJm5ic3A7IEVuZEJpdCZuYnNwOyAmbmJzcDsgVGhlIG9yZGluYWwgb2YgdGhlIG1vc3Qgc2ln bmlmaWNhbnQgYml0IGluIHRoZSBiaXQgZmllbGQuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IFJhbmdlIDAuLjMxLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNw OyBAcGFyYW0mbmJzcDsgQW5kRGF0YSZuYnNwOyAmbmJzcDtUaGUgdmFsdWUgdG8gQU5EIHdpdGgg dGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBAcGFyYW0mbmJzcDsgT3JEYXRhJm5ic3A7ICZuYnNwOyBUaGUgdmFsdWUgdG8gT1Ig d2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBBTkQgb3BlcmF0aW9uLjxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFRoZSB2YWx1 ZSB3cml0dGVuIGJhY2sgdG8gdGhlIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoqLzxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzO1VJTlQzMjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQ STxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1BjaUJpdEZpZWxkQW5kVGhlbk9yMzIgKDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlRO Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO0FkZHJlc3MsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElOJm5ic3A7ICZuYnNwOyAmbmJzcDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U3RhcnRC aXQsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElOJm5ic3A7ICZuYnNwOyAmbmJz cDsgVUlOVE4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7RW5kQml0LDxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlQzMiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBBbmRE YXRhLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5i c3A7IFVJTlQzMiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBPckRhdGE8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgaWYgKG1NTUNPTkZFbmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7ICZuYnNwOyByZXR1cm4gUGNpRXhwcmVzc0JpdEZpZWxkQW5kVGhlbk9yMzIgKEFk ZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsPGJyPg0KJmd0OyBBbmREYXRhLCBPckRhdGEpOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9IGVsc2Ugezxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOyZuYnNwOyAmbmJzcDsgcmV0dXJuIFBjaUNmOEJpdEZpZWxkQW5kVGhlbk9yMzIgKEFk ZHJlc3MsIFN0YXJ0Qml0LCBFbmRCaXQsIEFuZERhdGEsPGJyPg0KJmd0OyBPckRhdGEpOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyB9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 fTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8q Kjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBSZWFkcyBhIHJhbmdlIG9mIFBDSSBj b25maWd1cmF0aW9uIHJlZ2lzdGVycyBpbnRvIGEgY2FsbGVyIHN1cHBsaWVkIGJ1ZmZlci48YnI+ DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsg UmVhZHMgdGhlIHJhbmdlIG9mIFBDSSBjb25maWd1cmF0aW9uIHJlZ2lzdGVycyBzcGVjaWZpZWQg YnkgU3RhcnRBZGRyZXNzPGJyPg0KJmd0OyBhbmQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgU2l6ZSBpbnRvIHRoZSBidWZmZXIgc3BlY2lmaWVkIGJ5IEJ1ZmZlci4gVGhpcyBmdW5j dGlvbiBvbmx5IGFsbG93cyB0aGUgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzIGZyb20gYSBzaW5nbGUgUENJIGZ1bmN0aW9uIHRvIGJl IHJlYWQuIFNpemUgaXM8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgcmV0dXJuZWQu IFdoZW4gcG9zc2libGUgMzItYml0IFBDSSBjb25maWd1cmF0aW9uIHJlYWQgY3ljbGVzIGFyZSB1 c2VkIHRvPGJyPg0KJmd0OyByZWFkPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGZy b20gU3RhcnRBZHJlc3MgdG8gU3RhcnRBZGRyZXNzICYjNDM7IFNpemUuIER1ZSB0byBhbGlnbm1l bnQgcmVzdHJpY3Rpb25zLCA4LTxicj4NCiZndDsgYml0PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7Jm5ic3A7IGFuZCAxNi1iaXQgUENJIGNvbmZpZ3VyYXRpb24gcmVhZCBjeWNsZXMgbWF5IGJl IHVzZWQgYXQgdGhlIGJlZ2lubmluZyBhbmQ8YnI+DQomZ3Q7IHRoZTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBlbmQgb2YgdGhlIHJhbmdlLjxicj4NCiZndDsgPGJyPg0KJmd0OyAm IzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJZiBTdGFydEFkZHJlc3MgJmd0 OyAweDBGRkZGRkZGLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZu YnNwOyBJZiAoKFN0YXJ0QWRkcmVzcyAmYW1wOyAweEZGRikgJiM0MzsgU2l6ZSkgJmd0OyAweDEw MDAsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIFNp emUgJmd0OyAwIGFuZCBCdWZmZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgQHBhcmFtJm5i c3A7IFN0YXJ0QWRkcmVzcyZuYnNwOyBUaGUgc3RhcnRpbmcgYWRkcmVzcyB0aGF0IGVuY29kZXMg dGhlIFBDSSBCdXMsPGJyPg0KJmd0OyBEZXZpY2UsPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7 Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgRnVuY3Rpb24gYW5kIFJlZ2lzdGVyLjxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgU2l6ZSZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIHRyYW5zZmVyLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJzcDsgQnVmZmVyJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFRoZSBwb2ludGVyIHRvIGEgYnVmZmVyIHJlY2VpdmluZyB0 aGUgZGF0YSByZWFkLjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOyZuYnNwOyBAcmV0dXJuIFNpemU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8 YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsqKi88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MztV SU5UTjxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO0VGSUFQSTxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzO1BjaVJlYWRCdWZmZXIgKDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJ TiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlROJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0QWRkcmVz cyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNw OyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtTaXplLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBPVVQmbmJzcDsgJm5ic3A7ICZuYnNwO1ZPSUQmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICpC dWZmZXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgKTxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgaWYgKG1NTUNPTkZF bmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1cm4g UGNpRXhwcmVzc1JlYWRCdWZmZXIgKFN0YXJ0QWRkcmVzcywgU2l6ZSwgQnVmZmVyKTs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfSBlbHNlIHs8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgJm5ic3A7IHJldHVybiBQY2lDZjhSZWFkQnVmZmVyIChTdGFydEFkZHJlc3Ms IFNpemUsIEJ1ZmZlcik7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IH08YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzt9PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7LyoqPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IENv cGllcyB0aGUgZGF0YSBpbiBhIGNhbGxlciBzdXBwbGllZCBidWZmZXIgdG8gYSBzcGVjaWZpZWQg cmFuZ2Ugb2YgUENJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IGNvbmZpZ3VyYXRp b24gc3BhY2UuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7 ICYjNDM7Jm5ic3A7IFdyaXRlcyB0aGUgcmFuZ2Ugb2YgUENJIGNvbmZpZ3VyYXRpb24gcmVnaXN0 ZXJzIHNwZWNpZmllZCBieSBTdGFydEFkZHJlc3M8YnI+DQomZ3Q7IGFuZDxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOyZuYnNwOyBTaXplIGZyb20gdGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkgQnVm ZmVyLiBUaGlzIGZ1bmN0aW9uIG9ubHkgYWxsb3dzIHRoZSBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZn dDsgJiM0MzsmbmJzcDsgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgZnJvbSBhIHNpbmdsZSBQQ0kg ZnVuY3Rpb24gdG8gYmUgd3JpdHRlbi4gU2l6ZSBpczxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyByZXR1cm5lZC4gV2hlbiBwb3NzaWJsZSAzMi1iaXQgUENJIGNvbmZpZ3VyYXRpb24g d3JpdGUgY3ljbGVzIGFyZSB1c2VkIHRvPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IHdyaXRlIGZyb20gU3RhcnRBZHJlc3MgdG8gU3RhcnRBZGRyZXNzICYjNDM7IFNpemUuIER1ZSB0 byBhbGlnbm1lbnQ8YnI+DQomZ3Q7IHJlc3RyaWN0aW9ucyw8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgOC1iaXQgYW5kIDE2LWJpdCBQQ0kgY29uZmlndXJhdGlvbiB3cml0ZSBjeWNs ZXMgbWF5IGJlIHVzZWQgYXQgdGhlIGJlZ2lubmluZzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz OyZuYnNwOyBhbmQgdGhlIGVuZCBvZiB0aGUgcmFuZ2UuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IElmIFN0YXJ0QWRkcmVzcyAmZ3Q7 IDB4MEZGRkZGRkYsIHRoZW4gQVNTRVJUKCkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5i c3A7IElmICgoU3RhcnRBZGRyZXNzICZhbXA7IDB4RkZGKSAmIzQzOyBTaXplKSAmZ3Q7IDB4MTAw MCwgdGhlbiBBU1NFUlQoKS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgSWYgU2l6 ZSAmZ3Q7IDAgYW5kIEJ1ZmZlciBpcyBOVUxMLCB0aGVuIEFTU0VSVCgpLjxicj4NCiZndDsgPGJy Pg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBAcGFyYW0mbmJz cDsgU3RhcnRBZGRyZXNzJm5ic3A7IFRoZSBzdGFydGluZyBhZGRyZXNzIHRoYXQgZW5jb2RlcyB0 aGUgUENJIEJ1cyw8YnI+DQomZ3Q7IERldmljZSw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBGdW5jdGlvbiBhbmQgUmVnaXN0ZXIuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBTaXplJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyBUaGUgc2l6ZSBpbiBieXRlcyBvZiB0aGUgdHJhbnNmZXIuPGJy Pg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7IEBwYXJhbSZuYnNwOyBCdWZmZXImbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgVGhlIHBvaW50ZXIgdG8gYSBidWZmZXIgY29udGFpbmluZyB0 aGUgZGF0YSB0byB3cml0ZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0MzsmbmJzcDsgQHJldHVybiBTaXplIHdyaXR0ZW4gdG8gU3RhcnRBZGRyZXNz Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyoq Lzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO1VJTlROPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYj NDM7RUZJQVBJPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7UGNpV3JpdGVCdWZmZXIgKDxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5ic3A7IFVJTlRO Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO1N0YXJ0QWRkcmVzcyw8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0 MzsmbmJzcDsgSU4mbmJzcDsgJm5ic3A7ICZuYnNwOyBVSU5UTiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtT aXplLDxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyZuYnNwOyBJTiZuYnNwOyAmbmJzcDsgJm5i c3A7IFZPSUQmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICpCdWZmZXI8YnI+DQomZ3Q7IDxicj4NCiZndDsg JiM0MzsmbmJzcDsgKTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO3s8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0MzsmbmJzcDsgaWYgKG1NTUNPTkZFbmFibGVkKSB7PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1cm4gUGNpRXhwcmVzc1dyaXRlQnVmZmVyIChTdGFy dEFkZHJlc3MsIFNpemUsIEJ1ZmZlcik7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7 IH0gZWxzZSB7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Jm5ic3A7ICZuYnNwOyByZXR1cm4g UGNpQ2Y4V3JpdGVCdWZmZXIgKFN0YXJ0QWRkcmVzcywgU2l6ZSwgQnVmZmVyKTs8YnI+DQomZ3Q7 IDxicj4NCiZndDsgJiM0MzsmbmJzcDsgfTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzO308YnI+ DQomZ3Q7IDxicj4NCiZndDsgZGlmZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFz ZVBjaUV4cHJlc3NMaWIvQmFzZVBjaUV4cHJlc3NMaWIudW5pPGJyPg0KJmd0OyBiL1VlZmlQYXls b2FkUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NMaWIvQmFzZVBjaUV4cHJlc3NMaWIudW5pPGJy Pg0KJmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NDxicj4NCiZndDsgaW5kZXggMDAwMDAwMDAwMDAw Li45ODAxMGVmMmY5Mjk8YnI+DQomZ3Q7IC0tLSAvZGV2L251bGw8YnI+DQomZ3Q7ICYjNDM7JiM0 MzsmIzQzOyBiL1VlZmlQYXlsb2FkUGtnL0xpYnJhcnkvQmFzZVBjaUV4cHJlc3NMaWIvQmFzZVBj aUV4cHJlc3NMaWIudW5pPGJyPg0KJmd0OyBAQCAtMCwwICYjNDM7MSwxNyBAQDxicj4NCiZndDsg JiM0MzsvLyAvKiogQGZpbGU8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvLyBJbnN0YW5jZSBv ZiBQQ0kgRXhwcmVzcyBMaWJyYXJ5IHVzaW5nIHRoZSAyNTYgTUIgUENJIEV4cHJlc3MgTU1JTzxi cj4NCiZndDsgd2luZG93Ljxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8vPGJyPg0KJmd0OyA8 YnI+DQomZ3Q7ICYjNDM7Ly8gUENJIEV4cHJlc3MgTGlicmFyeSB0aGF0IHVzZXMgdGhlIDI1NiBN QiBQQ0kgRXhwcmVzcyBNTUlPIHdpbmRvdyB0bzxicj4NCiZndDsgcGVyZm9ybTxicj4NCiZndDsg PGJyPg0KJmd0OyAmIzQzOy8vIFBDSSBDb25maWd1cmF0aW9uIGN5Y2xlcy4gTGF5ZXJzIG9uIHRv cCBvZiBhbiBJL08gTGlicmFyeSBpbnN0YW5jZS48YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzsv Lzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8vIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTQs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLiZsdDtCUiZndDs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0MzsvLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50PGJyPg0KJmd0OyA8YnI+DQom Z3Q7ICYjNDM7Ly88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvLyAqKi88YnI+DQomZ3Q7IDxi cj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4N CiZndDsgJiM0Mzsjc3RyaW5nIFNUUl9NT0RVTEVfQUJTVFJBQ1QmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsjbGFuZ3VhZ2UgZW4tVVMgJnF1b3Q7SW5zdGFu Y2Ugb2YgUENJPGJyPg0KJmd0OyBFeHByZXNzIExpYnJhcnkgdXNpbmcgdGhlIDI1NiBNQiBQQ0kg RXhwcmVzcyBNTUlPIHdpbmRvdyZxdW90Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4N CiZndDsgPGJyPg0KJmd0OyAmIzQzOyNzdHJpbmcgU1RSX01PRFVMRV9ERVNDUklQVElPTiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgI2xhbmd1YWdlIGVuLVVTICZxdW90O1BDSSBF eHByZXNzPGJyPg0KJmd0OyBMaWJyYXJ5IHRoYXQgdXNlcyB0aGUgMjU2IE1CIFBDSSBFeHByZXNz IE1NSU8gd2luZG93IHRvIHBlcmZvcm0gUENJPGJyPg0KJmd0OyBDb25maWd1cmF0aW9uIGN5Y2xl cy4gTGF5ZXJzIG9uIHRvcCBvZiBhbiBJL08gTGlicmFyeSBpbnN0YW5jZS4mcXVvdDs8YnI+DQom Z3Q7IDxicj4NCiZndDsgJiM0Mzs8YnI+DQomZ3Q7IDxicj4NCiZndDsgZGlmZiAtLWdpdDxicj4N CiZndDsgYS9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJQY2lFeHByZXNzL0Jhc2VQ Y2lMaWJQY2lFeHByZXNzLnVuaTxicj4NCiZndDsgYi9VZWZpUGF5bG9hZFBrZy9MaWJyYXJ5L0Jh c2VQY2lMaWJQY2lFeHByZXNzL0Jhc2VQY2lMaWJQY2lFeHByZXNzLnVuaTxicj4NCiZndDsgbmV3 IGZpbGUgbW9kZSAxMDA2NDQ8YnI+DQomZ3Q7IGluZGV4IDAwMDAwMDAwMDAwMC4uY2NjNDU2MzU2 Y2YyPGJyPg0KJmd0OyAtLS0gL2Rldi9udWxsPGJyPg0KJmd0OyAmIzQzOyYjNDM7JiM0Mzs8YnI+ DQomZ3Q7IGIvVWVmaVBheWxvYWRQa2cvTGlicmFyeS9CYXNlUGNpTGliUGNpRXhwcmVzcy9CYXNl UGNpTGliUGNpRXhwcmVzcy51bmk8YnI+DQomZ3Q7IEBAIC0wLDAgJiM0MzsxLDE3IEBAPGJyPg0K Jmd0OyAmIzQzOy8vIC8qKiBAZmlsZTxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8vIEluc3Rh bmNlIG9mIFBDSSBMaWJyYXJ5IGJhc2VkIG9uIFBDSSBFeHByZXNzIExpYnJhcnkuPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Ly88YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvLyBQQ0kgTGli cmFyeSB0aGF0IHVzZXMgdGhlIDI1NiBNQiBQQ0kgRXhwcmVzcyBNTUlPIHdpbmRvdyB0byBwZXJm b3JtPGJyPg0KJmd0OyBQQ0k8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvLyBDb25maWd1cmF0 aW9uIGN5Y2xlcy4gTGF5ZXJzIG9uIG9uZSBQQ0kgRXhwcmVzcyBMaWJyYXJ5IGluc3RhbmNlLjxi cj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7ICYjNDM7Ly8g Q29weXJpZ2h0IChjKSAyMDA3IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuJmx0O0JSJmd0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOy8vPGJyPg0KJmd0 OyA8YnI+DQomZ3Q7ICYjNDM7Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgJiM0MzsvLzxicj4NCiZndDsgPGJyPg0KJmd0 OyAmIzQzOy8vICoqLzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0K Jmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyNzdHJpbmcgU1RSX01PRFVMRV9B QlNUUkFDVCZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyNs YW5ndWFnZSBlbi1VUyAmcXVvdDtJbnN0YW5jZSBvZiBQQ0k8YnI+DQomZ3Q7IExpYnJhcnkgYmFz ZWQgb24gUENJIEV4cHJlc3MgTGlicmFyeSZxdW90Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQz Ozxicj4NCiZndDsgPGJyPg0KJmd0OyAmIzQzOyNzdHJpbmcgU1RSX01PRFVMRV9ERVNDUklQVElP TiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgI2xhbmd1YWdlIGVuLVVTICZxdW90 O1BDSSBMaWJyYXJ5IHRoYXQ8YnI+DQomZ3Q7IHVzZXMgdGhlIDI1NiBNQiBQQ0kgRXhwcmVzcyBN TUlPIHdpbmRvdyB0byBwZXJmb3JtIFBDSSBDb25maWd1cmF0aW9uPGJyPg0KJmd0OyBjeWNsZXMu IExheWVycyBvbiBhbiBQQ0kgRXhwcmVzcyBMaWJyYXJ5IGluc3RhbmNlLiZxdW90Ozxicj4NCiZn dDsgPGJyPg0KJmd0OyAmIzQzOzxicj4NCiZndDsgPGJyPg0KJmd0OyAtLTxicj4NCiZndDsgMi4y NS40PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgLT0tPS09LT0tPS09PGJyPg0KJmd0 OyBHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMg Z3JvdXAuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFZpZXcvUmVwbHkgT25saW5lICgjNjE2NTUpOiA8 YSBocmVmPSJodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS82MTY1NSIgdGFy Z2V0PSJfYmxhbmsiPg0KaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNjE2 NTU8L2E+PGJyPg0KJmd0OyBNdXRlIFRoaXMgVG9waWM6IDxhIGhyZWY9Imh0dHBzOi8vZ3JvdXBz LmlvL210Lzc1MDgwMTA0LzE3ODEzNzUiIHRhcmdldD0iX2JsYW5rIj4NCmh0dHBzOi8vZ3JvdXBz LmlvL210Lzc1MDgwMTA0LzE3ODEzNzU8L2E+PGJyPg0KJmd0OyBHcm91cCBPd25lcjogPGEgaHJl Zj0ibWFpbHRvOmRldmVsJTJCb3duZXJAZWRrMi5ncm91cHMuaW8iIHRhcmdldD0iX2JsYW5rIj5k ZXZlbCYjNDM7b3duZXJAZWRrMi5ncm91cHMuaW88L2E+PGJyPg0KJmd0OyBVbnN1YnNjcmliZTog PGEgaHJlZj0iaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViIiB0YXJnZXQ9Il9i bGFuayI+aHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViPC9hPiZuYnNwOyBbPGEg aHJlZj0ibWFpbHRvOmd1by5kb25nQGludGVsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmd1by5kb25n QGludGVsLmNvbTwvYT5dPGJyPg0KJmd0OyAtPS09LT0tPS09LT08bzpwPjwvbzpwPjwvcD4NCjwv YmxvY2txdW90ZT4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyIGNsZWFyPSJhbGwi Pg0KPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJz cDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0tIDxvOnA+PC9vOnA+ PC9wPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTomcXVvdDtI ZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+W01hcmNlbGxvIFN5bHZlc3Rl ciBCYXVlcl08L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS41cHQ7Zm9udC1mYW1p bHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMjIyMjIyIj4mbmJzcDs8bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7 LHNhbnMtc2VyaWY7Y29sb3I6IzIyMjIyMiI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K PC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2lu LWJvdHRvbToxMy41cHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTMuNXB0O2ZvbnQtZmFtaWx5 OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjtjb2xvcjpibGFjayI+PGltZyBib3Jk ZXI9IjAiIGlkPSJfeDAwMDBfaTEwMjUiIHNyYz0iaHR0cDovL3N0YXRpYy45ZWxlbWVudHMuY29t L2xvZ28tc2lnbmF0dXJlLnBuZyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjguNXB0O2ZvbnQt ZmFtaWx5OiZxdW90O0hlbHZldGljYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj45ZWxl bWVudHMgQWdlbmN5IEdtYkgsIEtvcnR1bXN0cmHDn2UgMTktMjEsIDQ0Nzg3IEJvY2h1bSwgR2Vy bWFueTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuNXB0O2ZvbnQtZmFtaWx5OiZxdW90 O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzIyMjIyMiI+PG86cD48L286cD48L3NwYW4+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZTo4LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2Nv bG9yOiMyMjIyMjIiPkVtYWlsOiZuYnNwOyZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vc3RhdGljLjll bGVtZW50cy5jb20vZW1haWxfc2lnbmF0dXIuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIHN0 eWxlPSJjb2xvcjojMTE1NUNDIj5bREVJTkUgRU1BSUwgQUREUkVTU0VdPC9zcGFuPjwvYT48L3Nw YW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMy41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VGltZXMg TmV3IFJvbWFuJnF1b3Q7LHNlcmlmO2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo4LjVw dDtmb250LWZhbWlseTomcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFj ayI+UGhvbmU6Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OC41cHQ7Zm9udC1m YW1pbHk6JnF1b3Q7SGVsdmV0aWNhJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzIyMjIyMiI+Jm5i c3A7PC9zcGFuPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6OC41cHQ7Zm9udC1mYW1pbHk6JnF1 b3Q7SGVsdmV0aWNhJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzExNTVDQyI+PGEgaHJlZj0idGVs OiYjNDM7NDkyMzQ2ODk0MTg4IiB0YXJnZXQ9Il9ibGFuayI+JiM0Mzs0OQ0KIDIzNCA2OCA5NCAx ODg8L2E+PC9zcGFuPjwvdT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzLjVwdDtmb250LWZhbWls eTomcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7Y29sb3I6YmxhY2siPjxvOnA+PC9v OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6OC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SGVsdmV0aWNhJnF1b3Q7 LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPk1vYmlsZTombmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZTo4LjVwdDtmb250LWZhbWlseTomcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1z ZXJpZjtjb2xvcjojMjIyMjIyIj4mbmJzcDs8L3NwYW4+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZTo4LjVwdDtmb250LWZhbWlseTomcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJpZjtjb2xv cjojMTE1NUNDIj48YSBocmVmPSJ0ZWw6JiM0Mzs0OTE3MjI4NDc2MTgiIHRhcmdldD0iX2JsYW5r Ij4mIzQzOzQ5DQogMTcyMjg0NzYxODwvYT48L3NwYW4+PC91PjxzcGFuIHN0eWxlPSJmb250LXNp emU6OS41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj MjIyMjIyIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8 L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4N CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibGluZS1oZWlnaHQ6OC4yNXB0Ij48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0hlbHZldGljYSZx dW90OyxzYW5zLXNlcmlmO2NvbG9yOiNCNEI3QjgiPlNpdHogZGVyIEdlc2VsbHNjaGFmdDogQm9j aHVtPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTMuNXB0O2ZvbnQtZmFtaWx5OiZxdW90 O0hlbHZldGljYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMyMjIyMjIiPjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJsaW5l LWhlaWdodDo4LjI1cHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7SGVsdmV0aWNhJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6I0I0QjdCOCI+SGFuZGVsc3Jl Z2lzdGVyOiBBbXRzZ2VyaWNodCBCb2NodW0sIEhSQiAxNzUxOTwvc3Bhbj48c3BhbiBzdHlsZT0i Zm9udC1zaXplOjEzLjVwdDtmb250LWZhbWlseTomcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1z ZXJpZjtjb2xvcjojMjIyMjIyIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibGluZS1oZWlnaHQ6OC4yNXB0Ij48c3BhbiBz dHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0hlbHZldGljYSZxdW90Oyxz YW5zLXNlcmlmO2NvbG9yOiNCNEI3QjgiPkdlc2Now6RmdHNmw7xocnVuZzogU2ViYXN0aWFuIERl dXRzY2gsIEVyYXkgQmFzYXI8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMy41cHQ7Zm9u dC1mYW1pbHk6JnF1b3Q7SGVsdmV0aWNhJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzIyMjIyMiI+ PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1saW5lLWhlaWdodC1hbHQ6OC4yNXB0Ij48c3BhbiBzdHlsZT0iZm9udC1z aXplOjEzLjVwdDtmb250LWZhbWlseTomcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJpZjtj b2xvcjojMjIyMjIyIj48YnI+DQo8YSBocmVmPSJodHRwczovLzllbGVtZW50cy5jb20vcHJpdmFj eSIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Y29sb3I6I0I0 QjdCOCI+RGF0ZW5zY2h1dHpoaW53ZWlzZSBuYWNoIEFydC4gMTMgRFNHVk88L3NwYW4+PC9hPjxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9k aXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjwvbzpwPjwv c3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo= --_000_BYAPR11MB36535D6E6395791294361A479E920BYAPR11MB3653namp_--