Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id EDA1E200C31 for ; Wed, 8 Mar 2017 20:31:02 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id EC07C160B83; Wed, 8 Mar 2017 19:31:02 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 226D1160B73 for ; Wed, 8 Mar 2017 20:31:00 +0100 (CET) Received: (qmail 19435 invoked by uid 500); 8 Mar 2017 19:31:00 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 19422 invoked by uid 99); 8 Mar 2017 19:30:59 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Mar 2017 19:30:59 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 386FA18055C for ; Wed, 8 Mar 2017 19:30:59 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.522 X-Spam-Level: X-Spam-Status: No, score=-4.522 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, KAM_NUMSUBJECT=0.5, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=netapp.onmicrosoft.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id RSEk7Sk8jkaD for ; Wed, 8 Mar 2017 19:30:49 +0000 (UTC) Received: from mx144.netapp.com (mx144.netapp.com [216.240.21.25]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 883A45FC00 for ; Wed, 8 Mar 2017 19:30:48 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.36,265,1486454400"; d="scan'208";a="181008089" Received: from hioexcmbx02-prd.hq.netapp.com ([10.122.105.35]) by mx144-out.netapp.com with ESMTP; 08 Mar 2017 11:20:11 -0800 Received: from VMWEXCCAS12-PRD.hq.netapp.com (10.122.105.30) by hioexcmbx02-prd.hq.netapp.com (10.122.105.35) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 8 Mar 2017 11:30:46 -0800 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (10.120.60.153) by VMWEXCCAS12-PRD.hq.netapp.com (10.122.105.30) with Microsoft SMTP Server (TLS) id 15.0.1210.3 via Frontend Transport; Wed, 8 Mar 2017 11:30:46 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Qa93L9FjWksmSXQOPigib2HBl1pwY5FQ5GdqXVYuOLE=; b=aaCnhvPrOFGu7c/PqIag7aqx34W0RZ0dXo2Mp6SRTZ5yPQjlpin2xvKw4otbAA4RXmYIplQi8VWboOA63YtIvxVvw4oWqkg3pLGO98XT7xgI5/BmB8+fM1QV5dbRDvin1dM7qIZyyQBNZIkYLRLaygSGVxzRnTM6PLbZO77gsco= Received: from CO1PR06MB329.namprd06.prod.outlook.com (10.141.69.16) by CO1PR06MB331.namprd06.prod.outlook.com (10.141.69.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 8 Mar 2017 19:30:45 +0000 Received: from CO1PR06MB329.namprd06.prod.outlook.com ([169.254.11.204]) by CO1PR06MB329.namprd06.prod.outlook.com ([169.254.11.204]) with mapi id 15.01.0947.020; Wed, 8 Mar 2017 19:30:44 +0000 From: "Tutkowski, Mike" To: "dev@cloudstack.apache.org" Subject: Re: CLOUDSTACK-9822 Thread-Topic: CLOUDSTACK-9822 Thread-Index: AQHSl1XhAAtr+RATt0OxZfqRcvKaH6GJjB6fgAAWQQCAAISNgIAAZ9kAgADHhYU= Date: Wed, 8 Mar 2017 19:30:44 +0000 Message-ID: <962EF80B-7857-459D-82EB-E1AC30A2D7B2@netapp.com> References: <93FAE13D-DAB4-445A-9CA5-AF7F723228F0@autodesk.com> <05C8000F-3BCD-4941-A952-A92654854A0F@netapp.com> ,<1B4B7A42-5283-4BCE-9201-2B3274092B70@autodesk.com> In-Reply-To: <1B4B7A42-5283-4BCE-9201-2B3274092B70@autodesk.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: cloudstack.apache.org; dkim=none (message not signed) header.d=none;cloudstack.apache.org; dmarc=none action=none header.from=netapp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [2607:fb90:6c5d:bb21:1029:ac13:174e:df67] x-ms-office365-filtering-correlation-id: dd77fe7c-7362-4a71-a3df-08d466599db0 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CO1PR06MB331; x-microsoft-exchange-diagnostics: 1;CO1PR06MB331;7:QOuGgFibRs/iEBgWrqEE0ylVZ1F4PCF8jYHdEXA23ZZpFoWWpbPxMUCHt86azu5erPLpP4fp8wjcoU6bwwM6VDtqnI4ZbjbJZHDnsKvD54Lulocr8Hgy/AvQ+K4klx2IsJ03WLOD0cVIbw3EmioN+eFT3IhEnUN7gUkhBtFFsS+RdwUdkOmuEKvpFKocXYEt6SaurPzf/viRe1GAKUpub6WDAjpuW3bWwhyEh+NzHqi0Jy5+t8ctxp+yxrzfDriLpW8t91RvfO5vlbqAgitIZbG+mDvTrF2IViJhc8gC+e5MPEPaTOUwQFAll3TcKYGilshTIS2DhISBOrKUx32Xqw== x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(93916979886435)(134217032509453)(72170088055959)(166708455590820)(192374486261705)(278021236550800)(206605131091896)(280631817467288)(61196332173343)(5213294742642); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123555025)(20161123558025)(20161123562025)(20161123564025)(20161123560025)(6072148);SRVR:CO1PR06MB331;BCL:0;PCL:0;RULEID:;SRVR:CO1PR06MB331; x-forefront-prvs: 02408926C4 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39450400003)(53754006)(24454002)(377454003)(38564003)(25786008)(8936002)(3280700002)(53946003)(5640700003)(2950100002)(6916009)(2351001)(6116002)(102836003)(106116001)(229853002)(6512007)(5660300001)(122556002)(54356999)(76176999)(50986999)(93886004)(7736002)(6306002)(305945005)(3660700001)(2906002)(19625305001)(99286003)(189998001)(6246003)(6486002)(53936002)(33656002)(2501003)(966004)(83716003)(82746002)(8676002)(15974865002)(575784001)(2900100001)(81166006)(53546006)(1730700003)(86362001)(110136004)(6506006)(38730400002)(53386004)(6436002)(36756003)(104396002)(559001)(579004)(19627235001);DIR:OUT;SFP:1101;SCL:1;SRVR:CO1PR06MB331;H:CO1PR06MB329.namprd06.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2017 19:30:44.6216 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR06MB331 X-OriginatorOrg: netapp.com archived-at: Wed, 08 Mar 2017 19:31:03 -0000 R3JlYXQg4oCTIHRoYW5rcyENCg0KV2hpbGUgdHJ5aW5nIHRvIGdldCBteSBzeXN0ZW0gVk1zIHBh dGNoZWQsIEkgY2FtZSBhY3Jvc3MgdHdvIGlzc3VlcyAoSSdsbCBub3RlIHRoZW0gaGVyZSBiZWNh dXNlIG1heWJlIHlvdSBhcmUgYWxyZWFkeSBhd2FyZSBvZiB0aGVtIGlmIHlvdSB3b3JrIHdpdGgg Vk13YXJlIGluIENsb3VkU3RhY2sgZnJlcXVlbnRseSk6DQoNCjEpIEluIGEgYmFzaWMgem9uZSwg SSBjYW5ub3QgZ2V0IHRoZSB2aXJ0dWFsIHJvdXRlciB0byB0cmFuc2l0aW9uIGZyb20gdGhlIFN0 YXJ0aW5nIHN0YXRlIHRvIHRoZSBSdW5uaW5nIHN0YXRlIG9uIFZNd2FyZS4gVGhpcyB3b3JrcyBv biBYZW5TZXJ2ZXIgZm9yIG1lLg0KDQoyKSBJIGFjdHVhbGx5IGhhZCBwbGFubmVkIG9uIHJ1bm5p bmcgdGhlIHZpcnR1YWwgcm91dGVyIG9uIFhlblNlcnZlciBpbnN0ZWFkIG9mIG9uIFZNd2FyZSAo dG8gc2ltcGxpZnkgd2hhdCBJIHdhcyB3b3JraW5nIG9uIHNvIHRoYXQgdGhlIHN5c3RlbSBWTXMg d291bGQgYmUgcnVubmluZyBlbHNld2hlcmUgYW5kIEkgY291bGQganVzdCBoYXZlIG15IHVzZXIg Vk1zIGVhc2lseSB2aXNpYmxlKS4gSSBkaXNhYmxlZCBteSBWTXdhcmUgY2x1c3RlciBhbmQgdGhl biBzcHVuIHVwIGEgdXNlciBWTSBvbiBteSBYZW5TZXJ2ZXIgY2x1c3RlciBzbyB0aGF0IENsb3Vk U3RhY2sgd291bGQgc3BpbiB1cCBhIHZpcnR1YWwgcm91dGVyLiBTaW5jZSBJIG9ubHkgaGFkIG9u ZSBjbHVzdGVyIGVuYWJsZWQsIEkgZXhwZWN0ZWQgdGhlIHZpcnR1YWwgcm91dGVyIHRvIGVuZCB1 cCB0aGVyZSwgYnV0IGl0IGVuZGVkIHVwIG9uIG15IGRpc2FibGVkIFZNd2FyZSBjbHVzdGVyLg0K DQpJIGNhbiBvcGVuIHRpY2tldHMgZm9yIHRoZXNlLCBidXQgSSBmaWd1cmVkIEkgd291bGQgcnVu IHRoZW0gcGFzdCB5b3UgZmlyc3QuDQoNClRoYW5rcyENCg0KPiBPbiBNYXIgOCwgMjAxNywgYXQg MTI6MDMgUE0sIFNlcmdleSBMZXZpdHNraXkgPFNlcmdleS5MZXZpdHNraXlAYXV0b2Rlc2suY29t PiB3cm90ZToNCj4gDQo+IFRoYW5rcywgTWlrZS4gQlRXIGlzc3VlIHdpdGggc3RvcmFnZSB0YWdz IHdpbGwgYmUgIGFkZHJlc3NlZCBzaG9ydGx5IA0KPiANCj4gT24gMy84LzE3LCAxMjoyNCBBTSwg IlR1dGtvd3NraSwgTWlrZSIgPE1pa2UuVHV0a293c2tpQG5ldGFwcC5jb20+IHdyb3RlOg0KPiAN Cj4gICAgT0ssIEkgaGF2ZSBhbiB1cGRhdGUgdG8gcmVwb3J0Lg0KPiANCj4gICAgSSB0aGluayB3 ZSBjYW4gY2xvc2Ugb3V0IGJvdGggb2YgdGhlc2UgdGlja2V0cyBhcyBub24gaXNzdWVzLg0KPiAN Cj4gICAgSXQgYXBwZWFycyBJIGhhZCBpbmFkdmVydGVudGx5IGxlZnQgaW4gb25lIG1vZGlmaWVk IGZpbGUgKEkgd2FzIHBsYXlpbmcgYXJvdW5kIHdpdGggZml4aW5nIGEgYnVnIGZvciA0LjExKSBp biBteSBjb2RlIGZvciBSQzEgKEnigJltIHVzaW5nIHNvdXJjZSwgbm90IGEgcHJlLWJ1aWx0IGJp bmFyeSB0byB0ZXN0IFJDMSkuIFdoaWxlIEkgd2FzIHdhaXRpbmcgZm9yIHNvbWV0aGluZyBlbHNl IHRvIGJlIGZpeGVkIGluIFJDMSwgSSBoYWQgbWFkZSBhIGZldyBjb2RlIGNoYW5nZXMgaW4gb25l IGZpbGUgdG8gdGVzdCBvdXQgYW4gaWRlYSBJIGhhZCBmb3IgYSBidWcgZml4IHRvIGdvIGludG8g NC4xMS4gSSBoYWQgZm9yZ290dGVuIGFib3V0IHRoaXMgY2hhbmdlZCBmaWxlIGFuZCB0aGUgYnVn IGZpeCB3YXNu4oCZdCBjb21wbGV0ZSwgc28gaXQgbG9va3MgbGlrZSB0aGlzIGNhdXNlZCBib3Ro IDk4MjIgYW5kIDk4MjMuDQo+IA0KPiAgICBJ4oCZZCBsaWtlIHRvIGRvIG1vcmUgdGVzdGluZyBs YXRlciAoaXTigJlzIGFib3V0IDE6MzAgQU0gaGVyZSwgc28gSeKAmW0gc3RhcnRpbmcgdG8gZ2V0 IGEgYml0IHRpcmVkKSwgYnV0IEkgY2FuIGNsb3NlIHRob3NlIHRpY2tldHMgb3V0IGlmIG15IHRl c3Rpbmcgd29ya3Mgb3V0IGFzIGV4cGVjdGVkLg0KPiANCj4gICAgT24gMy83LzE3LCA1OjMwIFBN LCAiVHV0a293c2tpLCBNaWtlIiA8TWlrZS5UdXRrb3dza2lAbmV0YXBwLmNvbT4gd3JvdGU6DQo+ IA0KPiAgICAgICAgSGksDQo+IA0KPiAgICAgICAgSSB0cmllZCB0aGUgZm9sbG93aW5nIHdpdGgg Ym90aCBhbiBORlMgZGF0YXN0b3JlIGFuZCBhIFZNRlMgZGF0YXN0b3JlLg0KPiANCj4gICAgICAg IEEgbmV3IENsb3VkU3RhY2sgZW52aXJvbm1lbnQgcnVubmluZyB1bmRlciBSQzEgd2l0aCBWTXdh cmUgcGxhY2VzIGEgUk9PVC14LTAwMDAwMS52bWRrIGZpbGUgaW4gdGhlIFZN4oCZcyBmb2xkZXIg Zm9yIGl0cyByb290IGRpc2suDQo+IA0KPiAgICAgICAgSG93ZXZlciwgaW4gbXkgbmV3LCBjbGVh biBlbnZpcm9ubWVudCwgSSBjYW5ub3QgcmVwcm9kdWNlIGVpdGhlciBvZiB0aG9zZSBpc3N1ZXMg SSBsb2dnZWQuDQo+IA0KPiAgICAgICAgSeKAmW0gbm90IHN1cmUgaG93IEkgZ290IHRoZSBzeXN0 ZW0gaW50byB3aGF0ZXZlciBzdGF0ZSBpdCB3YXMgaW4gYmVmb3JlLCBidXQgYSBmcmVzaCBpbnN0 YWxsIHdvcmtzLg0KPiANCj4gICAgICAgIExldOKAmXMgaG9sZCBvZmYgb24gaGF2aW5nIGFueW9u ZSBsb29rIGludG8gdGhvc2UgdGlja2V0cy4gSSBjYW4gcGxheSBhcm91bmQgd2l0aCB0aGlzIG1v cmUgb3ZlciB0aGUgY29taW5nIGRheXMgYW5kIHNlZSBpZiBJIGNhbiByZXByb2R1Y2UgZWl0aGVy IG9yIGJvdGggaXNzdWVzLg0KPiANCj4gICAgICAgIFRoYW5rcywNCj4gICAgICAgIE1pa2UNCj4g DQo+ICAgICAgICBPbiAzLzcvMTcsIDk6MTAgQU0sICJUdXRrb3dza2ksIE1pa2UiIDxNaWtlLlR1 dGtvd3NraUBuZXRhcHAuY29tPiB3cm90ZToNCj4gDQo+ICAgICAgICAgICAgSSBiZWxpZXZlIHRo ZSBWTSB3YXMgZGVwbG95ZWQgdGhhdCB3YXkuDQo+IA0KPiAgICAgICAgICAgIEkga25vdyB0aGF0 IHN1ZmZpeCB0eXBpY2FsbHkgb25seSBzaG93cyB1cCB3aGVuIFZNIHNuYXBzaG90cyBhcmUgaW52 b2x2ZWQsIGJ1dCBsZXQgbWUgcmVidWlsZCBteSBlbnZpcm9ubWVudCBhbmQgdHJ5IHRvIHJlcHJv ZHVjZSBpdCBmcm9tIHNjcmF0Y2guDQo+IA0KPj4gT24gTWFyIDcsIDIwMTcsIGF0IDg6MTcgQU0s IFNlcmdleSBMZXZpdHNraXkgPFNlcmdleS5MZXZpdHNraXlAYXV0b2Rlc2suY29tPiB3cm90ZToN Cj4+IA0KPj4gDQo+PiBDaGFuZ2luZyB0aGUgc3ViamVjdCB0byBzdGFydCBhIG5ldyB0aHJlYWQu DQo+PiBJdCB3b3VsZCBiZSBoZWxwZnVsIHRvIGZpZ3VyZSBvdXQgd2hlbiB5b3VyIHZvbHVtZSBv YnRhaW5lZCAwMDAwMSBzdWZmaXggaW4gREIuDQo+PiBJIGJlbGlldmUgaXQgaXMgc3VwcG9zZWQg dG8gaGFwcGVuIG9ubHkgd2hlbiBWTXNuYXBvaHNvdCBpcyBjcmVhdGVkLiBXYXMgc25hcHNob3R0 aW5nIHBhcnQgb2YgeW91ciB0ZXN0cz8gSWYgb3Mgd2FzIFZNIHJ1bm5pbmcgb3Igc3RvcHBlZD8N Cj4+IA0KPj4gDQo+PiBPbiAzLzcvMTcsIDc6MTAgQU0sICJUdXRrb3dza2ksIE1pa2UiIDxNaWtl LlR1dGtvd3NraUBuZXRhcHAuY29tPiB3cm90ZToNCj4+IA0KPj4gICBObyBWTSBzbmFwc2hvdC4N Cj4+IA0KPj4gICBJIHRyaWVkIHdoaWxlIHRoZSBWTSB3YXMgaW4gdGhlIFJ1bm5pbmcgc3RhdGUg YW5kIHRoZW4gSSBhbHNvIHRyaWVkIGluIHRoZSBTdG9wcGVkIHN0YXRlLiBTYW1lIHJlc3VsdHMu DQo+PiANCj4+PiBPbiBNYXIgNywgMjAxNywgYXQgNzo1NCBBTSwgU2VyZ2V5IExldml0c2tpeSA8 U2VyZ2V5Lkxldml0c2tpeUBhdXRvZGVzay5jb20+IHdyb3RlOg0KPj4+IA0KPj4+IElzIFZNIGhh cyBhbiBWTXNuYXBoc290PyBJcyBWTSBpbiBTdG9wcGVkIHN0YXRlPw0KPj4+IA0KPj4+IE9uIDMv Ni8xNywgMTA6MzIgUE0sICJUdXRrb3dza2ksIE1pa2UiIDxNaWtlLlR1dGtvd3NraUBuZXRhcHAu Y29tPiB3cm90ZToNCj4+PiANCj4+PiAgSSBzZWVtIHRvIGhhdmUgZm91bmQgYW5vdGhlciBibG9j a2VyOg0KPj4+IA0KPj4+ICBodHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL0NM T1VEU1RBQ0stOTgyMg0KPj4+IA0KPj4+ICBPbiAzLzYvMTcsIDk6NTEgUE0sICJSYWphbmkgS2Fy dXR1cmkiIDxyYWphbmlAYXBhY2hlLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gICAgICBQUnMgYXJl IHJlYWR5IGZvciB0aGUgYmxvY2tlcnMuIFdhaXRpbmcgZm9yIHJldmlld3MgYW5kIHRlc3QNCj4+ PiAgICAgIHJlc3VsdHMuIE9uY2UgdGhleSBhcmUgcmVhZHksIEkgd2lsbCBtZXJnZSB0aGVtKGFu ZCBhIGZldyBtb3JlDQo+Pj4gICAgICBidWcgZml4ZXMpIGFuZCBjcmVhdGUgUkMyIChwcm9iYWJs eSB0b21vcnJvdywgV2VkbmVzZGF5KQ0KPj4+IA0KPj4+ICAgICAgVGhhbmtzLA0KPj4+IA0KPj4+ ICAgICAgfiBSYWphbmkNCj4+PiANCj4+PiAgICAgIGh0dHA6Ly9jbG91ZHBsYXRmb3JtLmFjY2Vs ZXJpdGUuY29tLw0KPj4+IA0KPj4+ICAgICAgT24gTWFyY2ggMywgMjAxNyBhdCA0OjMwIFBNLCBS YWphbmkgS2FydXR1cmkgKHJhamFuaUBhcGFjaGUub3JnKQ0KPj4+ICAgICAgd3JvdGU6DQo+Pj4g DQo+Pj4gICAgICBJIHdpbGwgY3JlYXRlIFJDMiBvbiBNb25kYXkgd2l0aCB0aGUgZml4ZXMgbWVu dGlvbmVkIGluIG15DQo+Pj4gICAgICBwcmV2aW91cyBtYWlsLg0KPj4+IA0KPj4+ICAgICAgfiBS YWphbmkNCj4+PiANCj4+PiAgICAgIGh0dHA6Ly9jbG91ZHBsYXRmb3JtLmFjY2VsZXJpdGUuY29t Lw0KPj4+IA0KPj4+ICAgICAgT24gTWFyY2ggMywgMjAxNyBhdCAyOjM2IFBNLCBSb2hpdCBZYWRh dg0KPj4+ICAgICAgKHJvaGl0LnlhZGF2QHNoYXBlYmx1ZS5jb20pIHdyb3RlOg0KPj4+IA0KPj4+ ICAgICAgVGhhbmtzIEtvdXNoaWssIEkgZGlkIG5vdCByZWFsaXplIEtpc2hhbiBoYWQgc2VudCB0 aGlzIGFscmVhZHkuDQo+Pj4gICAgICBMZXQncyBnZXQgZWl0aGVyIG9mIHRoZSBQUnMgbWVyZ2Vk IGFuZCBraWNrIGEgUkMyLg0KPj4+IA0KPj4+ICAgICAgUmVnYXJkcy4NCj4+PiANCj4+PiAgICAg IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4gICAgICBGcm9tOiBLb3VzaGlr IERhcyA8a291c2hpay5kYXNAYWNjZWxlcml0ZS5jb20+DQo+Pj4gICAgICBTZW50OiAwMyBNYXJj aCAyMDE3IDE0OjE0OjU2DQo+Pj4gICAgICBUbzogZGV2QGNsb3Vkc3RhY2suYXBhY2hlLm9yZw0K Pj4+ICAgICAgU3ViamVjdDogUmU6IDpbVk9URV0gQXBhY2hlIENsb3Vkc3RhY2sgNC4xMC4wLjAN Cj4+PiANCj4+PiAgICAgIExvb2tzIGxpa2UgdGhlcmUgaXMgYWxyZWFkeSBhIFBSIGZvciB0aGUg c2FtZSBpc3N1ZQ0KPj4+ICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9jbG91ZHN0YWNr L3B1bGwvMTk4MiBmcm9tIEtpc2hhbi4NCj4+PiANCj4+PiAgICAgIC1Lb3VzaGlrDQo+Pj4gDQo+ Pj4gICAgICBPbiAwMy8wMy8xNywgMTo1OCBQTSwgIlJvaGl0IFlhZGF2IiA8cm9oaXQueWFkYXZA c2hhcGVibHVlLmNvbT4NCj4+PiAgICAgIHdyb3RlOg0KPj4+IA0KPj4+ICAgICAgLTEgKGJpbmRp bmcpDQo+Pj4gDQo+Pj4gICAgICBBbGwsIEkndmUgZm91bmQgYW4gdXBncmFkZSBibG9ja2VyLiBQ cmUgNC42IHVzZXJzIGFyZSByZXF1aXJlZA0KPj4+ICAgICAgdG8gc2VlZCA0LjYgc3lzdGVtdm10 ZW1wbGF0ZSB0byBwcm9jZWVkIHdpdGggdGhlIHVwZ3JhZGUNCj4+PiAgICAgIG90aGVyd2lzZSB1 cGdyYWRlIGZhaWxzLCBhbmQgZnJvbSA0LjkgdXBncmFkZSB0byA0LjEwIGRvZXMgbm8NCj4+PiAg ICAgIGNoZWNrL2VuZm9yY2VtZW50IHRoYXQgNC4xMCBiYXNlZCBzeXN0ZW12bXRlbXBsYXRlIGhh cyBiZWVuDQo+Pj4gICAgICBzZWVkZWQvcmVnaXN0ZXJlZCwgbm9yIHRoZSBtaW5pbXVtIHJlcXVp cmVkIHN5c3RlbXZtdGVtcGxhdGUNCj4+PiAgICAgIHZlcnNpb24gaXMgY2hhbmdlZCBmcm9tIDQu Ni4wIHRvIDQuMTAuMC4NCj4+PiANCj4+PiAgICAgIEFmdGVyIHdlIGhhdmUgbWVyZ2VkIHRoZSBz dHJvbmdzd2FuL2phdmE4IFBSLCBJIGhhZCB1cGRhdGVkIHRoZQ0KPj4+ICAgICAgdXBncmFkZSBk b2NzIG9uIGhvdyB0byB1cGdyYWRlIHRoZSBzeXN0ZW12bXRlbXBsYXRlIGhlcmU6DQo+Pj4gDQo+ Pj4gICAgICBodHRwOi8vZG9jcy5jbG91ZHN0YWNrLmFwYWNoZS5vcmcvcHJvamVjdHMvY2xvdWRz dGFjay1yZWxlYXNlLW5vdGVzL2VuLzQuMTAvdXBncmFkZS91cGdyYWRlLTQuOS5odG1sDQo+Pj4g DQo+Pj4gICAgICBVc2luZyB0aGUgYWJvdmUsIEkndmUgdHJpZWQgdG8gZml4IHRoZXNlIGlzc3Vl cyBoZXJlLCBwbGVhc2UNCj4+PiAgICAgIHJldmlldyBhbmQgbWVyZ2UgZm9yIFJDMjoNCj4+PiAN Cj4+PiAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvY2xvdWRzdGFjay9wdWxsLzE5ODMN Cj4+PiANCj4+PiAgICAgIDxodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2Nsb3Vkc3RhY2svcHVs bC8xOTgzPldpdGggYWJvdmUgZml4LA0KPj4+ICAgICAgdGhlIGFpbSBpcyB0aGF0IHVzZXJzIG9u bHkgc2VlZCB0aGUgNC4xMCBzeXN0ZW12bXRlbXBsYXRlIGJlZm9yZQ0KPj4+ICAgICAgdXBncmFk ZSBhbmQgcG9zdC11cGdyYWRlIHRoZSB1cGdyYWRlIHBhdGhzIGZpeCB0aGUgZW50cmllcywNCj4+ PiAgICAgIGdsb2JhbCBzZXR0aW5nIGV0Yy4NCj4+PiANCj4+PiAgICAgIFJlZ2FyZHMuDQo+Pj4g DQo+Pj4gICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4+ICAgICAgRnJv bTogVHV0a293c2tpLCBNaWtlIDxNaWtlLlR1dGtvd3NraUBuZXRhcHAuY29tPg0KPj4+ICAgICAg U2VudDogMDIgTWFyY2ggMjAxNyAyMjozOTowOA0KPj4+ICAgICAgVG86IGRldkBjbG91ZHN0YWNr LmFwYWNoZS5vcmcNCj4+PiAgICAgIFN1YmplY3Q6IFJlOiA6W1ZPVEVdIEFwYWNoZSBDbG91ZHN0 YWNrIDQuMTAuMC4wDQo+Pj4gDQo+Pj4gICAgICBJIHJvbGxlZCBiYWNrIHRvIG15IG1hc3RlciBi cmFuY2ggYXQNCj4+PiAgICAgIGRhNjZiMDZlN2Q1NjIzOTNkYTJlNGI1MjIwNjk0M2Y4YmFkNDlk MTAgYW5kIGl0IHdvcmtzLg0KPj4+IA0KPj4+ICAgICAgSXQgYXBwZWFycyBzb21ldGhpbmcgdGhh dCB3ZW50IGludG8gYWZ0ZXIgdGhhdCBjb21taXQgaGFzIGJyb2tlbg0KPj4+ICAgICAgdGhpcy4g SXQgbG9va3MgbGlrZSB0aGlzIFNIQSBpcyBhYm91dCB0d28gd2Vla3Mgb2xkIGFuZCB0aGF0IDQz DQo+Pj4gICAgICBjb21taXRzIGhhdmUgZ29uZSBpbnRvIG1hc3RlciBzaW5jZSBpdC4NCj4+PiAN Cj4+PiAgICAgIE9uIDMvMi8xNywgNzowNiBBTSwgIlR1dGtvd3NraSwgTWlrZSINCj4+PiAgICAg IDxNaWtlLlR1dGtvd3NraUBuZXRhcHAuY29tPiB3cm90ZToNCj4+PiANCj4+PiAgICAgIEFjY29y ZGluZyB0byB3aGVyZSB0aGUgY29kZSBmYWlscywgdGhvdWdoLCBpdCBhcHBlYXJzIHRvIGJlIGEN Cj4+PiAgICAgIG5ldHdvcmtpbmcgcHJvYmxlbS4gSWYgSSBzZXQgYSBicmVha3BvaW50IGJlZm9y ZSB0aGUgZmFpbHVyZSBhbmQNCj4+PiAgICAgIGNoYW5nZSBhIHZhcmlhYmxlIHRvIHNheSB0aGF0 IHNlY3VyaXR5IGdyb3VwcyBhcmUgbm90IGJlaW5nIHVzZWQsDQo+Pj4gICAgICB0aGVuIHRoZSBW TSBzdGFydHMuDQo+Pj4gDQo+Pj4gICAgICBJIHRoaW5rIHRoaXMgaXMgYSByZWNlbnRseSBpbnRy b2R1Y2VkIHByb2JsZW0gYmVjYXVzZSBJIGhhdmUNCj4+PiAgICAgIGFub3RoZXIgYnJhbmNoIGJh c2VkIG9mZiBvZiBhIHNsaWdodGx5IG9sZGVyIHZlcnNpb24gb2YgbWFzdGVyDQo+Pj4gICAgICBh bmQgaXQgd29ya3MgZmluZSBoZXJlLg0KPj4+IA0KPj4+PiBPbiBNYXIgMiwgMjAxNywgYXQgNjo1 MSBBTSwgUGllcnJlLUx1YyBEaW9uDQo+Pj4gICAgICA8cGRpb25AY2xvdWRvcHMuY29tPiB3cm90 ZToNCj4+Pj4gDQo+Pj4+IEhpIE1pa2UsDQo+Pj4+IFRyeSB2bSB3aXRoIGF0IGxlYXN0IDUxMk1C IGZvciBtZW1vcnkuDQo+Pj4+IA0KPj4+Pj4gT24gTWFyIDEsIDIwMTcgMTU6MDEsICJUdXRrb3dz a2ksIE1pa2UiDQo+Pj4gICAgICA8TWlrZS5UdXRrb3dza2lAbmV0YXBwLmNvbT4gd3JvdGU6DQo+ Pj4+PiANCj4+Pj4+IEkgc2VlIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRv IGRlcGxveSBhIHVzZXIgVk0NCj4+PiAgICAgIGluIGEgQmFzaWMNCj4+Pj4+IFpvbmUgd2l0aCB0 d28gWGVuU2VydmVyIDYuNSBob3N0cyBpbiBvbmUgY2x1c3Rlci4gTXkgc3lzdGVtDQo+Pj4gICAg ICBWTXMgaGF2ZSBhbGwNCj4+Pj4+IGRlcGxveWVkIHByb3Blcmx5LiBUaGUgdXNlciB0ZW1wbGF0 ZSBnZXRzIGRvd25sb2FkZWQgZmluZS4gSQ0KPj4+ICAgICAgY2FuIHNlZSB0aGUNCj4+Pj4+IHVz ZXIgVk0gYmVnaW4gdG8gc3RhcnQgb24gYSBYZW5TZXJ2ZXIgaG9zdCwgdGhlbiBpdCBnb2VzDQo+ Pj4gICAgICBhd2F5LiBXZSB0aGVuDQo+Pj4+PiBhdXRvbWF0aWNhbGx5IHRyeSBvbiB0aGUgb3Ro ZXIgaG9zdC4gSSBjYW4gc2VlIHRoZSBWTSBiZWdpbg0KPj4+ICAgICAgdG8gc3RhcnQgdGhlcmUN Cj4+Pj4+IGZvciBhIG1vbWVudCwgdGhlbiBpdCBnb2VzIGF3YXkuDQo+Pj4+PiANCj4+Pj4+IEkg YW0ganVzdCBkZXBsb3lpbmcgdGhlIHVzZXIgVk3igJlzIHRlbXBsYXRlIGFuZCByb290IGRpc2sg dG8NCj4+PiAgICAgIE5GUyAoc2FtZQ0KPj4+Pj4gcGxhY2Ugd2hlcmUgdGhlIHRlbXBsYXRlIGFu ZCByb290IGRpc2tzIG9mIG15IHN5c3RlbSBWTXMNCj4+PiAgICAgIGFyZSkuDQo+Pj4+PiANCj4+ Pj4+IEkgYW0gdXNpbmcgdGhlIGJ1aWx0LWluIFhlblNlcnZlciBDZW50T1MgNS42ICg2NCBiaXQp DQo+Pj4gICAgICB0ZW1wbGF0ZSB3aXRoIDENCj4+Pj4+IHZDUFUsIDUwMCBNSHosIGFuZCAyNTYg TUIgbWVtb3J5Lg0KPj4+Pj4gDQo+Pj4+PiBXQVJOIFtjLmMuYS5yLnYuVmlydHVhbFJvdXRpbmdS ZXNvdXJjZV0NCj4+PiAgICAgIChEaXJlY3RBZ2VudC03OmN0eC0zNWFkZWQ3OCkNCj4+Pj4+IChs b2dpZDphYWI5YzMyMCkgRXhwZWN0ZWQgMSBhbnN3ZXJzIHdoaWxlIGV4ZWN1dGluZw0KPj4+ICAg ICAgVm1EYXRhQ29tbWFuZCBidXQNCj4+Pj4+IHJlY2VpdmVkIDINCj4+Pj4+IFdBUk4gW2MuYy52 LlZpcnR1YWxNYWNoaW5lUG93ZXJTdGF0ZVN5bmNJbXBsXQ0KPj4+ICAgICAgKERpcmVjdEFnZW50 Q3JvbkpvYi0xNDpjdHgtMjdmYjFhYzMpDQo+Pj4+PiAobG9naWQ6MmMzNDJmMjMpIFZNIHN0YXRl IHdhcyB1cGRhdGVkIGJ1dCB1cGRhdGUgdGltZSBpcw0KPj4+ICAgICAgbnVsbD8hIHZtIGlkOiA2 DQo+Pj4+PiBJTkZPIFtvLmEuYy5mLmouaS5Bc3luY0pvYk1hbmFnZXJJbXBsXQ0KPj4+ICAgICAg KEFzeW5jSm9iTWdyLUhlYXJ0YmVhdC0xOmN0eC0yYzdkMmRjZSkNCj4+Pj4+IChsb2dpZDphNTZh OWE4YykgQmVnaW4gY2xlYW51cCBleHBpcmVkIGFzeW5jLWpvYnMNCj4+Pj4+IElORk8gW28uYS5j LmYuai5pLkFzeW5jSm9iTWFuYWdlckltcGxdDQo+Pj4gICAgICAoQXN5bmNKb2JNZ3ItSGVhcnRi ZWF0LTE6Y3R4LTJjN2QyZGNlKQ0KPj4+Pj4gKGxvZ2lkOmE1NmE5YThjKSBFbmQgY2xlYW51cCBl eHBpcmVkIGFzeW5jLWpvYnMNCj4+Pj4+IElORk8gW2MuYy51LkFjY291bnRNYW5hZ2VySW1wbF0N Cj4+PiAgICAgIChBY2NvdW50Q2hlY2tlci0xOmN0eC0zODNhNjMyYykNCj4+Pj4+IChsb2dpZDo1 NDFlOWJhNSkgRm91bmQgMCByZW1vdmVkIGFjY291bnRzIHRvIGNsZWFudXANCj4+Pj4+IElORk8g W2MuYy51LkFjY291bnRNYW5hZ2VySW1wbF0NCj4+PiAgICAgIChBY2NvdW50Q2hlY2tlci0xOmN0 eC0zODNhNjMyYykNCj4+Pj4+IChsb2dpZDo1NDFlOWJhNSkgRm91bmQgMCBkaXNhYmxlZCBhY2Nv dW50cyB0byBjbGVhbnVwDQo+Pj4+PiBJTkZPIFtjLmMudS5BY2NvdW50TWFuYWdlckltcGxdDQo+ Pj4gICAgICAoQWNjb3VudENoZWNrZXItMTpjdHgtMzgzYTYzMmMpDQo+Pj4+PiAobG9naWQ6NTQx ZTliYTUpIEZvdW5kIDAgaW5hY3RpdmUgZG9tYWlucyB0byBjbGVhbnVwDQo+Pj4+PiBJTkZPIFtj LmMudS5BY2NvdW50TWFuYWdlckltcGxdDQo+Pj4gICAgICAoQWNjb3VudENoZWNrZXItMTpjdHgt MzgzYTYzMmMpDQo+Pj4+PiAobG9naWQ6NTQxZTliYTUpIEZvdW5kIDAgZGlzYWJsZWQgcHJvamVj dHMgdG8gY2xlYW51cA0KPj4+Pj4gV0FSTiBbYy5jLmgueC5yLkNpdHJpeFJlc291cmNlQmFzZV0N Cj4+PiAgICAgIChEaXJlY3RBZ2VudC0xNjpjdHgtN2M5MDE0NDMpDQo+Pj4+PiAobG9naWQ6YWFi OWMzMjApIGNhbGxIb3N0UGx1Z2luIGZhaWxlZCBmb3IgY21kOg0KPj4+ICAgICAgZGVmYXVsdF9u ZXR3b3JrX3J1bGVzIHdpdGgNCj4+Pj4+IGFyZ3Mgc2VjSXBzOiAwOiwgdm1OYW1lOiBpLTItNi1W TSwgdm1JRDogNiwgdm1JUDoNCj4+PiAgICAgIDEwLjExNy40MC41Mywgdm1NQUM6DQo+Pj4+PiAw NjpiMjpmNDowMDowMDoyMiwgZHVlIHRvIFRoZXJlIHdhcyBhIGZhaWx1cmUgY29tbXVuaWNhdGlu Zw0KPj4+ICAgICAgd2l0aCB0aGUNCj4+Pj4+IHBsdWdpbi4NCj4+Pj4+IFdBUk4gW2MuYy5oLngu ci53LnguQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlcl0NCj4+Pj4+IChEaXJlY3RBZ2VudC0xNjpj dHgtN2M5MDE0NDMpIChsb2dpZDphYWI5YzMyMCkgQ2F0Y2gNCj4+PiAgICAgIEV4Y2VwdGlvbjog Y2xhc3MNCj4+Pj4+IGNvbS5jbG91ZC51dGlscy5leGNlcHRpb24uQ2xvdWRSdW50aW1lRXhjZXB0 aW9uIGR1ZSB0bw0KPj4+Pj4gY29tLmNsb3VkLnV0aWxzLmV4Y2VwdGlvbi5DbG91ZFJ1bnRpbWVF eGNlcHRpb246DQo+Pj4gICAgICBjYWxsSG9zdFBsdWdpbiBmYWlsZWQNCj4+Pj4+IGZvciBjbWQ6 IGRlZmF1bHRfbmV0d29ya19ydWxlcyB3aXRoIGFyZ3Mgc2VjSXBzOiAwOiwgdm1OYW1lOg0KPj4+ ICAgICAgaS0yLTYtVk0sDQo+Pj4+PiB2bUlEOiA2LCB2bUlQOiAxMC4xMTcuNDAuNTMsIHZtTUFD OiAwNjpiMjpmNDowMDowMDoyMiwgZHVlIHRvDQo+Pj4gICAgICBUaGVyZSB3YXMgYQ0KPj4+Pj4g ZmFpbHVyZSBjb21tdW5pY2F0aW5nIHdpdGggdGhlIHBsdWdpbi4NCj4+Pj4+IGNvbS5jbG91ZC51 dGlscy5leGNlcHRpb24uQ2xvdWRSdW50aW1lRXhjZXB0aW9uOg0KPj4+ICAgICAgY2FsbEhvc3RQ bHVnaW4gZmFpbGVkDQo+Pj4+PiBmb3IgY21kOiBkZWZhdWx0X25ldHdvcmtfcnVsZXMgd2l0aCBh cmdzIHNlY0lwczogMDosIHZtTmFtZToNCj4+PiAgICAgIGktMi02LVZNLA0KPj4+Pj4gdm1JRDog Niwgdm1JUDogMTAuMTE3LjQwLjUzLCB2bU1BQzogMDY6YjI6ZjQ6MDA6MDA6MjIsIGR1ZSB0bw0K Pj4+ICAgICAgVGhlcmUgd2FzIGENCj4+Pj4+IGZhaWx1cmUgY29tbXVuaWNhdGluZyB3aXRoIHRo ZSBwbHVnaW4uDQo+Pj4+PiBhdA0KPj4+ICAgICAgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2Vy dmVyLnJlc291cmNlLkNpdHJpeFJlc291cmNlQmFzZS4NCj4+Pj4+IGNhbGxIb3N0UGx1Z2luKENp dHJpeFJlc291cmNlQmFzZS5qYXZhOjMzOCkNCj4+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29y LnhlbnNlcnZlci5yZXNvdXJjZS53cmFwcGVyLnhlbmJhc2UuDQo+Pj4+PiANCj4+PiAgICAgIENp dHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVy LmphdmE6MTg4KQ0KPj4+Pj4gYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291 cmNlLndyYXBwZXIueGVuYmFzZS4NCj4+Pj4+IA0KPj4+ICAgICAgQ2l0cml4U3RhcnRDb21tYW5k V3JhcHBlci5leGVjdXRlKENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuamF2YTo1MykNCj4+Pj4+ IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS53cmFwcGVyLg0KPj4+ Pj4gDQo+Pj4gICAgICB4ZW5iYXNlLkNpdHJpeFJlcXVlc3RXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4 UmVxdWVzdFdyYXBwZXIuamF2YToxMjIpDQo+Pj4+PiBhdA0KPj4+ICAgICAgY29tLmNsb3VkLmh5 cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLkNpdHJpeFJlc291cmNlQmFzZS4NCj4+Pj4+IGV4 ZWN1dGVSZXF1ZXN0KENpdHJpeFJlc291cmNlQmFzZS5qYXZhOjE2OTEpDQo+Pj4+PiBhdA0KPj4+ ICAgICAgY29tLmNsb3VkLmFnZW50Lm1hbmFnZXIuRGlyZWN0QWdlbnRBdHRhY2hlJFRhc2sucnVu SW5Db250ZXh0KA0KPj4+Pj4gRGlyZWN0QWdlbnRBdHRhY2hlLmphdmE6MzE1KQ0KPj4+Pj4gYXQN Cj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuTWFuYWdlZENv bnRleHRSdW5uYWJsZSQxLnJ1bigNCj4+Pj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0 OSkNCj4+Pj4+IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC4N Cj4+Pj4+IERlZmF1bHRNYW5hZ2VkQ29udGV4dCQxLmNhbGwoRGVmYXVsdE1hbmFnZWRDb250ZXh0 LmphdmE6NTYpDQo+Pj4+PiBhdA0KPj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFn ZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dC4NCj4+Pj4+IGNhbGxXaXRoQ29u dGV4dChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YToxMDMpDQo+Pj4+PiBhdA0KPj4+ICAgICAg b3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2Vk Q29udGV4dC4NCj4+Pj4+IHJ1bldpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZh OjUzKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNv bnRleHQuTWFuYWdlZENvbnRleHRSdW5uYWJsZS5ydW4oDQo+Pj4+PiBNYW5hZ2VkQ29udGV4dFJ1 bm5hYmxlLmphdmE6NDYpDQo+Pj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMk UnVubmFibGVBZGFwdGVyLg0KPj4+Pj4gY2FsbChFeGVjdXRvcnMuamF2YTo1MTEpDQo+Pj4+PiBh dCBqYXZhLnV0aWwuY29uY3VycmVudC5GdXR1cmVUYXNrLnJ1bihGdXR1cmVUYXNrLmphdmE6MjY2 KQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1 dG9yJA0KPj4+Pj4gDQo+Pj4gICAgICBTY2hlZHVsZWRGdXR1cmVUYXNrLmFjY2VzcyQyMDEoU2No ZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTgwKQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNv bmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJA0KPj4+Pj4gU2NoZWR1bGVkRnV0 dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MjkzKQ0KPj4+Pj4g YXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcigNCj4+ Pj4+IFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDIpDQo+Pj4+PiBhdCBqYXZhLnV0aWwuY29u Y3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bigNCj4+Pj4+IFRocmVhZFBvb2xF eGVjdXRvci5qYXZhOjYxNykNCj4+Pj4+IGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5q YXZhOjc0NSkNCj4+Pj4+IFdBUk4gW2MuYy5oLnguci5DaXRyaXhSZXNvdXJjZUJhc2VdDQo+Pj4g ICAgICAoRGlyZWN0QWdlbnQtMTY6Y3R4LTdjOTAxNDQzKQ0KPj4+Pj4gKGxvZ2lkOmFhYjljMzIw KSBVbmFibGUgdG8gc3RhcnQgaS0yLTYtVk0gZHVlIHRvDQo+Pj4+PiBjb20uY2xvdWQudXRpbHMu ZXhjZXB0aW9uLkNsb3VkUnVudGltZUV4Y2VwdGlvbjoNCj4+PiAgICAgIGNhbGxIb3N0UGx1Z2lu IGZhaWxlZA0KPj4+Pj4gZm9yIGNtZDogZGVmYXVsdF9uZXR3b3JrX3J1bGVzIHdpdGggYXJncyBz ZWNJcHM6IDA6LCB2bU5hbWU6DQo+Pj4gICAgICBpLTItNi1WTSwNCj4+Pj4+IHZtSUQ6IDYsIHZt SVA6IDEwLjExNy40MC41Mywgdm1NQUM6IDA2OmIyOmY0OjAwOjAwOjIyLCBkdWUgdG8NCj4+PiAg ICAgIFRoZXJlIHdhcyBhDQo+Pj4+PiBmYWlsdXJlIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgcGx1 Z2luLg0KPj4+Pj4gYXQNCj4+PiAgICAgIGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5y ZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQo+Pj4+PiBjYWxsSG9zdFBsdWdpbihDaXRyaXhS ZXNvdXJjZUJhc2UuamF2YTozMzgpDQo+Pj4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5z ZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KPj4+Pj4gDQo+Pj4gICAgICBDaXRyaXhT dGFydENvbW1hbmRXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci5qYXZh OjE4OCkNCj4+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS53 cmFwcGVyLnhlbmJhc2UuDQo+Pj4+PiANCj4+PiAgICAgIENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBw ZXIuZXhlY3V0ZShDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmphdmE6NTMpDQo+Pj4+PiBhdCBj b20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci4NCj4+Pj4+IA0K Pj4+ICAgICAgeGVuYmFzZS5DaXRyaXhSZXF1ZXN0V3JhcHBlci5leGVjdXRlKENpdHJpeFJlcXVl c3RXcmFwcGVyLmphdmE6MTIyKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIGNvbS5jbG91ZC5oeXBlcnZp c29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQo+Pj4+PiBleGVjdXRl UmVxdWVzdChDaXRyaXhSZXNvdXJjZUJhc2UuamF2YToxNjkxKQ0KPj4+Pj4gYXQNCj4+PiAgICAg IGNvbS5jbG91ZC5hZ2VudC5tYW5hZ2VyLkRpcmVjdEFnZW50QXR0YWNoZSRUYXNrLnJ1bkluQ29u dGV4dCgNCj4+Pj4+IERpcmVjdEFnZW50QXR0YWNoZS5qYXZhOjMxNSkNCj4+Pj4+IGF0DQo+Pj4g ICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lk1hbmFnZWRDb250ZXh0 UnVubmFibGUkMS5ydW4oDQo+Pj4+PiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLmphdmE6NDkpDQo+ Pj4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuDQo+Pj4+ PiBEZWZhdWx0TWFuYWdlZENvbnRleHQkMS5jYWxsKERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZh OjU2KQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNv bnRleHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRleHQuDQo+Pj4+PiBjYWxsV2l0aENvbnRleHQo RGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6MTAzKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5h cGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRl eHQuDQo+Pj4+PiBydW5XaXRoQ29udGV4dChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1MykN Cj4+Pj4+IGF0DQo+Pj4gICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0 Lk1hbmFnZWRDb250ZXh0UnVubmFibGUucnVuKA0KPj4+Pj4gTWFuYWdlZENvbnRleHRSdW5uYWJs ZS5qYXZhOjQ2KQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFJ1bm5h YmxlQWRhcHRlci4NCj4+Pj4+IGNhbGwoRXhlY3V0b3JzLmphdmE6NTExKQ0KPj4+Pj4gYXQgamF2 YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2NikNCj4+ Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciQN Cj4+Pj4+IA0KPj4+ICAgICAgU2NoZWR1bGVkRnV0dXJlVGFzay5hY2Nlc3MkMjAxKFNjaGVkdWxl ZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjE4MCkNCj4+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJy ZW50LlNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciQNCj4+Pj4+IFNjaGVkdWxlZEZ1dHVyZVRh c2sucnVuKFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjI5MykNCj4+Pj4+IGF0IGph dmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoDQo+Pj4+PiBU aHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJl bnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oDQo+Pj4+PiBUaHJlYWRQb29sRXhlY3V0 b3IuamF2YTo2MTcpDQo+Pj4+PiBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3 NDUpDQo+Pj4+PiBJTkZPIFtvLmEuYy5lLm8uTmV0d29ya09yY2hlc3RyYXRvcl0NCj4+PiAgICAg IChOZXR3b3JrLVNjYXZlbmdlci0xOmN0eC0yMDU4ZDVhYykNCj4+Pj4+IChsb2dpZDpiZjg4ODVh MCkgTmV0d29ya0dhcmJhZ2VDb2xsZWN0b3IgdXNlcyAnMjAnIHNlY29uZHMNCj4+PiAgICAgIGZv ciBHQyBpbnRlcnZhbC4NCj4+Pj4+IFdBUk4gW2MuYy5oLnguci5DaXRyaXhSZXNvdXJjZUJhc2Vd DQo+Pj4gICAgICAoRGlyZWN0QWdlbnQtMTY6Y3R4LTdjOTAxNDQzKQ0KPj4+Pj4gKGxvZ2lkOmFh YjljMzIwKSBVbmFibGUgdG8gY2xlYW4gdXAgVkJEIGR1ZSB0bw0KPj4+Pj4gWW91IGdhdmUgYW4g aW52YWxpZCBvYmplY3QgcmVmZXJlbmNlLiBUaGUgb2JqZWN0IG1heSBoYXZlDQo+Pj4gICAgICBy ZWNlbnRseSBiZWVuDQo+Pj4+PiBkZWxldGVkLiBUaGUgY2xhc3MgcGFyYW1ldGVyIGdpdmVzIHRo ZSB0eXBlIG9mIHJlZmVyZW5jZQ0KPj4+ICAgICAgZ2l2ZW4sIGFuZCB0aGUNCj4+Pj4+IGhhbmRs ZSBwYXJhbWV0ZXIgZWNob2VzIHRoZSBiYWQgdmFsdWUgZ2l2ZW4uDQo+Pj4+PiBhdCBjb20ueGVu c291cmNlLnhlbmFwaS5UeXBlcy5jaGVja1Jlc3BvbnNlKFR5cGVzLmphdmE6NjkzKQ0KPj4+Pj4g YXQNCj4+PiAgICAgIGNvbS54ZW5zb3VyY2UueGVuYXBpLkNvbm5lY3Rpb24uZGlzcGF0Y2goQ29u bmVjdGlvbi5qYXZhOjM5NSkNCj4+Pj4+IGF0DQo+Pj4gICAgICBjb20uY2xvdWQuaHlwZXJ2aXNv ci54ZW5zZXJ2ZXIucmVzb3VyY2UuWGVuU2VydmVyQ29ubmVjdGlvblBvb2wkDQo+Pj4+PiANCj4+ PiAgICAgIFhlblNlcnZlckNvbm5lY3Rpb24uZGlzcGF0Y2goWGVuU2VydmVyQ29ubmVjdGlvblBv b2wuamF2YTo0NTcpDQo+Pj4+PiBhdCBjb20ueGVuc291cmNlLnhlbmFwaS5WQkQudW5wbHVnKFZC RC5qYXZhOjExMDkpDQo+Pj4+PiBhdA0KPj4+ICAgICAgY29tLmNsb3VkLmh5cGVydmlzb3IueGVu c2VydmVyLnJlc291cmNlLkNpdHJpeFJlc291cmNlQmFzZS4NCj4+Pj4+IGhhbmRsZVZtU3RhcnRG YWlsdXJlKENpdHJpeFJlc291cmNlQmFzZS5qYXZhOjM1NzYpDQo+Pj4+PiBhdCBjb20uY2xvdWQu aHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KPj4+Pj4gDQo+ Pj4gICAgICBDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4U3RhcnRDb21t YW5kV3JhcHBlci5qYXZhOjIxMCkNCj4+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNl cnZlci5yZXNvdXJjZS53cmFwcGVyLnhlbmJhc2UuDQo+Pj4+PiANCj4+PiAgICAgIENpdHJpeFN0 YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmphdmE6 NTMpDQo+Pj4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3Jh cHBlci4NCj4+Pj4+IA0KPj4+ICAgICAgeGVuYmFzZS5DaXRyaXhSZXF1ZXN0V3JhcHBlci5leGVj dXRlKENpdHJpeFJlcXVlc3RXcmFwcGVyLmphdmE6MTIyKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIGNv bS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2Uu DQo+Pj4+PiBleGVjdXRlUmVxdWVzdChDaXRyaXhSZXNvdXJjZUJhc2UuamF2YToxNjkxKQ0KPj4+ Pj4gYXQNCj4+PiAgICAgIGNvbS5jbG91ZC5hZ2VudC5tYW5hZ2VyLkRpcmVjdEFnZW50QXR0YWNo ZSRUYXNrLnJ1bkluQ29udGV4dCgNCj4+Pj4+IERpcmVjdEFnZW50QXR0YWNoZS5qYXZhOjMxNSkN Cj4+Pj4+IGF0DQo+Pj4gICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0 Lk1hbmFnZWRDb250ZXh0UnVubmFibGUkMS5ydW4oDQo+Pj4+PiBNYW5hZ2VkQ29udGV4dFJ1bm5h YmxlLmphdmE6NDkpDQo+Pj4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250 ZXh0LmltcGwuDQo+Pj4+PiBEZWZhdWx0TWFuYWdlZENvbnRleHQkMS5jYWxsKERlZmF1bHRNYW5h Z2VkQ29udGV4dC5qYXZhOjU2KQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRz dGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRleHQuDQo+Pj4+PiBj YWxsV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6MTAzKQ0KPj4+Pj4gYXQN Cj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1wbC5EZWZh dWx0TWFuYWdlZENvbnRleHQuDQo+Pj4+PiBydW5XaXRoQ29udGV4dChEZWZhdWx0TWFuYWdlZENv bnRleHQuamF2YTo1MykNCj4+Pj4+IGF0DQo+Pj4gICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2su bWFuYWdlZC5jb250ZXh0Lk1hbmFnZWRDb250ZXh0UnVubmFibGUucnVuKA0KPj4+Pj4gTWFuYWdl ZENvbnRleHRSdW5uYWJsZS5qYXZhOjQ2KQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQu RXhlY3V0b3JzJFJ1bm5hYmxlQWRhcHRlci4NCj4+Pj4+IGNhbGwoRXhlY3V0b3JzLmphdmE6NTEx KQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFz ay5qYXZhOjI2NikNCj4+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRocmVh ZFBvb2xFeGVjdXRvciQNCj4+Pj4+IA0KPj4+ICAgICAgU2NoZWR1bGVkRnV0dXJlVGFzay5hY2Nl c3MkMjAxKFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjE4MCkNCj4+Pj4+IGF0IGph dmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvciQNCj4+Pj4+IFNj aGVkdWxlZEZ1dHVyZVRhc2sucnVuKFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjI5 MykNCj4+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5X b3JrZXIoDQo+Pj4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKQ0KPj4+Pj4gYXQgamF2 YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oDQo+Pj4+PiBU aHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQo+Pj4+PiBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1 bihUaHJlYWQuamF2YTo3NDUpDQo+Pj4+PiBXQVJOIFtjLmMuaC54LnIuQ2l0cml4UmVzb3VyY2VC YXNlXQ0KPj4+ICAgICAgKERpcmVjdEFnZW50LTE2OmN0eC03YzkwMTQ0MykNCj4+Pj4+IChsb2dp ZDphYWI5YzMyMCkgVW5hYmxlIHRvIGNsZWFuIHVwIFZCRCBkdWUgdG8NCj4+Pj4+IFlvdSBnYXZl IGFuIGludmFsaWQgb2JqZWN0IHJlZmVyZW5jZS4gVGhlIG9iamVjdCBtYXkgaGF2ZQ0KPj4+ICAg ICAgcmVjZW50bHkgYmVlbg0KPj4+Pj4gZGVsZXRlZC4gVGhlIGNsYXNzIHBhcmFtZXRlciBnaXZl cyB0aGUgdHlwZSBvZiByZWZlcmVuY2UNCj4+PiAgICAgIGdpdmVuLCBhbmQgdGhlDQo+Pj4+PiBo YW5kbGUgcGFyYW1ldGVyIGVjaG9lcyB0aGUgYmFkIHZhbHVlIGdpdmVuLg0KPj4+Pj4gYXQgY29t LnhlbnNvdXJjZS54ZW5hcGkuVHlwZXMuY2hlY2tSZXNwb25zZShUeXBlcy5qYXZhOjY5MykNCj4+ Pj4+IGF0DQo+Pj4gICAgICBjb20ueGVuc291cmNlLnhlbmFwaS5Db25uZWN0aW9uLmRpc3BhdGNo KENvbm5lY3Rpb24uamF2YTozOTUpDQo+Pj4+PiBhdA0KPj4+ICAgICAgY29tLmNsb3VkLmh5cGVy dmlzb3IueGVuc2VydmVyLnJlc291cmNlLlhlblNlcnZlckNvbm5lY3Rpb25Qb29sJA0KPj4+Pj4g DQo+Pj4gICAgICBYZW5TZXJ2ZXJDb25uZWN0aW9uLmRpc3BhdGNoKFhlblNlcnZlckNvbm5lY3Rp b25Qb29sLmphdmE6NDU3KQ0KPj4+Pj4gYXQgY29tLnhlbnNvdXJjZS54ZW5hcGkuVkJELnVucGx1 ZyhWQkQuamF2YToxMTA5KQ0KPj4+Pj4gYXQNCj4+PiAgICAgIGNvbS5jbG91ZC5oeXBlcnZpc29y LnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQo+Pj4+PiBoYW5kbGVWbVN0 YXJ0RmFpbHVyZShDaXRyaXhSZXNvdXJjZUJhc2UuamF2YTozNTc2KQ0KPj4+Pj4gYXQgY29tLmNs b3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIueGVuYmFzZS4NCj4+Pj4+ IA0KPj4+ICAgICAgQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci5leGVjdXRlKENpdHJpeFN0YXJ0 Q29tbWFuZFdyYXBwZXIuamF2YToyMTApDQo+Pj4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54 ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KPj4+Pj4gDQo+Pj4gICAgICBDaXRy aXhTdGFydENvbW1hbmRXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci5q YXZhOjUzKQ0KPj4+Pj4gYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNl LndyYXBwZXIuDQo+Pj4+PiANCj4+PiAgICAgIHhlbmJhc2UuQ2l0cml4UmVxdWVzdFdyYXBwZXIu ZXhlY3V0ZShDaXRyaXhSZXF1ZXN0V3JhcHBlci5qYXZhOjEyMikNCj4+Pj4+IGF0DQo+Pj4gICAg ICBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VC YXNlLg0KPj4+Pj4gZXhlY3V0ZVJlcXVlc3QoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MTY5MSkN Cj4+Pj4+IGF0DQo+Pj4gICAgICBjb20uY2xvdWQuYWdlbnQubWFuYWdlci5EaXJlY3RBZ2VudEF0 dGFjaGUkVGFzay5ydW5JbkNvbnRleHQoDQo+Pj4+PiBEaXJlY3RBZ2VudEF0dGFjaGUuamF2YToz MTUpDQo+Pj4+PiBhdA0KPj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29u dGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEucnVuKA0KPj4+Pj4gTWFuYWdlZENvbnRleHRS dW5uYWJsZS5qYXZhOjQ5KQ0KPj4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQu Y29udGV4dC5pbXBsLg0KPj4+Pj4gRGVmYXVsdE1hbmFnZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0 TWFuYWdlZENvbnRleHQuamF2YTo1NikNCj4+Pj4+IGF0DQo+Pj4gICAgICBvcmcuYXBhY2hlLmNs b3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KPj4+ Pj4gY2FsbFdpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykNCj4+Pj4+ IGF0DQo+Pj4gICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwu RGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KPj4+Pj4gcnVuV2l0aENvbnRleHQoRGVmYXVsdE1hbmFn ZWRDb250ZXh0LmphdmE6NTMpDQo+Pj4+PiBhdA0KPj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0 YWNrLm1hbmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bigNCj4+Pj4+IE1h bmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0NikNCj4+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJy ZW50LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIuDQo+Pj4+PiBjYWxsKEV4ZWN1dG9ycy5qYXZh OjUxMSkNCj4+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVy ZVRhc2suamF2YToyNjYpDQo+Pj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRU aHJlYWRQb29sRXhlY3V0b3IkDQo+Pj4+PiANCj4+PiAgICAgIFNjaGVkdWxlZEZ1dHVyZVRhc2su YWNjZXNzJDIwMShTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxODApDQo+Pj4+PiBh dCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkDQo+Pj4+ PiBTY2hlZHVsZWRGdXR1cmVUYXNrLnJ1bihTY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IuamF2 YToyOTMpDQo+Pj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3Iu cnVuV29ya2VyKA0KPj4+Pj4gVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0MikNCj4+Pj4+IGF0 IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKA0KPj4+ Pj4gVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjE3KQ0KPj4+Pj4gYXQgamF2YS5sYW5nLlRocmVh ZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0KPj4+Pj4gV0FSTiBbYy5jLmgueC5yLkNpdHJpeFJlc291 cmNlQmFzZV0NCj4+PiAgICAgIChEaXJlY3RBZ2VudC0xNjpjdHgtN2M5MDE0NDMpDQo+Pj4+PiAo bG9naWQ6YWFiOWMzMjApIFVuYWJsZSB0byBjbGVhbnVwIFZJRg0KPj4+Pj4gWW91IGdhdmUgYW4g aW52YWxpZCBvYmplY3QgcmVmZXJlbmNlLiBUaGUgb2JqZWN0IG1heSBoYXZlDQo+Pj4gICAgICBy ZWNlbnRseSBiZWVuDQo+Pj4+PiBkZWxldGVkLiBUaGUgY2xhc3MgcGFyYW1ldGVyIGdpdmVzIHRo ZSB0eXBlIG9mIHJlZmVyZW5jZQ0KPj4+ICAgICAgZ2l2ZW4sIGFuZCB0aGUNCj4+Pj4+IGhhbmRs ZSBwYXJhbWV0ZXIgZWNob2VzIHRoZSBiYWQgdmFsdWUgZ2l2ZW4uDQo+Pj4+PiBhdCBjb20ueGVu c291cmNlLnhlbmFwaS5UeXBlcy5jaGVja1Jlc3BvbnNlKFR5cGVzLmphdmE6NjkzKQ0KPj4+Pj4g YXQNCj4+PiAgICAgIGNvbS54ZW5zb3VyY2UueGVuYXBpLkNvbm5lY3Rpb24uZGlzcGF0Y2goQ29u bmVjdGlvbi5qYXZhOjM5NSkNCj4+Pj4+IGF0DQo+Pj4gICAgICBjb20uY2xvdWQuaHlwZXJ2aXNv ci54ZW5zZXJ2ZXIucmVzb3VyY2UuWGVuU2VydmVyQ29ubmVjdGlvblBvb2wkDQo+Pj4+PiANCj4+ PiAgICAgIFhlblNlcnZlckNvbm5lY3Rpb24uZGlzcGF0Y2goWGVuU2VydmVyQ29ubmVjdGlvblBv b2wuamF2YTo0NTcpDQo+Pj4+PiBhdCBjb20ueGVuc291cmNlLnhlbmFwaS5WSUYudW5wbHVnKFZJ Ri5qYXZhOjkyMSkNCj4+Pj4+IGF0DQo+Pj4gICAgICBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5z ZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VCYXNlLg0KPj4+Pj4gaGFuZGxlVm1TdGFydEZh aWx1cmUoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MzU4NCkNCj4+Pj4+IGF0IGNvbS5jbG91ZC5o eXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS53cmFwcGVyLnhlbmJhc2UuDQo+Pj4+PiANCj4+ PiAgICAgIENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhTdGFydENvbW1h bmRXcmFwcGVyLmphdmE6MjEwKQ0KPj4+Pj4gYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2Vy dmVyLnJlc291cmNlLndyYXBwZXIueGVuYmFzZS4NCj4+Pj4+IA0KPj4+ICAgICAgQ2l0cml4U3Rh cnRDb21tYW5kV3JhcHBlci5leGVjdXRlKENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuamF2YTo1 MykNCj4+Pj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS53cmFw cGVyLg0KPj4+Pj4gDQo+Pj4gICAgICB4ZW5iYXNlLkNpdHJpeFJlcXVlc3RXcmFwcGVyLmV4ZWN1 dGUoQ2l0cml4UmVxdWVzdFdyYXBwZXIuamF2YToxMjIpDQo+Pj4+PiBhdA0KPj4+ICAgICAgY29t LmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLkNpdHJpeFJlc291cmNlQmFzZS4N Cj4+Pj4+IGV4ZWN1dGVSZXF1ZXN0KENpdHJpeFJlc291cmNlQmFzZS5qYXZhOjE2OTEpDQo+Pj4+ PiBhdA0KPj4+ICAgICAgY29tLmNsb3VkLmFnZW50Lm1hbmFnZXIuRGlyZWN0QWdlbnRBdHRhY2hl JFRhc2sucnVuSW5Db250ZXh0KA0KPj4+Pj4gRGlyZWN0QWdlbnRBdHRhY2hlLmphdmE6MzE1KQ0K Pj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQu TWFuYWdlZENvbnRleHRSdW5uYWJsZSQxLnJ1bigNCj4+Pj4+IE1hbmFnZWRDb250ZXh0UnVubmFi bGUuamF2YTo0OSkNCj4+Pj4+IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRl eHQuaW1wbC4NCj4+Pj4+IERlZmF1bHRNYW5hZ2VkQ29udGV4dCQxLmNhbGwoRGVmYXVsdE1hbmFn ZWRDb250ZXh0LmphdmE6NTYpDQo+Pj4+PiBhdA0KPj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0 YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dC4NCj4+Pj4+IGNh bGxXaXRoQ29udGV4dChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YToxMDMpDQo+Pj4+PiBhdA0K Pj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1 bHRNYW5hZ2VkQ29udGV4dC4NCj4+Pj4+IHJ1bldpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29u dGV4dC5qYXZhOjUzKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5t YW5hZ2VkLmNvbnRleHQuTWFuYWdlZENvbnRleHRSdW5uYWJsZS5ydW4oDQo+Pj4+PiBNYW5hZ2Vk Q29udGV4dFJ1bm5hYmxlLmphdmE6NDYpDQo+Pj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5F eGVjdXRvcnMkUnVubmFibGVBZGFwdGVyLg0KPj4+Pj4gY2FsbChFeGVjdXRvcnMuamF2YTo1MTEp DQo+Pj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5GdXR1cmVUYXNrLnJ1bihGdXR1cmVUYXNr LmphdmE6MjY2KQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFk UG9vbEV4ZWN1dG9yJA0KPj4+Pj4gDQo+Pj4gICAgICBTY2hlZHVsZWRGdXR1cmVUYXNrLmFjY2Vz cyQyMDEoU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTgwKQ0KPj4+Pj4gYXQgamF2 YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJA0KPj4+Pj4gU2No ZWR1bGVkRnV0dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6Mjkz KQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldv cmtlcigNCj4+Pj4+IFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjExNDIpDQo+Pj4+PiBhdCBqYXZh LnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bigNCj4+Pj4+IFRo cmVhZFBvb2xFeGVjdXRvci5qYXZhOjYxNykNCj4+Pj4+IGF0IGphdmEubGFuZy5UaHJlYWQucnVu KFRocmVhZC5qYXZhOjc0NSkNCj4+Pj4+IElORk8gW2MuYy52LlZpcnR1YWxNYWNoaW5lTWFuYWdl ckltcGxdDQo+Pj4gICAgICAoV29yay1Kb2ItRXhlY3V0b3ItMjpjdHgtYmMxMDQzODANCj4+Pj4+ IGpvYi0yNS9qb2ItMjcgY3R4LThjOTQ2YTViKSAobG9naWQ6YWFiOWMzMjApIFVuYWJsZSB0byBz dGFydA0KPj4+ICAgICAgVk0gb24NCj4+Pj4+IEhvc3RbLTItUm91dGluZ10gZHVlIHRvIFVuYWJs ZSB0byBzdGFydCBpLTItNi1WTSBkdWUgdG8NCj4+Pj4+IEVSUk9SIFtjLmMudi5WbVdvcmtKb2JI YW5kbGVyUHJveHldDQo+Pj4gICAgICAoV29yay1Kb2ItRXhlY3V0b3ItMjpjdHgtYmMxMDQzODAN Cj4+Pj4+IGpvYi0yNS9qb2ItMjcgY3R4LThjOTQ2YTViKSAobG9naWQ6YWFiOWMzMjApIEludm9j YXRpb24NCj4+PiAgICAgIGV4Y2VwdGlvbiwgY2F1c2VkDQo+Pj4+PiBieTogY29tLmNsb3VkLmV4 Y2VwdGlvbi5JbnN1ZmZpY2llbnRTZXJ2ZXJDYXBhY2l0eUV4Y2VwdGlvbjoNCj4+PiAgICAgIFVu YWJsZSB0bw0KPj4+Pj4gY3JlYXRlIGEgZGVwbG95bWVudCBmb3IgVk1bVXNlcnxpLTItNi1WTV1T Y29wZT1pbnRlcmZhY2UNCj4+Pj4+IGNvbS5jbG91ZC5kYy5EYXRhQ2VudGVyOyBpZD0xDQo+Pj4+ PiBJTkZPIFtjLmMudi5WbVdvcmtKb2JIYW5kbGVyUHJveHldDQo+Pj4gICAgICAoV29yay1Kb2It RXhlY3V0b3ItMjpjdHgtYmMxMDQzODANCj4+Pj4+IGpvYi0yNS9qb2ItMjcgY3R4LThjOTQ2YTVi KSAobG9naWQ6YWFiOWMzMjApIFJldGhyb3cNCj4+PiAgICAgIGV4Y2VwdGlvbg0KPj4+Pj4gY29t LmNsb3VkLmV4Y2VwdGlvbi5JbnN1ZmZpY2llbnRTZXJ2ZXJDYXBhY2l0eUV4Y2VwdGlvbjoNCj4+ PiAgICAgIFVuYWJsZSB0byBjcmVhdGUNCj4+Pj4+IGEgZGVwbG95bWVudCBmb3IgVk1bVXNlcnxp LTItNi1WTV1TY29wZT1pbnRlcmZhY2UNCj4+Pj4+IGNvbS5jbG91ZC5kYy5EYXRhQ2VudGVyOyBp ZD0xDQo+Pj4+PiBFUlJPUiBbYy5jLnYuVm1Xb3JrSm9iRGlzcGF0Y2hlcl0NCj4+PiAgICAgIChX b3JrLUpvYi1FeGVjdXRvci0yOmN0eC1iYzEwNDM4MA0KPj4+Pj4gam9iLTI1L2pvYi0yNykgKGxv Z2lkOmFhYjljMzIwKSBVbmFibGUgdG8gY29tcGxldGUgQXN5bmNKb2JWTw0KPj4+ICAgICAge2lk OjI3LA0KPj4+Pj4gdXNlcklkOiAyLCBhY2NvdW50SWQ6IDIsIGluc3RhbmNlVHlwZTogbnVsbCwg aW5zdGFuY2VJZDoNCj4+PiAgICAgIG51bGwsIGNtZDoNCj4+Pj4+IGNvbS5jbG91ZC52bS5WbVdv cmtTdGFydCwgY21kSW5mbzoNCj4+PiAgICAgIHJPMEFCWE55QUJoamIyMHVZMnh2ZFdRdWRtMHVW bQ0KPj4+Pj4gMVhiM0pyVTNSaGNuUjljTUdzdnh6NzNnSUFDMG9BQkdSalNXUk1BQVpoZG05cFpI TjBBREJNWTI5dEwyDQo+Pj4+PiBOc2IzVmtMMlJsY0d4dmVTOUVaWEJzYjNsdFpXNTBVR3hoYm01 bGNpUkZlR05zZFdSbFRHbHpkRHRNQUENCj4+Pj4+IGxqYkhWemRHVnlTV1IwQUJCTWFtRjJZUzlz WVc1bkwweHZibWM3VEFBR2FHOXpkRWxrY1FCLQ0KPj4+Pj4gQUFKTUFBdHFiM1Z5Ym1Gc1RtRnRa WFFBRWt4cVlYWmhMMnhoYm1jdlUzUnlhVzVuTzB3QUVYQm9lWE5wDQo+Pj4+PiANCj4+PiAgICAg IFkyRnNUbVYwZDI5eWEwbGtjUUItQUFKTUFBZHdiR0Z1Ym1WeWNRQi1BQU5NQUFWd2IyUkpaSEVB ZmdBQ1RBQUdjRzl2YkUNCj4+Pj4+IA0KPj4+ICAgICAgbGtjUUItQUFKTUFBbHlZWGRRWVhKaGJY TjBBQTlNYW1GMllTOTFkR2xzTDAxaGNEdE1BQTF5WlhObGNuWmhkR2x2Ymtsa2NRQi0NCj4+Pj4+ IA0KPj4+ICAgICAgQUFONGNnQVRZMjl0TG1Oc2IzVmtMblp0TGxadFYyOXlhNS1adGxid0pXZHJB Z0FFU2dBSllXTmpiM1Z1ZEVsa1MNCj4+Pj4+IA0KPj4+ICAgICAgZ0FHZFhObGNrbGtTZ0FFZG0x SlpFd0FDMmhoYm1Sc1pYSk9ZVzFsY1FCLUFBTjRjQUFBQUFBQUFBQUNBQUFBQUFBQUFBSUFBQQ0K Pj4+Pj4gQUFBQUFBQm5RQUdWWnBjblIxWVd4TllXTm9hVzVsVFdGdVlXZGxja2x0Y0d3QUFBQUFB QUFBQUhCd2NIDQo+Pj4+PiBCd2NIQndjM0lBRVdwaGRtRXVkWFJwYkM1SVlYTm9UV0Z3QlFmYXdj TVdZTkVEQUFKR0FBcHNiMkZrUm0NCj4+Pj4+IEZqZEc5eVNRQUpkR2h5WlhOb2IyeGtlSEFfUUFB QUFBQUFESGNJQUFBQUVBQUFBQUYwQUFwV2JWDQo+Pj4+PiBCaGMzTjNiM0prZEFBY2NrOHdRVUpZ VVVGRWJrNW9aRzFXYTFnelFtaGpNMDR6WWpOS2EzaHcsDQo+Pj4gICAgICBjbWRWZXJzaW9uOiAw LA0KPj4+Pj4gc3RhdHVzOiBJTl9QUk9HUkVTUywgcHJvY2Vzc1N0YXR1czogMCwgcmVzdWx0Q29k ZTogMCwgcmVzdWx0Og0KPj4+ICAgICAgbnVsbCwNCj4+Pj4+IGluaXRNc2lkOiA1MjIzNzYxNzc5 NywgY29tcGxldGVNc2lkOiBudWxsLCBsYXN0VXBkYXRlZDogbnVsbCwNCj4+PiAgICAgIGxhc3RQ b2xsZWQ6DQo+Pj4+PiBudWxsLCBjcmVhdGVkOiBXZWQgTWFyIDAxIDEyOjUxOjMyIE1TVCAyMDE3 fSwgam9iIG9yaWdpbjoyNQ0KPj4+Pj4gY29tLmNsb3VkLmV4Y2VwdGlvbi5JbnN1ZmZpY2llbnRT ZXJ2ZXJDYXBhY2l0eUV4Y2VwdGlvbjoNCj4+PiAgICAgIFVuYWJsZSB0byBjcmVhdGUNCj4+Pj4+ IGEgZGVwbG95bWVudCBmb3IgVk1bVXNlcnxpLTItNi1WTV1TY29wZT1pbnRlcmZhY2UNCj4+Pj4+ IGNvbS5jbG91ZC5kYy5EYXRhQ2VudGVyOyBpZD0xDQo+Pj4+PiBhdCBjb20uY2xvdWQudm0uVmly dHVhbE1hY2hpbmVNYW5hZ2VySW1wbC5vcmNoZXN0cmF0ZVN0YXJ0KA0KPj4+Pj4gVmlydHVhbE1h Y2hpbmVNYW5hZ2VySW1wbC5qYXZhOjk2MSkNCj4+Pj4+IGF0IGNvbS5jbG91ZC52bS5WaXJ0dWFs TWFjaGluZU1hbmFnZXJJbXBsLm9yY2hlc3RyYXRlU3RhcnQoDQo+Pj4+PiBWaXJ0dWFsTWFjaGlu ZU1hbmFnZXJJbXBsLmphdmE6NDY2MSkNCj4+Pj4+IGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhv ZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZQ0KPj4+ICAgICAgTWV0aG9kKQ0KPj4+Pj4gYXQg c3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZSgNCj4+Pj4+IE5hdGl2 ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjYyKQ0KPj4+Pj4gYXQgc3VuLnJlZmxlY3QuRGVsZWdh dGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoDQo+Pj4+PiBEZWxlZ2F0aW5nTWV0aG9kQWNj ZXNzb3JJbXBsLmphdmE6NDMpDQo+Pj4+PiBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52 b2tlKE1ldGhvZC5qYXZhOjQ5OCkNCj4+Pj4+IGF0IGNvbS5jbG91ZC52bS5WbVdvcmtKb2JIYW5k bGVyUHJveHkuaGFuZGxlVm1Xb3JrSm9iKA0KPj4+Pj4gVm1Xb3JrSm9iSGFuZGxlclByb3h5Lmph dmE6MTA3KQ0KPj4+Pj4gYXQgY29tLmNsb3VkLnZtLlZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwu aGFuZGxlVm1Xb3JrSm9iKA0KPj4+Pj4gVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1wbC5qYXZhOjQ4 MjIpDQo+Pj4+PiBhdCBjb20uY2xvdWQudm0uVm1Xb3JrSm9iRGlzcGF0Y2hlci5ydW5Kb2IoDQo+ Pj4+PiBWbVdvcmtKb2JEaXNwYXRjaGVyLmphdmE6MTAyKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9y Zy5hcGFjaGUuY2xvdWRzdGFjay5mcmFtZXdvcmsuam9icy5pbXBsLkFzeW5jSm9iTWFuYWdlcklt cGwkNS4NCj4+Pj4+IHJ1bkluQ29udGV4dChBc3luY0pvYk1hbmFnZXJJbXBsLmphdmE6NTU0KQ0K Pj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQu TWFuYWdlZENvbnRleHRSdW5uYWJsZSQxLnJ1bigNCj4+Pj4+IE1hbmFnZWRDb250ZXh0UnVubmFi bGUuamF2YTo0OSkNCj4+Pj4+IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRl eHQuaW1wbC4NCj4+Pj4+IERlZmF1bHRNYW5hZ2VkQ29udGV4dCQxLmNhbGwoRGVmYXVsdE1hbmFn ZWRDb250ZXh0LmphdmE6NTYpDQo+Pj4+PiBhdA0KPj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0 YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dC4NCj4+Pj4+IGNh bGxXaXRoQ29udGV4dChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YToxMDMpDQo+Pj4+PiBhdA0K Pj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1 bHRNYW5hZ2VkQ29udGV4dC4NCj4+Pj4+IHJ1bldpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29u dGV4dC5qYXZhOjUzKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5t YW5hZ2VkLmNvbnRleHQuTWFuYWdlZENvbnRleHRSdW5uYWJsZS5ydW4oDQo+Pj4+PiBNYW5hZ2Vk Q29udGV4dFJ1bm5hYmxlLmphdmE6NDYpDQo+Pj4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2su ZnJhbWV3b3JrLmpvYnMuaW1wbC4NCj4+Pj4+IEFzeW5jSm9iTWFuYWdlckltcGwkNS5ydW4oQXN5 bmNKb2JNYW5hZ2VySW1wbC5qYXZhOjUwMikNCj4+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50 LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIuDQo+Pj4+PiBjYWxsKEV4ZWN1dG9ycy5qYXZhOjUx MSkNCj4+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRh c2suamF2YToyNjYpDQo+Pj4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhl Y3V0b3IucnVuV29ya2VyKA0KPj4+Pj4gVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0MikNCj4+ Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVu KA0KPj4+Pj4gVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjE3KQ0KPj4+Pj4gYXQgamF2YS5sYW5n LlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0KPj4+Pj4gSU5GTyBbby5hLmMuZi5qLmkuQXN5 bmNKb2JNb25pdG9yXQ0KPj4+ICAgICAgKFdvcmstSm9iLUV4ZWN1dG9yLTI6Y3R4LWJjMTA0Mzgw DQo+Pj4+PiBqb2ItMjUvam9iLTI3KSAobG9naWQ6YWFiOWMzMjApIFJlbW92ZSBqb2ItMjcgZnJv bSBqb2INCj4+PiAgICAgIG1vbml0b3JpbmcNCj4+Pj4+IFdBUk4gW28uYS5jLmFsZXJ0c10gKEFQ SS1Kb2ItRXhlY3V0b3ItMTpjdHgtZjc4NzIwMWQgam9iLTI1DQo+Pj4+PiBjdHgtNTYzNTZjMWEp IChsb2dpZDphYWI5YzMyMCkgYWxlcnRUeXBlOjogOCAvLw0KPj4+ICAgICAgZGF0YUNlbnRlcklk OjogMSAvLw0KPj4+Pj4gcG9kSWQ6OiAxIC8vIGNsdXN0ZXJJZDo6IG51bGwgLy8gbWVzc2FnZTo6 IEZhaWxlZCB0byBkZXBsb3kNCj4+PiAgICAgIFZtIHdpdGggSWQ6IDYsDQo+Pj4+PiBvbiBIb3N0 IHdpdGggSWQ6IG51bGwNCj4+Pj4+IEVSUk9SIFtjLmMuYS5BcGlBc3luY0pvYkRpc3BhdGNoZXJd DQo+Pj4gICAgICAoQVBJLUpvYi1FeGVjdXRvci0xOmN0eC1mNzg3MjAxZA0KPj4+Pj4gam9iLTI1 KSAobG9naWQ6YWFiOWMzMjApIFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIGV4ZWN1dGluZw0K Pj4+Pj4gb3JnLmFwYWNoZS5jbG91ZHN0YWNrLmFwaS5jb21tYW5kLmFkbWluLnZtLkRlcGxveVZN Q21kQnlBZG1pbg0KPj4+Pj4gY29tLmNsb3VkLnV0aWxzLmV4Y2VwdGlvbi5DbG91ZFJ1bnRpbWVF eGNlcHRpb246IFVuYWJsZSB0bw0KPj4+ICAgICAgc3RhcnQgYSBWTSBkdWUNCj4+Pj4+IHRvIGlu c3VmZmljaWVudCBjYXBhY2l0eQ0KPj4+Pj4gYXQgY29tLmNsb3VkLnZtLlZpcnR1YWxNYWNoaW5l TWFuYWdlckltcGwuc3RhcnQoDQo+Pj4+PiBWaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsLmphdmE6 NjIzKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5lbmdpbmUuY2xv dWQuZW50aXR5LmFwaS5WTUVudGl0eU1hbmFnZXJJbXBsLg0KPj4+Pj4gZGVwbG95VmlydHVhbE1h Y2hpbmUoVk1FbnRpdHlNYW5hZ2VySW1wbC5qYXZhOjI0MikNCj4+Pj4+IGF0IG9yZy5hcGFjaGUu Y2xvdWRzdGFjay5lbmdpbmUuY2xvdWQuZW50aXR5LmFwaS4NCj4+Pj4+IA0KPj4+ICAgICAgVmly dHVhbE1hY2hpbmVFbnRpdHlJbXBsLmRlcGxveShWaXJ0dWFsTWFjaGluZUVudGl0eUltcGwuamF2 YToyMTIpDQo+Pj4+PiBhdCBjb20uY2xvdWQudm0uVXNlclZtTWFuYWdlckltcGwuc3RhcnRWaXJ0 dWFsTWFjaGluZSgNCj4+Pj4+IFVzZXJWbU1hbmFnZXJJbXBsLmphdmE6NDA4NCkNCj4+Pj4+IGF0 IGNvbS5jbG91ZC52bS5Vc2VyVm1NYW5hZ2VySW1wbC5zdGFydFZpcnR1YWxNYWNoaW5lKA0KPj4+ Pj4gVXNlclZtTWFuYWdlckltcGwuamF2YTozNjgyKQ0KPj4+Pj4gYXQgY29tLmNsb3VkLnZtLlVz ZXJWbU1hbmFnZXJJbXBsLnN0YXJ0VmlydHVhbE1hY2hpbmUoDQo+Pj4+PiBVc2VyVm1NYW5hZ2Vy SW1wbC5qYXZhOjM2NzApDQo+Pj4+PiBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlMChOYXRpdmUNCj4+PiAgICAgIE1ldGhvZCkNCj4+Pj4+IGF0IHN1bi5yZWZs ZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoDQo+Pj4+PiBOYXRpdmVNZXRob2RB Y2Nlc3NvckltcGwuamF2YTo2MikNCj4+Pj4+IGF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRo b2RBY2Nlc3NvckltcGwuaW52b2tlKA0KPj4+Pj4gRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w bC5qYXZhOjQzKQ0KPj4+Pj4gYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRo b2QuamF2YTo0OTgpDQo+Pj4+PiBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5zdXBwb3J0LkFv cFV0aWxzLg0KPj4+Pj4gaW52b2tlSm9pbnBvaW50VXNpbmdSZWZsZWN0aW9uKEFvcFV0aWxzLmph dmE6MzMzKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZyYW1l d29yay5SZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi4NCj4+Pj4+IGludm9rZUpvaW5wb2ludChS ZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi5qYXZhOjE5MCkNCj4+Pj4+IGF0DQo+Pj4gICAgICBv cmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5mcmFtZXdvcmsuUmVmbGVjdGl2ZU1ldGhvZEludm9jYXRp b24uDQo+Pj4+PiBwcm9jZWVkKFJlZmxlY3RpdmVNZXRob2RJbnZvY2F0aW9uLmphdmE6MTU3KQ0K Pj4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm5ldHdvcmsuY29udHJhaWwubWFuYWdlbWVu dC4NCj4+Pj4+IEV2ZW50VXRpbHMkRXZlbnRJbnRlcmNlcHRvci5pbnZva2UoRXZlbnRVdGlscy5q YXZhOjEwNykNCj4+Pj4+IGF0DQo+Pj4gICAgICBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5mcmFt ZXdvcmsuUmVmbGVjdGl2ZU1ldGhvZEludm9jYXRpb24uDQo+Pj4+PiBwcm9jZWVkKFJlZmxlY3Rp dmVNZXRob2RJbnZvY2F0aW9uLmphdmE6MTY4KQ0KPj4+Pj4gYXQgY29tLmNsb3VkLmV2ZW50LkFj dGlvbkV2ZW50SW50ZXJjZXB0b3IuaW52b2tlKA0KPj4+Pj4gQWN0aW9uRXZlbnRJbnRlcmNlcHRv ci5qYXZhOjUxKQ0KPj4+Pj4gYXQNCj4+PiAgICAgIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZy YW1ld29yay5SZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi4NCj4+Pj4+IHByb2NlZWQoUmVmbGVj dGl2ZU1ldGhvZEludm9jYXRpb24uamF2YToxNjgpDQo+Pj4+PiBhdA0KPj4+ICAgICAgb3JnLnNw cmluZ2ZyYW1ld29yay5hb3AuaW50ZXJjZXB0b3IuRXhwb3NlSW52b2NhdGlvbkludGVyY2VwdG9y Lg0KPj4+Pj4gaW52b2tlKEV4cG9zZUludm9jYXRpb25JbnRlcmNlcHRvci5qYXZhOjkyKQ0KPj4+ Pj4gYXQNCj4+PiAgICAgIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZyYW1ld29yay5SZWZsZWN0 aXZlTWV0aG9kSW52b2NhdGlvbi4NCj4+Pj4+IHByb2NlZWQoUmVmbGVjdGl2ZU1ldGhvZEludm9j YXRpb24uamF2YToxNzkpDQo+Pj4+PiBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5mcmFtZXdv cmsuSmRrRHluYW1pY0FvcFByb3h5Lg0KPj4+Pj4gaW52b2tlKEpka0R5bmFtaWNBb3BQcm94eS5q YXZhOjIxMykNCj4+Pj4+IGF0IGNvbS5zdW4ucHJveHkuJFByb3h5MTg2LnN0YXJ0VmlydHVhbE1h Y2hpbmUoVW5rbm93bg0KPj4+ICAgICAgU291cmNlKQ0KPj4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91 ZHN0YWNrLmFwaS5jb21tYW5kLmFkbWluLnZtLg0KPj4+Pj4gRGVwbG95Vk1DbWRCeUFkbWluLmV4 ZWN1dGUoRGVwbG95Vk1DbWRCeUFkbWluLmphdmE6NTApDQo+Pj4+PiBhdA0KPj4+ICAgICAgY29t LmNsb3VkLmFwaS5BcGlEaXNwYXRjaGVyLmRpc3BhdGNoKEFwaURpc3BhdGNoZXIuamF2YToxNTAp DQo+Pj4+PiBhdCBjb20uY2xvdWQuYXBpLkFwaUFzeW5jSm9iRGlzcGF0Y2hlci5ydW5Kb2IoDQo+ Pj4+PiBBcGlBc3luY0pvYkRpc3BhdGNoZXIuamF2YToxMDgpDQo+Pj4+PiBhdA0KPj4+ICAgICAg b3JnLmFwYWNoZS5jbG91ZHN0YWNrLmZyYW1ld29yay5qb2JzLmltcGwuQXN5bmNKb2JNYW5hZ2Vy SW1wbCQ1Lg0KPj4+Pj4gcnVuSW5Db250ZXh0KEFzeW5jSm9iTWFuYWdlckltcGwuamF2YTo1NTQp DQo+Pj4+PiBhdA0KPj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4 dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEucnVuKA0KPj4+Pj4gTWFuYWdlZENvbnRleHRSdW5u YWJsZS5qYXZhOjQ5KQ0KPj4+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29u dGV4dC5pbXBsLg0KPj4+Pj4gRGVmYXVsdE1hbmFnZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0TWFu YWdlZENvbnRleHQuamF2YTo1NikNCj4+Pj4+IGF0DQo+Pj4gICAgICBvcmcuYXBhY2hlLmNsb3Vk c3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KPj4+Pj4g Y2FsbFdpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykNCj4+Pj4+IGF0 DQo+Pj4gICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVm YXVsdE1hbmFnZWRDb250ZXh0Lg0KPj4+Pj4gcnVuV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRD b250ZXh0LmphdmE6NTMpDQo+Pj4+PiBhdA0KPj4+ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNr Lm1hbmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bigNCj4+Pj4+IE1hbmFn ZWRDb250ZXh0UnVubmFibGUuamF2YTo0NikNCj4+Pj4+IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFj ay5mcmFtZXdvcmsuam9icy5pbXBsLg0KPj4+Pj4gQXN5bmNKb2JNYW5hZ2VySW1wbCQ1LnJ1bihB c3luY0pvYk1hbmFnZXJJbXBsLmphdmE6NTAyKQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJl bnQuRXhlY3V0b3JzJFJ1bm5hYmxlQWRhcHRlci4NCj4+Pj4+IGNhbGwoRXhlY3V0b3JzLmphdmE6 NTExKQ0KPj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJl VGFzay5qYXZhOjI2NikNCj4+Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xF eGVjdXRvci5ydW5Xb3JrZXIoDQo+Pj4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKQ0K Pj4+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5y dW4oDQo+Pj4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQo+Pj4+PiBhdCBqYXZhLmxh bmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQo+Pj4+PiBDYXVzZWQgYnk6DQo+Pj4gICAg ICBjb20uY2xvdWQuZXhjZXB0aW9uLkluc3VmZmljaWVudFNlcnZlckNhcGFjaXR5RXhjZXB0aW9u Og0KPj4+Pj4gVW5hYmxlIHRvIGNyZWF0ZSBhIGRlcGxveW1lbnQgZm9yDQo+Pj4gICAgICBWTVtV c2VyfGktMi02LVZNXVNjb3BlPWludGVyZmFjZQ0KPj4+Pj4gY29tLmNsb3VkLmRjLkRhdGFDZW50 ZXI7IGlkPTENCj4+Pj4+IGF0IGNvbS5jbG91ZC52bS5WaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBs Lm9yY2hlc3RyYXRlU3RhcnQoDQo+Pj4+PiBWaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsLmphdmE6 OTYxKQ0KPj4+Pj4gYXQgY29tLmNsb3VkLnZtLlZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwub3Jj aGVzdHJhdGVTdGFydCgNCj4+Pj4+IFZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwuamF2YTo0NjYx KQ0KPj4+Pj4gYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAo TmF0aXZlDQo+Pj4gICAgICBNZXRob2QpDQo+Pj4+PiAuLi4gMTggbW9yZQ0KPj4+Pj4gDQo+Pj4+ PiBPbiAzLzEvMTcsIDg6NTIgQU0sICJQaWVycmUtTHVjIERpb24iIDxwZGlvbjg5MUBhcGFjaGUu b3JnPg0KPj4+ICAgICAgd3JvdGU6DQo+Pj4+PiANCj4+Pj4+IERvIHdlIHN1cHBvcnQgY2VudG9z NiB3aXRoIHRoaXMgNC4xMCBvbiBqZGs4Pw0KPj4+Pj4gDQo+Pj4+PiBCZWNhdXNlIEkgZGlkIG5v dCBoYWQgbXVjaCBzdWNjZXNzIHRvIGluc3RhbGwgNC4xMCBqZGs4IG9uDQo+Pj4gICAgICBjZW50 b3M2DQo+Pj4+PiBhbmQgaXQNCj4+Pj4+IHdvdWxkIG1ha2UgbW9yZSBzZW5zZSB0byBkcm9wIHN1 cHBvcnQgb2YgY2VudG9zNiBzbyBvdXINCj4+PiAgICAgIHBhY2thZ2VzIHdvdWxkDQo+Pj4+PiB1 c2UNCj4+Pj4+IGNlbnRvczcgd2l0aCBkaXN0cm8gcGFja2FnZXMgZm9yIHRvbWNhdDcgYW5kIGpk azguIFNob3VsZA0KPj4+ICAgICAgYWxzbyBiZSB0aGUNCj4+Pj4+IHNhbWUNCj4+Pj4+IHdpdGgg dWJ1bnR1IDE2LjA0IHRoYXQgdXNlIGpkazggYW5kIHRvbWNhdDcgYnkgZGVmYXVsdCA/DQo+Pj4+ PiANCj4+Pj4+IA0KPj4+Pj4gdGhhbmtzLA0KPj4+Pj4gDQo+Pj4+PiANCj4+Pj4+PiBPbiBXZWQs IE1hciAxLCAyMDE3IGF0IDk6MDEgQU0sIFJlbmUgTW9zZXINCj4+PiAgICAgIDxtYWlsQHJlbmVt b3Nlci5uZXQ+IHdyb3RlOg0KPj4+Pj4+IA0KPj4+Pj4+IEhpDQo+Pj4+Pj4gDQo+Pj4+Pj4gV2hp bGUgbm90IGJlIGRpcmVjdGx5IHJlbGF0ZWQgdG8gdGhlIGNsb2R1c3RhY2sgamF2YSBzb3VyY2UN Cj4+PiAgICAgIGNvZGUsIGFueQ0KPj4+Pj4+IFJQTSBjcmVhdGVkIHVzaW5nIHRoZSBzcGVjcyBm cm9tIHRoZSByZXBvIGUuZy4gZnJvbQ0KPj4+ICAgICAgcGFja2FnZXMvY2VudG9zNw0KPj4+Pj4+ IGFuZCBwcm9jZWVkaW5nIGFuIHVwZ3JhZGUsIHdpbGwgaGl0IENMT1VEU1RBQ0stOTc2NSwgUFIN Cj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2Nsb3Vkc3RhY2svcHVsbC8xOTIzIGZp eGVzIHRoZQ0KPj4+ICAgICAgaXNzdWUuDQo+Pj4+Pj4gDQo+Pj4+Pj4gUmVnYXJkcw0KPj4+Pj4+ IFJlbsOpDQo+Pj4+Pj4gDQo+Pj4+Pj4gDQo+Pj4+Pj4+IE9uIDAzLzAxLzIwMTcgMDI6MTIgQU0s IFJhamFuaSBLYXJ1dHVyaSB3cm90ZToNCj4+Pj4+Pj4gSGkgQWxsLA0KPj4+Pj4+PiANCj4+Pj4+ Pj4gSSd2ZSBjcmVhdGVkIGEgNC4xMC4wLjAgcmVsZWFzZSwgd2l0aCB0aGUgZm9sbG93aW5nDQo+ Pj4gICAgICBhcnRpZmFjdHMgdXANCj4+Pj4+IGZvciBhDQo+Pj4+Pj4gdm90ZToNCj4+Pj4+Pj4g DQo+Pj4+Pj4+IEdpdCBCcmFuY2ggYW5kIENvbW1pdA0KPj4+Pj4+PiBTSDpodHRwczovL2dpdC13 aXAtdXMuYXBhY2hlLm9yZy9yZXBvcy9hc2Y/cD1jbG91ZHN0YWNrLg0KPj4+Pj4+IGdpdDthPXNo b3J0bG9nO2g9cmVmcy9oZWFkcy80LjEwLjAuMC1SQzIwMTcwMzAxVDA2MzQNCj4+Pj4+Pj4gQ29t bWl0OjdjMWQwMDNiNTI2OWIzNzVkODdmNGY2Y2ZmZjhhMTQ0ZjA2MDhiNjcNCj4+Pj4+Pj4gPGh0 dHBzOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9zL2FzZj9wPWNsb3Vkc3RhY2suDQo+Pj4+ Pj4gZ2l0O2E9c2hvcnRsb2c7aD1yZWZzL2hlYWRzLzQuMTAuMC4wLVJDMjAxNzAzMDFUMDYzNENv bW1pdDoNCj4+Pj4+PiA3YzFkMDAzYjUyNjliMzc1ZDg3ZjRmNmNmZmY4YTE0NGYwNjA4YjY3Pg0K Pj4+Pj4+PiANCj4+Pj4+Pj4gU291cmNlIHJlbGVhc2UgKGNoZWNrc3VtcyBhbmQgc2lnbmF0dXJl cyBhcmUgYXZhaWxhYmxlIGF0DQo+Pj4gICAgICB0aGUgc2FtZQ0KPj4+Pj4+PiANCj4+PiAgICAg IGxvY2F0aW9uKTpodHRwczovL2Rpc3QuYXBhY2hlLm9yZy9yZXBvcy9kaXN0L2Rldi9jbG91ZHN0 YWNrLw0KPj4+Pj4gNC4xMC4wLjAvDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBQR1AgcmVsZWFzZSBrZXlz IChzaWduZWQgdXNpbmcNCj4+Pj4+Pj4gQ0JCNDQ4MjEpOmh0dHBzOi8vZGlzdC5hcGFjaGUub3Jn L3JlcG9zL2Rpc3QvcmVsZWFzZS8NCj4+Pj4+IGNsb3Vkc3RhY2svS0VZUw0KPj4+Pj4+PiANCj4+ Pj4+Pj4gVm90ZSB3aWxsIGJlIG9wZW4gZm9yIDcyIGhvdXJzLg0KPj4+Pj4+PiANCj4+Pj4+Pj4g Rm9yIHNhbml0eSBpbiB0YWxseWluZyB0aGUgdm90ZSwgY2FuIFBNQyBtZW1iZXJzIHBsZWFzZSBi ZQ0KPj4+ICAgICAgc3VyZSB0bw0KPj4+Pj4+PiBpbmRpY2F0ZSAiKGJpbmRpbmcpIiB3aXRoIHRo ZWlyIHZvdGU/DQo+Pj4+Pj4+IA0KPj4+Pj4+PiBbIF0gKzEgYXBwcm92ZQ0KPj4+Pj4+PiBbIF0g KzAgbm8gb3Bpbmlvbg0KPj4+Pj4+PiBbIF0gLTEgZGlzYXBwcm92ZSAoYW5kIHJlYXNvbiB3aHkp DQo+Pj4+Pj4+IA0KPj4+Pj4+PiANCj4+Pj4+Pj4gDQo+Pj4+Pj4+IH5SYWphbmkNCj4+Pj4+Pj4g aHR0cDovL2Nsb3VkcGxhdGZvcm0uYWNjZWxlcml0ZS5jb20vDQo+Pj4+Pj4+IA0KPj4+Pj4+IA0K Pj4+Pj4gDQo+Pj4+PiANCj4+Pj4+IA0KPj4+IA0KPj4+ICAgICAgcm9oaXQueWFkYXZAc2hhcGVi bHVlLmNvbQ0KPj4+ICAgICAgd3d3LnNoYXBlYmx1ZS5jb208aHR0cDovL3d3dy5zaGFwZWJsdWUu Y29tIA0KPj4+ICAgICAgKCBodHRwOi8vd3d3LnNoYXBlYmx1ZS5jb208aHR0cDovL3d3dy5zaGFw ZWJsdWUuY29tICk+DQo+Pj4gICAgICA1MyBDaGFuZG9zIFBsYWNlLCBDb3ZlbnQgR2FyZGVuLCBM b25kb24gV0MyTiA0SFNVSw0KPj4+ICAgICAgQHNoYXBlYmx1ZQ0KPj4+IA0KPj4+ICAgICAgRElT Q0xBSU1FUg0KPj4+ICAgICAgPT09PT09PT09PQ0KPj4+ICAgICAgVGhpcyBlLW1haWwgbWF5IGNv bnRhaW4gcHJpdmlsZWdlZCBhbmQgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uDQo+Pj4gICAgICB3 aGljaCBpcyB0aGUgcHJvcGVydHkgb2YgQWNjZWxlcml0ZSwgYSBQZXJzaXN0ZW50IFN5c3RlbXMN Cj4+PiAgICAgIGJ1c2luZXNzLiBJdCBpcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgdXNlIG9mIHRo ZSBpbmRpdmlkdWFsIG9yDQo+Pj4gICAgICBlbnRpdHkgdG8gd2hpY2ggaXQgaXMgYWRkcmVzc2Vk LiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQNCj4+PiAgICAgIHJlY2lwaWVudCwgeW91IGFy ZSBub3QgYXV0aG9yaXplZCB0byByZWFkLCByZXRhaW4sIGNvcHksIHByaW50LA0KPj4+ICAgICAg ZGlzdHJpYnV0ZSBvciB1c2UgdGhpcyBtZXNzYWdlLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlz DQo+Pj4gICAgICBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5k ZXIgYW5kIGRlbGV0ZSBhbGwNCj4+PiAgICAgIGNvcGllcyBvZiB0aGlzIG1lc3NhZ2UuIEFjY2Vs ZXJpdGUsIGEgUGVyc2lzdGVudCBTeXN0ZW1zIGJ1c2luZXNzDQo+Pj4gICAgICBkb2VzIG5vdCBh Y2NlcHQgYW55IGxpYWJpbGl0eSBmb3IgdmlydXMgaW5mZWN0ZWQgbWFpbHMuDQo+Pj4gDQo+Pj4g ICAgICByb2hpdC55YWRhdkBzaGFwZWJsdWUuY29tDQo+Pj4gICAgICB3d3cuc2hhcGVibHVlLmNv bSAoIGh0dHA6Ly93d3cuc2hhcGVibHVlLmNvbSApDQo+Pj4gICAgICA1MyBDaGFuZG9zIFBsYWNl LCBDb3ZlbnQgR2FyZGVuLCBMb25kb24gV0MyTiA0SFNVSw0KPj4+ICAgICAgQHNoYXBlYmx1ZQ0K Pj4+IA0KPj4+IA0KPj4+IA0KPj4gDQo+PiANCj4gDQo+IA0KPiANCj4gDQo+IA0KPiANCg==