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 A1AB4200B72 for ; Fri, 12 Aug 2016 01:04:18 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A043B160AB4; Thu, 11 Aug 2016 23:04:18 +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 1E052160A93 for ; Fri, 12 Aug 2016 01:04:16 +0200 (CEST) Received: (qmail 47926 invoked by uid 500); 11 Aug 2016 23:04:16 -0000 Mailing-List: contact commits-help@flex.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flex.apache.org Delivered-To: mailing list commits@flex.apache.org Received: (qmail 47910 invoked by uid 99); 11 Aug 2016 23:04:16 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Aug 2016 23:04:16 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id DDAA5CB66E; Thu, 11 Aug 2016 23:04:15 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.678 X-Spam-Level: X-Spam-Status: No, score=0.678 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=adobe.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id U82WI7zozM1o; Thu, 11 Aug 2016 23:04:13 +0000 (UTC) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0047.outbound.protection.outlook.com [104.47.37.47]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id D669A5F307; Thu, 11 Aug 2016 23:04:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adobe.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=YGDfdOjJnm3Obk0S13qqVjloqsymwiZSAE+IGHiPqGo=; b=qUvH/fo4TSzuxOLgn4i1QRCOEmBZIROehitYJlcCdzpAYiK5zmTfz7IYdD5h4jUbNPzynHzgqjqSLvJw2rb6yv8qNdVhs5pgJi+3SDAl/jaaIc6g9l6TGc8Aif59Wzeg7XNHUX1LlGGy/5h6as2Twq3qxb708AciraE0tHmOBzk= Received: from CY1PR0201MB1529.namprd02.prod.outlook.com (10.163.139.20) by CY1PR0201MB1530.namprd02.prod.outlook.com (10.163.139.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15; Thu, 11 Aug 2016 23:04:03 +0000 Received: from CY1PR0201MB1529.namprd02.prod.outlook.com ([10.163.139.20]) by CY1PR0201MB1529.namprd02.prod.outlook.com ([10.163.139.20]) with mapi id 15.01.0549.025; Thu, 11 Aug 2016 23:04:03 +0000 From: Alex Harui To: "dev@flex.apache.org" , "commits@flex.apache.org" Subject: Re: git commit: [flex-asjs] [refs/heads/refactor-sprite] - Allow classes that don't implement IChild to have a $displayObject, and other changes to make drag&drop work in flash. Thread-Topic: git commit: [flex-asjs] [refs/heads/refactor-sprite] - Allow classes that don't implement IChild to have a $displayObject, and other changes to make drag&drop work in flash. Thread-Index: AQHR88gjaFqLevzEGkWKQqUbI7egT6BD7GEA Date: Thu, 11 Aug 2016 23:04:03 +0000 Message-ID: References: <9c884db759464402afe479b9cee6608c@git.apache.org> In-Reply-To: <9c884db759464402afe479b9cee6608c@git.apache.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.6.6.160626 authentication-results: spf=none (sender IP is ) smtp.mailfrom=aharui@adobe.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [73.221.171.177] x-ms-office365-filtering-correlation-id: 4bfbedb2-0a49-46d3-d06e-08d3c23bc9d6 x-microsoft-exchange-diagnostics: 1;CY1PR0201MB1530;6:KylcCRyeOCU/xLW7nLzeLp5jnvUQg4p6JWrsyHiJ9L3pWWo6rVcagYf8c5OIn9iR+xFqIU+bmn0qAoFA8N65HH4lZQ2Q6dAHcybhBaxSEaC+ip46w77d/JHbysjhvrm3xYET187GwuH06RiKqn2IzoEQS25Un9iwGKFfYuopNOZ5PbGyr21SlyamN1pdfMkHvupZsR6Z1lgG3NBqgkGMongZXxcuu4HolT5LRxlUJou/dSSh7XoeWb3jLlzf3TcIdvOTKk4SQmzDoXznjvT+bThlhcqHMf+sM4JaLWpV/BVAnMIz1J8MYxoVx9o+sHzju6vTzk/nmqZItrqWMzsDFw==;5:Ccyixq2P+cyOXKIRJnN/zGG+FDP5HkYNrLjIrEdP5RjCrzaa5v2vB2S+2s9WQrNr9jyv+CTRpJ3w7MT8sWSvIvAC0JzMK6l1jTJIKo/CVsq0jt6ZGFjhcEuySrdEKjfBDIBlOa18ulhOF22HtoV2Xg==;24:KTFPVUgTxnMXvq4PtWtTgXdoWvH0jtW8jIzIUbAlMiKEwM6rg3UluDud8PphNvwAB3YHOHuuarpDB4CEmBJrRk9ZwJRnys+53h9+nNz8QX0=;7:XIYFXmilIL7u2YnmucwvKvCHQUV5oJd74SOcF08Y8q9rsrepds/4UkijatSqOTUtWNoKBfBSDvdzmrGFUoaiQHuv7gLd79OOiSo/zAtX1yAKjkNzOanBbRr6j2Iwo47azmE+7c9WJwVG+87fw9aqvQY75sX78Vz79Pz15bqObtQRDLP1ohnnptD7W1SVQEIgZDj6hxmMKDnx1VUBP2gBVgUju77BJ+BBPDanq/7e3/kX+xvNwaH4pr1EDerp5I5Y x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1530; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(250069074691196)(278021236550800)(151460858550080)(194151415913766)(5213294742642); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(61425038)(6040174)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(61426038)(61427038);SRVR:CY1PR0201MB1530;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1530; x-forefront-prvs: 0031A0FFAF x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(7916002)(24454002)(199003)(189002)(377454003)(101416001)(10400500002)(86362001)(19580405001)(19580395003)(99286002)(76176999)(106356001)(10090500001)(3280700002)(54356999)(87936001)(36756003)(50986999)(83506001)(106116001)(7736002)(586003)(8936002)(66066001)(1720100001)(6116002)(450100001)(4001350100001)(5002640100001)(97736004)(122556002)(2950100001)(8676002)(305945005)(81166006)(81156014)(102836003)(3660700001)(2906002)(68736007)(5001770100001)(2900100001)(189998001)(107886002)(105586002)(15975445007)(77096005)(11100500001)(3846002)(2501003)(92566002)(7846002)(579004);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0201MB1530;H:CY1PR0201MB1529.namprd02.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: adobe.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: adobe.com X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2016 23:04:03.2197 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fa7b1b5a-7b34-4387-94ae-d2c178decee1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0201MB1530 archived-at: Thu, 11 Aug 2016 23:04:18 -0000 SGkgWWlzaGF5LA0KDQpDYW4geW91IGV4cGxhaW4gd2h5IElSZW5kZXJlZE9iamVjdCB3YXMgbmVl ZGVkPw0KDQpUaGFua3MsDQotQWxleA0KDQpPbiA4LzExLzE2LCA1OjAxIEFNLCAieWlzaGF5d0Bh cGFjaGUub3JnIiA8eWlzaGF5d0BhcGFjaGUub3JnPiB3cm90ZToNCg0KPlJlcG9zaXRvcnk6IGZs ZXgtYXNqcw0KPlVwZGF0ZWQgQnJhbmNoZXM6DQo+ICByZWZzL2hlYWRzL3JlZmFjdG9yLXNwcml0 ZSA0NTU4MTI2ZDAgLT4gOTcxY2RmM2QxDQo+DQo+DQo+QWxsb3cgY2xhc3NlcyB0aGF0IGRvbid0 IGltcGxlbWVudCBJQ2hpbGQgdG8gaGF2ZSBhICRkaXNwbGF5T2JqZWN0LCBhbmQNCj5vdGhlciBj aGFuZ2VzIHRvIG1ha2UgZHJhZyZkcm9wIHdvcmsgaW4gZmxhc2guDQo+DQo+DQo+UHJvamVjdDog aHR0cDovL2dpdC13aXAtdXMuYXBhY2hlLm9yZy9yZXBvcy9hc2YvZmxleC1hc2pzL3JlcG8NCj5D b21taXQ6IGh0dHA6Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVwb3MvYXNmL2ZsZXgtYXNqcy9j b21taXQvOTcxY2RmM2QNCj5UcmVlOiBodHRwOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9z L2FzZi9mbGV4LWFzanMvdHJlZS85NzFjZGYzZA0KPkRpZmY6IGh0dHA6Ly9naXQtd2lwLXVzLmFw YWNoZS5vcmcvcmVwb3MvYXNmL2ZsZXgtYXNqcy9kaWZmLzk3MWNkZjNkDQo+DQo+QnJhbmNoOiBy ZWZzL2hlYWRzL3JlZmFjdG9yLXNwcml0ZQ0KPkNvbW1pdDogOTcxY2RmM2QxMjc0ODllNGYzOGEx NTM1NTJiN2FjNzlmYWY1Yjk2Yg0KPlBhcmVudHM6IDQ1NTgxMjYNCj5BdXRob3I6IHlpc2hheXcg PHlpc2hheWpvYnNAaG90bWFpbC5jb20+DQo+QXV0aG9yZWQ6IFRodSBBdWcgMTEgMTU6MDE6MzQg MjAxNiArMDMwMA0KPkNvbW1pdHRlcjogeWlzaGF5dyA8eWlzaGF5am9ic0Bob3RtYWlsLmNvbT4N Cj5Db21taXR0ZWQ6IFRodSBBdWcgMTEgMTU6MDE6MzQgMjAxNiArMDMwMA0KPg0KPi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gLi4uL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2NvcmUvQXBwbGljYXRpb24uYXMgICAg fCAgMiArLQ0KPiAuLi4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9DYWxsTGF0ZXJCZWFkLmFz ICB8ICA1ICstLQ0KPiAuLi4vbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL0lDaGlsZC5h cyAgICB8IDEyICstLS0tLQ0KPiAuLi4vb3JnL2FwYWNoZS9mbGV4L2NvcmUvSVJlbmRlcmVkT2Jq ZWN0LmFzICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrDQo+IC4uLi9vcmcvYXBhY2hlL2Zs ZXgvY29yZS9XcmFwcGVkTW92aWVDbGlwLmFzICAgIHwgMTAgKysrKy0NCj4gLi4uL2ZsZXgvb3Jn L2FwYWNoZS9mbGV4L2NvcmUvV3JhcHBlZFNoYXBlLmFzICAgfCAxMCArKysrLQ0KPiAuLi4vb3Jn L2FwYWNoZS9mbGV4L2NvcmUvV3JhcHBlZFNpbXBsZUJ1dHRvbi5hcyB8IDEwICsrKystDQo+IC4u Li9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL1dyYXBwZWRTcHJpdGUuYXMgIHwgMTAgKysrKy0N Cj4gLi4uL29yZy9hcGFjaGUvZmxleC9jb3JlL1dyYXBwZWRUZXh0RmllbGQuYXMgICAgfCAgOSAr KystDQo+IC4uLi9mbGV4L29yZy9hcGFjaGUvZmxleC9ldmVudHMvRHJhZ0V2ZW50LmFzICAgIHwg IDIgKy0NCj4gLi4uL2JlYWRzL2NvbnRyb2xsZXJzL0RyYWdNb3VzZUNvbnRyb2xsZXIuYXMgICAg fCAgNiArLS0NCj4gLi4uL29yZy9hcGFjaGUvZmxleC9lZmZlY3RzL1BsYXRmb3JtV2lwZXIuYXMg ICAgfCAgNyArKy0tDQo+IDEyIGZpbGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKyksIDI4IGRl bGV0aW9ucygtKQ0KPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4NCj4NCj5odHRwOi8vZ2l0LXdpcC11cy5hcGFj aGUub3JnL3JlcG9zL2FzZi9mbGV4LWFzanMvYmxvYi85NzFjZGYzZC9mcmFtZXdvcmtzLw0KPnBy b2plY3RzL0NvcmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9BcHBsaWNhdGlv bi5hcw0KPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj5kaWZmIC0tZ2l0IA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0 cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2NvcmUvQXBwbGljYXRpb24uDQo+ YXMgDQo+Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0NvcmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hl L2ZsZXgvY29yZS9BcHBsaWNhdGlvbi4NCj5hcw0KPmluZGV4IGM3Y2M0MDIuLjBhOWM2OWEgMTAw NjQ0DQo+LS0tIA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3Jn L2FwYWNoZS9mbGV4L2NvcmUvQXBwbGljYXRpb24uDQo+YXMNCj4rKysgDQo+Yi9mcmFtZXdvcmtz L3Byb2plY3RzL0NvcmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9BcHBsaWNh dGlvbi4NCj5hcw0KPkBAIC0xMTMsNyArMTEzLDcgQEAgcGFja2FnZSBvcmcuYXBhY2hlLmZsZXgu Y29yZQ0KPiAgICAgICogIEBwbGF5ZXJ2ZXJzaW9uIEFJUiAyLjYNCj4gICAgICAqICBAcHJvZHVj dHZlcnNpb24gRmxleEpTIDAuMA0KPiAgICAgICovDQo+LSAgICBwdWJsaWMgY2xhc3MgQXBwbGlj YXRpb24gZXh0ZW5kcyBBcHBsaWNhdGlvbkJhc2UgaW1wbGVtZW50cyBJU3RyYW5kLA0KPklQYXJl bnQsIElFdmVudERpc3BhdGNoZXIsIElTV0ZBcHBsaWNhdGlvbiwgSVBvcFVwSG9zdA0KPisgICAg cHVibGljIGNsYXNzIEFwcGxpY2F0aW9uIGV4dGVuZHMgQXBwbGljYXRpb25CYXNlIGltcGxlbWVu dHMgSVN0cmFuZCwNCj5JUGFyZW50LCBJRXZlbnREaXNwYXRjaGVyLCBJU1dGQXBwbGljYXRpb24s IElQb3BVcEhvc3QsIElSZW5kZXJlZE9iamVjdA0KPiAgICAgew0KPiAgICAgICAgIC8qKg0KPiAg ICAgICAgICAqICBDb25zdHJ1Y3Rvci4NCj4NCj5odHRwOi8vZ2l0LXdpcC11cy5hcGFjaGUub3Jn L3JlcG9zL2FzZi9mbGV4LWFzanMvYmxvYi85NzFjZGYzZC9mcmFtZXdvcmtzLw0KPnByb2plY3Rz L0NvcmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9DYWxsTGF0ZXJCZWFkLmFz DQo+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPmRpZmYgLS1naXQgDQo+YS9mcmFtZXdvcmtzL3Byb2plY3RzL0Nv cmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9DYWxsTGF0ZXJCZWENCj5kLmFz IA0KPmIvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9m bGV4L2NvcmUvQ2FsbExhdGVyQmVhDQo+ZC5hcw0KPmluZGV4IDY5NDQyOTAuLjZiYWYwMmQgMTAw NjQ0DQo+LS0tIA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3Jn L2FwYWNoZS9mbGV4L2NvcmUvQ2FsbExhdGVyQmVhDQo+ZC5hcw0KPisrKyANCj5iL2ZyYW1ld29y a3MvcHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL0NhbGxM YXRlckJlYQ0KPmQuYXMNCj5AQCAtMjAsNyArMjAsNiBAQCBwYWNrYWdlIG9yZy5hcGFjaGUuZmxl eC5jb3JlDQo+IHsNCj4gICAgIENPTVBJTEU6OlNXRg0KPiAgICAgew0KPi0gICAgICAgIGltcG9y dCBmbGFzaC5kaXNwbGF5LkRpc3BsYXlPYmplY3Q7DQo+ICAgICAgICAgaW1wb3J0IGZsYXNoLmV2 ZW50cy5FdmVudDsNCj4gICAgIH0NCj4gICAgIA0KPkBAIC05MSw3ICs5MCw3IEBAIHBhY2thZ2Ug b3JnLmFwYWNoZS5mbGV4LmNvcmUNCj4gICAgICAgICB7DQo+ICAgICAgICAgICAgIENPTVBJTEU6 OlNXRg0KPiAgICAgICAgICAgICB7DQo+LSAgICAgICAgICAgICAgICAoX3N0cmFuZCBhcw0KPlVJ SFRNTEVsZW1lbnRXcmFwcGVyKS4kZGlzcGxheU9iamVjdC5hZGRFdmVudExpc3RlbmVyKEV2ZW50 LkVOVEVSX0ZSQU1FLA0KPmVudGVyRnJhbWVIYW5kbGVyKTsNCj4rICAgICAgICAgICAgICAgIChf c3RyYW5kIGFzDQo+SVJlbmRlcmVkT2JqZWN0KS4kZGlzcGxheU9iamVjdC5hZGRFdmVudExpc3Rl bmVyKEV2ZW50LkVOVEVSX0ZSQU1FLA0KPmVudGVyRnJhbWVIYW5kbGVyKTsNCj4gICAgICAgICAg ICAgfQ0KPiAgICAgICAgICAgICBpZiAoY2FsbHMgPT0gbnVsbCkNCj4gICAgICAgICAgICAgICAg IGNhbGxzID0gWyB7dGhpc0FyZzogdGhpc0FyZywgZm46IGZuLCBhcmdzOiBhcmdzIH0gXTsNCj5A QCAtMTA3LDcgKzEwNiw3IEBAIHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LmNvcmUNCj4gICAgICAg ICBDT01QSUxFOjpTV0YNCj4gICAgICAgICBwcml2YXRlIGZ1bmN0aW9uIGVudGVyRnJhbWVIYW5k bGVyKGV2ZW50OkV2ZW50KTp2b2lkDQo+ICAgICAgICAgew0KPi0gICAgICAgICAgICAoX3N0cmFu ZCBhcw0KPlVJSFRNTEVsZW1lbnRXcmFwcGVyKS4kZGlzcGxheU9iamVjdC5yZW1vdmVFdmVudExp c3RlbmVyKEV2ZW50LkVOVEVSX0ZSQU1FDQo+LCBlbnRlckZyYW1lSGFuZGxlcik7DQo+KyAgICAg ICAgICAgIChfc3RyYW5kIGFzDQo+SVJlbmRlcmVkT2JqZWN0KS4kZGlzcGxheU9iamVjdC5yZW1v dmVFdmVudExpc3RlbmVyKEV2ZW50LkVOVEVSX0ZSQU1FLA0KPmVudGVyRnJhbWVIYW5kbGVyKTsN Cj4gICAgICAgICAgICAgbWFrZUNhbGxzKCk7DQo+ICAgICAgICAgfQ0KPiAgICAgICAgIA0KPg0K Pmh0dHA6Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVwb3MvYXNmL2ZsZXgtYXNqcy9ibG9iLzk3 MWNkZjNkL2ZyYW1ld29ya3MvDQo+cHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFj aGUvZmxleC9jb3JlL0lDaGlsZC5hcw0KPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj5kaWZmIC0tZ2l0IA0KPmEv ZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2Nv cmUvSUNoaWxkLmFzDQo+Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0NvcmUvc3JjL21haW4vZmxleC9v cmcvYXBhY2hlL2ZsZXgvY29yZS9JQ2hpbGQuYXMNCj5pbmRleCAzMGEzNThmLi5hMzkxYTZlIDEw MDc1NQ0KPi0tLSANCj5hL2ZyYW1ld29ya3MvcHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29y Zy9hcGFjaGUvZmxleC9jb3JlL0lDaGlsZC5hcw0KPisrKyANCj5iL2ZyYW1ld29ya3MvcHJvamVj dHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL0lDaGlsZC5hcw0KPkBA IC0xOCwxMCArMTgsNiBAQA0KPiANCj4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KPi8vLy8vLw0KPiBwYWNr YWdlIG9yZy5hcGFjaGUuZmxleC5jb3JlDQo+IHsNCj4tQ09NUElMRTo6U1dGDQo+LXsNCj4tICAg IGltcG9ydCBmbGFzaC5kaXNwbGF5LkRpc3BsYXlPYmplY3Q7DQo+LX0NCj4gICAgIC8qKg0KPiAg ICAgICogIFRoZSBJQ2hpbGQgaW50ZXJmYWNlIGlzIHRoZSBiYXNpYyBpbnRlcmZhY2UgZm9yIGEN Cj4gICAgICAqICBjb21wb25lbnQgdGhhdCBpcyBwYXJlbnRlZCBieSBhbm90aGVyIGNvbXBvbmVu dC4NCj5AQCAtMzEsNyArMjcsNyBAQCBDT01QSUxFOjpTV0YNCj4gICAgICAqICBAcGxheWVydmVy c2lvbiBBSVIgMi42DQo+ICAgICAgKiAgQHByb2R1Y3R2ZXJzaW9uIEZsZXhKUyAwLjANCj4gICAg ICAqLw0KPi0gICAgcHVibGljIGludGVyZmFjZSBJQ2hpbGQNCj4rICAgIHB1YmxpYyBpbnRlcmZh Y2UgSUNoaWxkIGV4dGVuZHMgSVJlbmRlcmVkT2JqZWN0DQo+IAl7DQo+ICAgICAgICAgDQo+ICAg ICAgICAgLyoqDQo+QEAgLTQ0LDEyICs0MCw2IEBAIENPTVBJTEU6OlNXRg0KPiAgICAgICAgICAq Lw0KPiAgICAgICAgIGZ1bmN0aW9uIGdldCBwYXJlbnQoKTpJUGFyZW50Ow0KPiAgICAgICAgIA0K Pi0gICAgICAgIENPTVBJTEU6OlNXRg0KPi0gICAgICAgIGZ1bmN0aW9uIGdldCAkZGlzcGxheU9i amVjdCgpOkRpc3BsYXlPYmplY3Q7DQo+LSAgICAgICAgDQo+LSAgICAgICAgQ09NUElMRTo6SlMN Cj4tICAgICAgICBmdW5jdGlvbiBnZXQgZWxlbWVudCgpOklGbGV4SlNFbGVtZW50Ow0KPi0NCj4g ICAgICAgICBDT01QSUxFOjpKUw0KPiAgICAgICAgIGZ1bmN0aW9uIGdldCBwb3NpdGlvbmVyKCk6 V3JhcHBlZEhUTUxFbGVtZW50Ow0KPiAgICAgICAgIA0KPg0KPmh0dHA6Ly9naXQtd2lwLXVzLmFw YWNoZS5vcmcvcmVwb3MvYXNmL2ZsZXgtYXNqcy9ibG9iLzk3MWNkZjNkL2ZyYW1ld29ya3MvDQo+ cHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL0lSZW5kZXJl ZE9iamVjdC5hcw0KPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj5kaWZmIC0tZ2l0IA0KPmEvZnJhbWV3b3Jrcy9w cm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2NvcmUvSVJlbmRlcmVk T2JqDQo+ZWN0LmFzIA0KPmIvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgv b3JnL2FwYWNoZS9mbGV4L2NvcmUvSVJlbmRlcmVkT2JqDQo+ZWN0LmFzDQo+bmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj5pbmRleCAwMDAwMDAwLi43ZWJlZTRmDQo+LS0tIC9kZXYvbnVsbA0KPisrKyAN Cj5iL2ZyYW1ld29ya3MvcHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxl eC9jb3JlL0lSZW5kZXJlZE9iag0KPmVjdC5hcw0KPkBAIC0wLDAgKzEsNDQgQEANCj4rLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLw0KPi8vLy8vLy8NCj4rLy8NCj4rLy8gIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUg U29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQ0KPisvLyAgY29udHJp YnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRl ZCB3aXRoDQo+Ky8vICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJk aW5nIGNvcHlyaWdodCBvd25lcnNoaXAuDQo+Ky8vICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmls ZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uDQo+Mi4wDQo+Ky8vICAo dGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBs aWFuY2Ugd2l0aA0KPisvLyAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2Yg dGhlIExpY2Vuc2UgYXQNCj4rLy8NCj4rLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGlj ZW5zZXMvTElDRU5TRS0yLjANCj4rLy8NCj4rLy8gIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNh YmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCj4rLy8gIGRpc3RyaWJ1 dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMs DQo+Ky8vICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0 aGVyIGV4cHJlc3Mgb3INCj5pbXBsaWVkLg0KPisvLyAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUg c3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KPisvLyAgbGltaXRh dGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQo+Ky8vDQo+Ky8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCj4vLy8v Ly8vDQo+K3BhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LmNvcmUNCj4rew0KPitDT01QSUxFOjpTV0YN Cj4rew0KPisgICAgaW1wb3J0IGZsYXNoLmRpc3BsYXkuRGlzcGxheU9iamVjdDsNCj4rfQ0KPisg ICAgLyoqDQo+KyAgICAgKiAgVGhlIElSZW5kZXJlZE9iamVjdCBpbnRlcmZhY2UgaXMgdGhlIGJh c2ljIGludGVyZmFjZSBmb3IgYQ0KPisgICAgICogIGNvbXBvbmVudCB0aGF0IGhhcyBiZWVuIHJl bmRlcmVkLg0KPisgICAgICogDQo+KyAgICAgKiAgQGxhbmd2ZXJzaW9uIDMuMA0KPisgICAgICog IEBwbGF5ZXJ2ZXJzaW9uIEZsYXNoIDEwLjINCj4rICAgICAqICBAcGxheWVydmVyc2lvbiBBSVIg Mi42DQo+KyAgICAgKiAgQHByb2R1Y3R2ZXJzaW9uIEZsZXhKUyAwLjANCj4rICAgICAqLw0KPisg ICAgcHVibGljIGludGVyZmFjZSBJUmVuZGVyZWRPYmplY3QNCj4rCXsNCj4rICAgICAgICANCj4r ICAgICAgICBDT01QSUxFOjpTV0YNCj4rICAgICAgICBmdW5jdGlvbiBnZXQgJGRpc3BsYXlPYmpl Y3QoKTpEaXNwbGF5T2JqZWN0Ow0KPisgICAgICAgIA0KPisgICAgICAgIENPTVBJTEU6OkpTDQo+ KyAgICAgICAgZnVuY3Rpb24gZ2V0IGVsZW1lbnQoKTpJRmxleEpTRWxlbWVudDsNCj4rDQo+Kwl9 DQo+K30NCj4NCj5odHRwOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9zL2FzZi9mbGV4LWFz anMvYmxvYi85NzFjZGYzZC9mcmFtZXdvcmtzLw0KPnByb2plY3RzL0NvcmUvc3JjL21haW4vZmxl eC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9XcmFwcGVkTW92aWVDbGlwLmFzDQo+LS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPmRpZmYgLS1naXQgDQo+YS9mcmFtZXdvcmtzL3Byb2plY3RzL0NvcmUvc3JjL21haW4vZmxl eC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9XcmFwcGVkTW92aWUNCj5DbGlwLmFzIA0KPmIvZnJhbWV3 b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2NvcmUvV3Jh cHBlZE1vdmllDQo+Q2xpcC5hcw0KPmluZGV4IGZmOWVkNmQuLjFiOTFkNjMgMTAwNjQ0DQo+LS0t IA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9m bGV4L2NvcmUvV3JhcHBlZE1vdmllDQo+Q2xpcC5hcw0KPisrKyANCj5iL2ZyYW1ld29ya3MvcHJv amVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL1dyYXBwZWRNb3Zp ZQ0KPkNsaXAuYXMNCj5AQCAtMTgsMTMgKzE4LDE1IEBADQo+IA0KPi8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v DQo+Ly8vLy8vDQo+IHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LmNvcmUNCj4gew0KPisJaW1wb3J0 IGZsYXNoLmRpc3BsYXkuRGlzcGxheU9iamVjdDsNCj4rDQo+IAlDT01QSUxFOjpTV0YNCj4gCXsN Cj4gCSAgICBpbXBvcnQgZmxhc2guZGlzcGxheS5Nb3ZpZUNsaXA7DQo+IAl9DQo+IA0KPiAJQ09N UElMRTo6U1dGDQo+LQlwdWJsaWMgY2xhc3MgV3JhcHBlZE1vdmllQ2xpcCBleHRlbmRzIE1vdmll Q2xpcCBpbXBsZW1lbnRzDQo+SUZsZXhKU0VsZW1lbnQNCj4rCXB1YmxpYyBjbGFzcyBXcmFwcGVk TW92aWVDbGlwIGV4dGVuZHMgTW92aWVDbGlwIGltcGxlbWVudHMNCj5JRmxleEpTRWxlbWVudCwg SVJlbmRlcmVkT2JqZWN0DQo+IAl7DQo+ICAgICAgICAgcHJpdmF0ZSB2YXIgX2ZsZXhqc193cmFw cGVyOkVsZW1lbnRXcmFwcGVyOw0KPiAgICAgICAgIA0KPkBAIC00OCw1ICs1MCwxMSBAQCBwYWNr YWdlIG9yZy5hcGFjaGUuZmxleC5jb3JlDQo+ICAgICAgICAgew0KPiAgICAgICAgICAgICBfZmxl eGpzX3dyYXBwZXIgPSB2YWx1ZTsNCj4gICAgICAgICB9DQo+KwkJDQo+KwkJcHVibGljIGZ1bmN0 aW9uIGdldCAkZGlzcGxheU9iamVjdCgpOkRpc3BsYXlPYmplY3QNCj4rCQl7DQo+KwkJCXJldHVy biB0aGlzOw0KPisJCX0NCj4rDQo+IAl9DQo+IH0NCj4NCj5odHRwOi8vZ2l0LXdpcC11cy5hcGFj aGUub3JnL3JlcG9zL2FzZi9mbGV4LWFzanMvYmxvYi85NzFjZGYzZC9mcmFtZXdvcmtzLw0KPnBy b2plY3RzL0NvcmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9XcmFwcGVkU2hh cGUuYXMNCj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ZGlmZiAtLWdpdCANCj5hL2ZyYW1ld29ya3MvcHJvamVj dHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL1dyYXBwZWRTaGFwZQ0K Pi5hcyANCj5iL2ZyYW1ld29ya3MvcHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFj aGUvZmxleC9jb3JlL1dyYXBwZWRTaGFwZQ0KPi5hcw0KPmluZGV4IDAyMGI1MGYuLjE5NzhmZmYg MTAwNjQ0DQo+LS0tIA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgv b3JnL2FwYWNoZS9mbGV4L2NvcmUvV3JhcHBlZFNoYXBlDQo+LmFzDQo+KysrIA0KPmIvZnJhbWV3 b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2NvcmUvV3Jh cHBlZFNoYXBlDQo+LmFzDQo+QEAgLTE4LDEzICsxOCwxNSBAQA0KPiANCj4vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLw0KPi8vLy8vLw0KPiBwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC5jb3JlDQo+IHsNCj4rCWlt cG9ydCBmbGFzaC5kaXNwbGF5LkRpc3BsYXlPYmplY3Q7DQo+Kw0KPiAgICAgQ09NUElMRTo6U1dG DQo+ICAgICB7DQo+ICAgICAgICAgaW1wb3J0IGZsYXNoLmRpc3BsYXkuU2hhcGU7DQo+ICAgICB9 DQo+IA0KPiAJQ09NUElMRTo6U1dGDQo+LQlwdWJsaWMgY2xhc3MgV3JhcHBlZFNoYXBlIGV4dGVu ZHMgU2hhcGUgaW1wbGVtZW50cyBJRmxleEpTRWxlbWVudA0KPisJcHVibGljIGNsYXNzIFdyYXBw ZWRTaGFwZSBleHRlbmRzIFNoYXBlIGltcGxlbWVudHMgSUZsZXhKU0VsZW1lbnQsDQo+SVJlbmRl cmVkT2JqZWN0DQo+IAl7DQo+ICAgICAgICAgcHJpdmF0ZSB2YXIgX2ZsZXhqc193cmFwcGVyOkVs ZW1lbnRXcmFwcGVyOw0KPiAgICAgICAgIA0KPkBAIC00OCw1ICs1MCwxMSBAQCBwYWNrYWdlIG9y Zy5hcGFjaGUuZmxleC5jb3JlDQo+ICAgICAgICAgew0KPiAgICAgICAgICAgICBfZmxleGpzX3dy YXBwZXIgPSB2YWx1ZTsNCj4gICAgICAgICB9DQo+KwkJDQo+KwkJcHVibGljIGZ1bmN0aW9uIGdl dCAkZGlzcGxheU9iamVjdCgpOkRpc3BsYXlPYmplY3QNCj4rCQl7DQo+KwkJCXJldHVybiB0aGlz Ow0KPisJCX0NCj4rDQo+IAl9DQo+IH0NCj4NCj5odHRwOi8vZ2l0LXdpcC11cy5hcGFjaGUub3Jn L3JlcG9zL2FzZi9mbGV4LWFzanMvYmxvYi85NzFjZGYzZC9mcmFtZXdvcmtzLw0KPnByb2plY3Rz L0NvcmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9XcmFwcGVkU2ltcGxlQnV0 dG9uLmFzDQo+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPmRpZmYgLS1naXQgDQo+YS9mcmFtZXdvcmtzL3Byb2pl Y3RzL0NvcmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9XcmFwcGVkU2ltcGwN Cj5lQnV0dG9uLmFzIA0KPmIvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgv b3JnL2FwYWNoZS9mbGV4L2NvcmUvV3JhcHBlZFNpbXBsDQo+ZUJ1dHRvbi5hcw0KPmluZGV4IGEw NjlmMmUuLjU1N2RkZjkgMTAwNjQ0DQo+LS0tIA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3Jl L3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2NvcmUvV3JhcHBlZFNpbXBsDQo+ZUJ1dHRv bi5hcw0KPisrKyANCj5iL2ZyYW1ld29ya3MvcHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29y Zy9hcGFjaGUvZmxleC9jb3JlL1dyYXBwZWRTaW1wbA0KPmVCdXR0b24uYXMNCj5AQCAtMjAsMTIg KzIwLDEyIEBAIHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LmNvcmUNCj4gew0KPiAgICAgQ09NUElM RTo6U1dGDQo+ICAgICB7DQo+LSAgICAgICAgaW1wb3J0IGZsYXNoLmRpc3BsYXkuRGlzcGxheU9i amVjdDsNCj4rICAgICAgICBpbXBvcnQgZmxhc2guZGlzcGxheS5EaXNwbGF5T2JqZWN0Ow0KPiAg ICAgICAgIGltcG9ydCBmbGFzaC5kaXNwbGF5LlNpbXBsZUJ1dHRvbjsNCj4gICAgIH0NCj4gDQo+ IAlDT01QSUxFOjpTV0YNCj4tCXB1YmxpYyBjbGFzcyBXcmFwcGVkU2ltcGxlQnV0dG9uIGV4dGVu ZHMgU2ltcGxlQnV0dG9uIGltcGxlbWVudHMNCj5JRmxleEpTRWxlbWVudA0KPisJcHVibGljIGNs YXNzIFdyYXBwZWRTaW1wbGVCdXR0b24gZXh0ZW5kcyBTaW1wbGVCdXR0b24gaW1wbGVtZW50cw0K PklGbGV4SlNFbGVtZW50LCBJUmVuZGVyZWRPYmplY3QNCj4gCXsNCj4gICAgICAgICBwdWJsaWMg ZnVuY3Rpb24gV3JhcHBlZFNpbXBsZUJ1dHRvbih1cFN0YXRlOkRpc3BsYXlPYmplY3QgPQ0KPm51 bGwsIG92ZXJTdGF0ZTpEaXNwbGF5T2JqZWN0ID0gbnVsbCwgZG93blN0YXRlOkRpc3BsYXlPYmpl Y3QgPSBudWxsLA0KPmhpdFRlc3RTdGF0ZTpEaXNwbGF5T2JqZWN0ID0gbnVsbCkNCj4gICAgICAg ICB7DQo+QEAgLTU1LDUgKzU1LDExIEBAIHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LmNvcmUNCj4g ICAgICAgICB7DQo+ICAgICAgICAgICAgIF9mbGV4anNfd3JhcHBlciA9IHZhbHVlOw0KPiAgICAg ICAgIH0NCj4rCQkNCj4rCQlwdWJsaWMgZnVuY3Rpb24gZ2V0ICRkaXNwbGF5T2JqZWN0KCk6RGlz cGxheU9iamVjdA0KPisJCXsNCj4rCQkJcmV0dXJuIHRoaXM7DQo+KwkJfQ0KPisJCQ0KPiAJfQ0K PiB9DQo+DQo+aHR0cDovL2dpdC13aXAtdXMuYXBhY2hlLm9yZy9yZXBvcy9hc2YvZmxleC1hc2pz L2Jsb2IvOTcxY2RmM2QvZnJhbWV3b3Jrcy8NCj5wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgv b3JnL2FwYWNoZS9mbGV4L2NvcmUvV3JhcHBlZFNwcml0ZS5hcw0KPi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj5k aWZmIC0tZ2l0IA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9tYWluL2ZsZXgvb3Jn L2FwYWNoZS9mbGV4L2NvcmUvV3JhcHBlZFNwcml0DQo+ZS5hcyANCj5iL2ZyYW1ld29ya3MvcHJv amVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL1dyYXBwZWRTcHJp dA0KPmUuYXMNCj5pbmRleCBiNzdhMWQxLi4wZmMyMzBiIDEwMDY0NA0KPi0tLSANCj5hL2ZyYW1l d29ya3MvcHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9jb3JlL1dy YXBwZWRTcHJpdA0KPmUuYXMNCj4rKysgDQo+Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0NvcmUvc3Jj L21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9XcmFwcGVkU3ByaXQNCj5lLmFzDQo+QEAg LTE4LDEzICsxOCwxNSBAQA0KPiANCj4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KPi8vLy8vLw0KPiBwYWNr YWdlIG9yZy5hcGFjaGUuZmxleC5jb3JlDQo+IHsNCj4rCWltcG9ydCBmbGFzaC5kaXNwbGF5LkRp c3BsYXlPYmplY3Q7DQo+Kw0KPiAJQ09NUElMRTo6U1dGDQo+IAl7DQo+IAkgICAgaW1wb3J0IGZs YXNoLmRpc3BsYXkuU3ByaXRlOw0KPiAJfQ0KPiANCj4gCUNPTVBJTEU6OlNXRg0KPi0JcHVibGlj IGNsYXNzIFdyYXBwZWRTcHJpdGUgZXh0ZW5kcyBTcHJpdGUgaW1wbGVtZW50cyBJRmxleEpTRWxl bWVudA0KPisJcHVibGljIGNsYXNzIFdyYXBwZWRTcHJpdGUgZXh0ZW5kcyBTcHJpdGUgaW1wbGVt ZW50cyBJRmxleEpTRWxlbWVudCwNCj5JUmVuZGVyZWRPYmplY3QNCj4gCXsNCj4gDQo+ICAgICAg ICAgcHJpdmF0ZSB2YXIgX2ZsZXhqc193cmFwcGVyOkVsZW1lbnRXcmFwcGVyOw0KPkBAIC00OSw1 ICs1MSwxMSBAQCBwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC5jb3JlDQo+ICAgICAgICAgew0KPiAg ICAgICAgICAgICBfZmxleGpzX3dyYXBwZXIgPSB2YWx1ZTsNCj4gICAgICAgICB9DQo+KwkJDQo+ KwkJcHVibGljIGZ1bmN0aW9uIGdldCAkZGlzcGxheU9iamVjdCgpOkRpc3BsYXlPYmplY3QNCj4r CQl7DQo+KwkJCXJldHVybiB0aGlzOw0KPisJCX0NCj4rCQkNCj4gCX0NCj4gfQ0KPg0KPmh0dHA6 Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVwb3MvYXNmL2ZsZXgtYXNqcy9ibG9iLzk3MWNkZjNk L2ZyYW1ld29ya3MvDQo+cHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxl eC9jb3JlL1dyYXBwZWRUZXh0RmllbGQuYXMNCj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ZGlmZiAtLWdpdCAN Cj5hL2ZyYW1ld29ya3MvcHJvamVjdHMvQ29yZS9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxl eC9jb3JlL1dyYXBwZWRUZXh0Rg0KPmllbGQuYXMgDQo+Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0Nv cmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9XcmFwcGVkVGV4dEYNCj5pZWxk LmFzDQo+aW5kZXggYzgzMmQ2Mi4uYWU3ZmFmNCAxMDA2NDQNCj4tLS0gDQo+YS9mcmFtZXdvcmtz L3Byb2plY3RzL0NvcmUvc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvY29yZS9XcmFwcGVk VGV4dEYNCj5pZWxkLmFzDQo+KysrIA0KPmIvZnJhbWV3b3Jrcy9wcm9qZWN0cy9Db3JlL3NyYy9t YWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2NvcmUvV3JhcHBlZFRleHRGDQo+aWVsZC5hcw0KPkBA IC0xOCwxMyArMTgsMTUgQEANCj4gDQo+Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCj4vLy8vLy8NCj4gcGFj a2FnZSBvcmcuYXBhY2hlLmZsZXguY29yZQ0KPiB7DQo+KwlpbXBvcnQgZmxhc2guZGlzcGxheS5E aXNwbGF5T2JqZWN0Ow0KPisNCj4gCUNPTVBJTEU6OlNXRg0KPiAJew0KPiAJICAgIGltcG9ydCBm bGFzaC50ZXh0LlRleHRGaWVsZDsNCj4gCX0NCj4gDQo+IAlDT01QSUxFOjpTV0YNCj4tCXB1Ymxp YyBjbGFzcyBXcmFwcGVkVGV4dEZpZWxkIGV4dGVuZHMgVGV4dEZpZWxkIGltcGxlbWVudHMNCj5J RmxleEpTRWxlbWVudA0KPisJcHVibGljIGNsYXNzIFdyYXBwZWRUZXh0RmllbGQgZXh0ZW5kcyBU ZXh0RmllbGQgaW1wbGVtZW50cw0KPklGbGV4SlNFbGVtZW50LCBJUmVuZGVyZWRPYmplY3QNCj4g CXsNCj4gDQo+ICAgICAgICAgcHJpdmF0ZSB2YXIgX2ZsZXhqc193cmFwcGVyOkVsZW1lbnRXcmFw cGVyOw0KPkBAIC00OSw1ICs1MSwxMCBAQCBwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC5jb3JlDQo+ ICAgICAgICAgew0KPiAgICAgICAgICAgICBfZmxleGpzX3dyYXBwZXIgPSB2YWx1ZTsNCj4gICAg ICAgICB9DQo+KwkJDQo+KwkJcHVibGljIGZ1bmN0aW9uIGdldCAkZGlzcGxheU9iamVjdCgpOkRp c3BsYXlPYmplY3QNCj4rCQl7DQo+KwkJCXJldHVybiB0aGlzOw0KPisJCX0NCj4gCX0NCj4gfQ0K Pg0KPmh0dHA6Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVwb3MvYXNmL2ZsZXgtYXNqcy9ibG9i Lzk3MWNkZjNkL2ZyYW1ld29ya3MvDQo+cHJvamVjdHMvRHJhZ0Ryb3Avc3JjL21haW4vZmxleC9v cmcvYXBhY2hlL2ZsZXgvZXZlbnRzL0RyYWdFdmVudC5hcw0KPi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj5kaWZm IC0tZ2l0IA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9EcmFnRHJvcC9zcmMvbWFpbi9mbGV4L29y Zy9hcGFjaGUvZmxleC9ldmVudHMvRHJhZ0V2DQo+ZW50LmFzIA0KPmIvZnJhbWV3b3Jrcy9wcm9q ZWN0cy9EcmFnRHJvcC9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9ldmVudHMvRHJhZ0V2 DQo+ZW50LmFzDQo+aW5kZXggYTIyNjg1OC4uM2UzYzM1MyAxMDA2NDQNCj4tLS0gDQo+YS9mcmFt ZXdvcmtzL3Byb2plY3RzL0RyYWdEcm9wL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2V2 ZW50cy9EcmFnRXYNCj5lbnQuYXMNCj4rKysgDQo+Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0RyYWdE cm9wL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2V2ZW50cy9EcmFnRXYNCj5lbnQuYXMN Cj5AQCAtMzQwLDcgKzM0MCw3IEBAIHBhY2thZ2Ugb3JnLmFwYWNoZS5mbGV4LmV2ZW50cw0KPiAg ICAgICAgICAqICBAZmxleGpzaWdub3JlY29lcmNpb24gb3JnLmFwYWNoZS5mbGV4LmV2ZW50cy5J RXZlbnREaXNwYXRjaGVyDQo+ICAgICAgICAgICogIEBmbGV4anNpZ25vcmVjb2VyY2lvbiB3aW5k b3cuRXZlbnQNCj4gICAgICAgICAgKi8NCj4tICAgICAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9u IGRpc3BhdGNoRHJhZ0V2ZW50KGV2ZW50OkRyYWdFdmVudCwNCj50YXJnZXQ6SUV2ZW50RGlzcGF0 Y2hlcik6dm9pZA0KPisgICAgICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGlzcGF0Y2hEcmFn RXZlbnQoZXZlbnQ6RHJhZ0V2ZW50LA0KPnRhcmdldDpPYmplY3QpOnZvaWQNCj4gICAgICAgICB7 DQo+ICAgICAgICAgICAgIENPTVBJTEU6OlNXRg0KPiAgICAgICAgICAgICB7DQo+DQo+aHR0cDov L2dpdC13aXAtdXMuYXBhY2hlLm9yZy9yZXBvcy9hc2YvZmxleC1hc2pzL2Jsb2IvOTcxY2RmM2Qv ZnJhbWV3b3Jrcy8NCj5wcm9qZWN0cy9EcmFnRHJvcC9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUv ZmxleC9odG1sL2JlYWRzL2NvbnRyb2xsZXJzL0RyYQ0KPmdNb3VzZUNvbnRyb2xsZXIuYXMNCj4t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ZGlmZiAtLWdpdCANCj5hL2ZyYW1ld29ya3MvcHJvamVjdHMvRHJhZ0Ry b3Avc3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvaHRtbC9iZWFkcy9jbw0KPm50cm9sbGVy cy9EcmFnTW91c2VDb250cm9sbGVyLmFzDQo+Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0RyYWdEcm9w L3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2h0bWwvYmVhZHMvY28NCj5udHJvbGxlcnMv RHJhZ01vdXNlQ29udHJvbGxlci5hcw0KPmluZGV4IDAxMzUxYjguLjQwN2ViYjMgMTAwNjQ0DQo+ LS0tIA0KPmEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9EcmFnRHJvcC9zcmMvbWFpbi9mbGV4L29yZy9h cGFjaGUvZmxleC9odG1sL2JlYWRzL2NvDQo+bnRyb2xsZXJzL0RyYWdNb3VzZUNvbnRyb2xsZXIu YXMNCj4rKysgDQo+Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0RyYWdEcm9wL3NyYy9tYWluL2ZsZXgv b3JnL2FwYWNoZS9mbGV4L2h0bWwvYmVhZHMvY28NCj5udHJvbGxlcnMvRHJhZ01vdXNlQ29udHJv bGxlci5hcw0KPkBAIC0yMTAsNyArMjEwLDcgQEAgcGFja2FnZSBvcmcuYXBhY2hlLmZsZXguaHRt bC5iZWFkcy5jb250cm9sbGVycw0KPiAgICAgICAgICAgICAgICAgew0KPiAgICAgICAgICAgICAg ICAgICAgIHRyYWNlKCJzZW5kaW5nIGRyYWdTdGFydCIpOw0KPiAgICAgICAgICAgICAgICAgICAg IGRyYWdFdmVudCA9IERyYWdFdmVudC5jcmVhdGVEcmFnRXZlbnQoImRyYWdTdGFydCIsDQo+ZXZl bnQpOw0KPi0gICAgICAgICAgICAgICAgICAgIERyYWdFdmVudC5kaXNwYXRjaERyYWdFdmVudChk cmFnRXZlbnQsDQo+SUV2ZW50RGlzcGF0Y2hlcihfc3RyYW5kKSk7DQo+KyAgICAgICAgICAgICAg ICAgICAgRHJhZ0V2ZW50LmRpc3BhdGNoRHJhZ0V2ZW50KGRyYWdFdmVudCwgX3N0cmFuZCk7DQo+ ICAgICAgICAgICAgICAgICAgICAgaWYgKERyYWdFdmVudC5kcmFnU291cmNlICE9IG51bGwpDQo+ ICAgICAgICAgICAgICAgICAgICAgew0KPiAgICAgICAgICAgICAgICAgICAgICAgICBkcmFnZ2lu ZyA9IHRydWU7DQo+QEAgLTIzMSw3ICsyMzEsNyBAQCBwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC5o dG1sLmJlYWRzLmNvbnRyb2xsZXJzDQo+ICAgICAgICAgICAgICAgICB0cmFjZSgiaG9zdDogIiAr IHB0LngudG9TdHJpbmcoKSArICIgIiArDQo+cHQueS50b1N0cmluZygpKTsNCj4gICAgICAgICAg ICAgICAgIGRyYWdJbWFnZS54ID0gcHQueCArIGRyYWdJbWFnZU9mZnNldFg7DQo+ICAgICAgICAg ICAgICAgICBkcmFnSW1hZ2UueSA9IHB0LnkgKyBkcmFnSW1hZ2VPZmZzZXRZOw0KPi0gICAgICAg ICAgICAgICAgRHJhZ0V2ZW50LmRpc3BhdGNoRHJhZ0V2ZW50KGRyYWdFdmVudCwNCj5JRXZlbnRE aXNwYXRjaGVyKGV2ZW50LnRhcmdldCkpOw0KPisgICAgICAgICAgICAgICAgRHJhZ0V2ZW50LmRp c3BhdGNoRHJhZ0V2ZW50KGRyYWdFdmVudCwgZXZlbnQudGFyZ2V0KTsNCj4gICAgICAgICAgICAg fQ0KPiAgICAgICAgIH0NCj4gICAgICAgICANCj5AQCAtMjQ0LDcgKzI0NCw3IEBAIHBhY2thZ2Ug b3JnLmFwYWNoZS5mbGV4Lmh0bWwuYmVhZHMuY29udHJvbGxlcnMNCj4gICAgICAgICAgICAgew0K PiAgICAgICAgICAgICAgICAgdHJhY2UoInNlbmRpbmcgZHJhZ0VuZCIpOw0KPiAgICAgICAgICAg ICAgICAgZHJhZ0V2ZW50ID0gRHJhZ0V2ZW50LmNyZWF0ZURyYWdFdmVudCgiZHJhZ0VuZCIsIGV2 ZW50KTsNCj4tICAgICAgICAgICAgICAgIERyYWdFdmVudC5kaXNwYXRjaERyYWdFdmVudChkcmFn RXZlbnQsDQo+SUV2ZW50RGlzcGF0Y2hlcihldmVudC50YXJnZXQpKTsNCj4rICAgICAgICAgICAg ICAgIERyYWdFdmVudC5kaXNwYXRjaERyYWdFdmVudChkcmFnRXZlbnQsIGV2ZW50LnRhcmdldCk7 DQo+ICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KPiAgICAgICAgICAg ICB9DQo+ICAgICAgICAgICAgIGRyYWdnaW5nID0gZmFsc2U7DQo+DQo+aHR0cDovL2dpdC13aXAt dXMuYXBhY2hlLm9yZy9yZXBvcy9hc2YvZmxleC1hc2pzL2Jsb2IvOTcxY2RmM2QvZnJhbWV3b3Jr cy8NCj5wcm9qZWN0cy9FZmZlY3RzL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2VmZmVj dHMvUGxhdGZvcm1XaXBlci5hcw0KPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj5kaWZmIC0tZ2l0IA0KPmEvZnJh bWV3b3Jrcy9wcm9qZWN0cy9FZmZlY3RzL3NyYy9tYWluL2ZsZXgvb3JnL2FwYWNoZS9mbGV4L2Vm ZmVjdHMvUGxhdGZvDQo+cm1XaXBlci5hcyANCj5iL2ZyYW1ld29ya3MvcHJvamVjdHMvRWZmZWN0 cy9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9lZmZlY3RzL1BsYXRmbw0KPnJtV2lwZXIu YXMNCj5pbmRleCBhZjM1NTAwLi4wZTA0ZjQ3IDEwMDY0NA0KPi0tLSANCj5hL2ZyYW1ld29ya3Mv cHJvamVjdHMvRWZmZWN0cy9zcmMvbWFpbi9mbGV4L29yZy9hcGFjaGUvZmxleC9lZmZlY3RzL1Bs YXRmbw0KPnJtV2lwZXIuYXMNCj4rKysgDQo+Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0VmZmVjdHMv c3JjL21haW4vZmxleC9vcmcvYXBhY2hlL2ZsZXgvZWZmZWN0cy9QbGF0Zm8NCj5ybVdpcGVyLmFz DQo+QEAgLTIyLDEzICsyMiwxNCBAQCBwYWNrYWdlIG9yZy5hcGFjaGUuZmxleC5lZmZlY3RzDQo+ IA0KPiBDT01QSUxFOjpTV0YNCj4gew0KPi0gICAgaW1wb3J0IGZsYXNoLmRpc3BsYXkuRGlzcGxh eU9iamVjdDsNCj4gICAgIGltcG9ydCBmbGFzaC5nZW9tLlJlY3RhbmdsZTsNCj4gfQ0KPiANCj4g aW1wb3J0IG9yZy5hcGFjaGUuZmxleC5nZW9tLlJlY3RhbmdsZTsNCj4gaW1wb3J0IG9yZy5hcGFj aGUuZmxleC5jb3JlLklEb2N1bWVudDsNCj4gaW1wb3J0IG9yZy5hcGFjaGUuZmxleC5jb3JlLklV SUJhc2U7DQo+K2ltcG9ydCBvcmcuYXBhY2hlLmZsZXguY29yZS5JUmVuZGVyZWRPYmplY3Q7DQo+ Kw0KPiANCj4gLyoqDQo+ICAqICBIZWxwZXIgY2xhc3MgZm9yIFdpcGUgZWZmZWN0cy4NCj5AQCAt OTEsNyArOTIsNyBAQCBwdWJsaWMgY2xhc3MgUGxhdGZvcm1XaXBlcg0KPiAgICAgICAgIENPTVBJ TEU6OlNXRg0KPiAgICAgICAgIHsNCj4gICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpDQo+ LSAgICAgICAgICAgICAgICBEaXNwbGF5T2JqZWN0KF90YXJnZXQpLnNjcm9sbFJlY3QgPSBudWxs Ow0KPisgICAgICAgICAgICAgICAgKF90YXJnZXQgYXMgSVJlbmRlcmVkT2JqZWN0KS4kZGlzcGxh eU9iamVjdC5zY3JvbGxSZWN0ID0NCj5udWxsOw0KPiAgICAgICAgICAgICBfdGFyZ2V0ID0gdmFs dWU7DQo+ICAgICAgICAgfQ0KPiAgICAgICAgIENPTVBJTEU6OkpTDQo+QEAgLTEyMiw3ICsxMjMs NyBAQCBwdWJsaWMgY2xhc3MgUGxhdGZvcm1XaXBlcg0KPiAgICAgew0KPiAgICAgICAgIENPTVBJ TEU6OlNXRg0KPiAgICAgICAgIHsNCj4tICAgICAgICAgICAgRGlzcGxheU9iamVjdChfdGFyZ2V0 KS5zY3JvbGxSZWN0ID0gbmV3DQo+Zmxhc2guZ2VvbS5SZWN0YW5nbGUodmFsdWUueCx2YWx1ZS55 LHZhbHVlLndpZHRoLHZhbHVlLmhlaWdodCk7DQo+ICAgICANCj4rICAgICAgICAgICAgKF90YXJn ZXQgYXMgSVJlbmRlcmVkT2JqZWN0KS4kZGlzcGxheU9iamVjdC5zY3JvbGxSZWN0ID0gbmV3DQo+ Zmxhc2guZ2VvbS5SZWN0YW5nbGUodmFsdWUueCx2YWx1ZS55LHZhbHVlLndpZHRoLHZhbHVlLmhl aWdodCk7DQo+ICAgICANCj4gICAgICAgICB9DQo+ICAgICAgICAgQ09NUElMRTo6SlMNCj4gICAg ICAgICB7DQo+DQoNCg==