From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.6149.1626057843337102411 for ; Sun, 11 Jul 2021 19:44:03 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=vVzcil+4; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: bob.c.feng@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10042"; a="209956410" X-IronPort-AV: E=Sophos;i="5.84,232,1620716400"; d="scan'208";a="209956410" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jul 2021 19:43:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,232,1620716400"; d="scan'208";a="561610904" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga004.jf.intel.com with ESMTP; 11 Jul 2021 19:43:57 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Sun, 11 Jul 2021 19:43:57 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Sun, 11 Jul 2021 19:43:57 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.47) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Sun, 11 Jul 2021 19:43:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K5Mhh2pIiWFbYZOxRsY3DH7/t27DmCQaTI+ty/Q3IV8OZRRVDVLgHedJrGQ2cuNdIOgBm9nz3EGdY7XIh6rbGzXTy93qkcOPwFDivmV4SYUQveYpVoiM0lXyBQxrqT/vtHGyNwHOySHnSKc2pKcrSpFfoJg1F33Za7Ev+iWAuSM8aWjkBLuWOOy6yBVxFwR8mbh9GOnna56mqrhwSFEpoZPTyJuYID/OAF4CIs0ngQ5XFRFkdqWbMplE/ML4hXNT9XeQOi4gEaQ6ifjYlknsWsuCEukaeIflmBaQ+xfXbSO9znrtNostNomLe5Tuj1jTYTov4D63t7XxLFxRf1rrSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fHyE7yqh1Em5rfSq4eePJB0ruJI56DXs2lF1Ik9HY4k=; b=M2tdG4IzGVRaxF2Sw/elci9VLkvKlpH+90Wbq65oad78NacftO7vSvQQv8BlcB79MaKAk1lJ7dnk+CDXoD1LdmFb55jNSiNpFBuCMU149z6o4VBIQMbkWu3APEBg94Wv/bifQUaL94sblAKTDXfPqr+6WUbBcVtbf7qXdVnZpXTUSltv5ijd/u2o73UOUjnFwRG+tjzZGwML9noJQXPVo0tzbFMM6hF6Ybj2aAWYtOlFHAxFbKjl+J0GWLMZCA+au0LnEW+f+NqeJUPNsZuZ7c3F9pzDc5XOEBlolrrtC4bhi03r4yV+/DYcRZ2OUlzmBNJLw8W5fUnTbALpKBh81A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fHyE7yqh1Em5rfSq4eePJB0ruJI56DXs2lF1Ik9HY4k=; b=vVzcil+45YnXhNkaGp/eizVl001Dsc2ybOCnAIECd9BaMWKmWRwybWARSFczlYF+Qdx6rHuARZyVZqPItq5h8+6c/TZnRRkjwbD7OR5LNuUoavIaU+Bbkc7ikRPzg3QaohDxfKV6BEqSEKPSaOg87hcgFV9x3otQxVRQ0ST05SM= Received: from DM6PR11MB4073.namprd11.prod.outlook.com (2603:10b6:5:19f::22) by DM5PR11MB1930.namprd11.prod.outlook.com (2603:10b6:3:106::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.22; Mon, 12 Jul 2021 02:43:50 +0000 Received: from DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::b9b5:523d:7195:4f6c]) by DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::b9b5:523d:7195:4f6c%3]) with mapi id 15.20.4308.026; Mon, 12 Jul 2021 02:43:50 +0000 From: "Bob Feng" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" , "Chen, Christine" CC: "Kinney, Michael D" , "Desimone, Nathaniel L" Subject: Re: [edk2-devel] [Patch V2] BaseTools: Enable the flag to treat dynamic pcd as dynamicEx Thread-Topic: [edk2-devel] [Patch V2] BaseTools: Enable the flag to treat dynamic pcd as dynamicEx Thread-Index: AQHXXBEaVcfqJv4+h0mkNnKuS8Tq8qstn/2QgAAZ9QCAER1GQA== Date: Mon, 12 Jul 2021 02:43:49 +0000 Message-ID: References: <16867BA05B2FF24C.10003@groups.io> <011101d76e39$0af41ac0$20dc5040$@byosoft.com.cn> In-Reply-To: <011101d76e39$0af41ac0$20dc5040$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2475a780-1bdf-496e-4969-08d944dee154 x-ms-traffictypediagnostic: DM5PR11MB1930: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BUKMlIXNuCsbNCAZc3361qlriIdHuD3cJoexmq6iC0XiTZdu5OOH4CPRzBDu9vujDw9arF3G2D1kzJ57dasHZRqMrZmR8ePiOCXosDIJJBmXjQznNLre1AIWvrQNpkdS+qCATMxalfAgPv6iFpKKJCCfBVRTxzzg8N0FQ2yhkTQkIFCTfl2V8gVsG/1JuVlzVC00swXicQ/nrrz/dD6pt7HxGLTvs/wvKYcnbdUCSnsxfyQqMh71awqHszVJ4jhNmnNYCBSJ8unvRPTDa6GBE947Y7ExbWUPnYBQRPF1CNUWqAS0/soF5yh/e7VrUIH0iCKXOfHSMNuHDql8X4pJ7mcsM8HlFipe3ivkd55iVrnj5hq62CXTA283G/63LmXfxSogpk7S0UtJ6/EYN2CBKTYTYgRPsS6gnZ+lxlEbHZZZ8GSaKiNp1+eAMlQbLixGQl3M8SkLaD1VyGTPFLLSjUFxdC5y6mbB4LBkbVkdA0l2GSti321U0f/FjDBikh4OyP8nAhAa3uMEVyGeWMbDSlPSuzWgeWCeiTbFZeXGZCXrDgzSuSAlaz2lqEL9WQ8W+4l1TciomLQGZDT7By92sdbpWmw4HnYKEgtwCfOe4SnP5Ph4BBb/Fyj7JIudizGxrTtOT/wJDCSIBHCdKIcOiMMgm4yFZBfxtT7ReZkew9TOKetYOly/MD8KXv+mkvdlNEdGZSQAQKEQUN+i2RqInOYZ/K1AktDEdnXEzF/iclV39co31NVXUGpn/aI7+vf5Wy7k5bkC8R4VO/dh5vnX3F398F6lczDJ+gxZGlj9ClaNF5ERv4yI9c1Oled1xH8B x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4073.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(346002)(376002)(136003)(39860400002)(186003)(52536014)(71200400001)(53546011)(4326008)(316002)(8676002)(110136005)(9686003)(86362001)(38100700002)(107886003)(122000001)(54906003)(33656002)(8936002)(6506007)(26005)(6636002)(66476007)(76116006)(966005)(5660300002)(7696005)(66446008)(64756008)(66946007)(478600001)(66556008)(2906002)(55016002)(83380400001)(30864003)(21314003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cnFtRzNBVXdOZlVRV0NIa1dibVZmazlON1ZCTDhnQmxrQ2dFQjVBM3plL01k?= =?utf-8?B?NXFUU2c2bURKdGszeHU2T0NNRE53ZXl5ZGVab0pHeHR5NEtxbTVkeERDTWM1?= =?utf-8?B?emZtWFpoYzZjNGVUNk1EUmhVTEpoOEZhMVFOanBYUUF0b3FBNVNZNGlqdGpa?= =?utf-8?B?SW0rTHpHYlNKMWZ1WXdKa3JTNmFoZzQxUzB4NXhDL2xWa1R2czVLa0drdURE?= =?utf-8?B?bFZLSjBoV3JwNTZnSFdzYzFrMWdLbkUvMVJwa3BaSGFqb0FOUzRQdXczUnBB?= =?utf-8?B?WXBlVFZuVEljakY1WUV2Zjh4K0R2YzBFcFJuY2RscXJJMVpZbFFPUDg4NWRX?= =?utf-8?B?UXJJV0hNbnRVN0pHWmRUcHdoeDByNlF6S0JXQ09JRFUySUQ0ZSt0Yk1nejRC?= =?utf-8?B?MUJIZzdVbzlDaUZERk5mYW5jZnVYKzBxQStLellpV3V1N2JsQ1VjM1BHbVFp?= =?utf-8?B?ZjZBaThDc3VGMTV2bmtVY3BkdEJvTkNkZ21YbmpGc3RFYzlQek1wQndCR081?= =?utf-8?B?ZWxvOFJuN1NmUnlvd3NwVXE3UGZoOTV1dzRIR0lJNUNFY1RyRC9GYVY1eXhn?= =?utf-8?B?alN6RmVtOXVLQmVzNE1IMEhTOWt4WWFNSFZlenk0SnFOWkJWSmpqSXhYZ29q?= =?utf-8?B?OWtrTGJQQzVrVHNsRFNFMjkxV0F1UDl4OHVqb2JVY25kb1VIY1ZoWk5ocmNp?= =?utf-8?B?bXNUejNLYVNSSUwxMTBiRVlKNThlRnRic0JQWXQvWkFjK1EzQnNldU1tV3FS?= =?utf-8?B?djF5N0FTaDNUeDVzR3FRSHd5cTlabDVVWkM3dDBPYVRhMWh3cGNiQ2RzbDdt?= =?utf-8?B?VmNVN2JOeTlkTVY4dGVxYm15eWtMR2dxK1hIN1ZuRzJ4TE1mOEd4d3RYMnBR?= =?utf-8?B?OVhPaHMzK2l6Szd0azVZYXJsdE1IbGJVTEwwdHM2dlRZY3hUQzYrZlB6dmhj?= =?utf-8?B?T1dHUzVjeWdoc2owQWY3QkNEZWFiM1dEdTUwRHJDd3JzQWpOMk1jTmNybS83?= =?utf-8?B?Ry9mV2NEdkgzTlpMbWJaSFlnZnVkcm9RTFVhRktBQ3NaSHNBOG55T2pFK01z?= =?utf-8?B?ME5NY3laNVpka1V1YjcxRitjSTRRamQzZmRvcEMySjloQlFmYkxvMnp0UDVK?= =?utf-8?B?RXBoK3liTUx2U3M3dWNpamRsekUwV3RTcjVtUDduZ2h3ZUhad1VjZGFWWTg5?= =?utf-8?B?UkEvV0E1OWZGL3lmbXJkMzFPc0hhODZ3eDA4RWhONTNVcU15LzVzSjlKcFFB?= =?utf-8?B?TGZza2lLQ3Vsa0N4S1VDQW1KRFp1YkVMcmRrWHplaGgwNWlOUzB6UjFzY3pU?= =?utf-8?B?RlZET1E0dVYzaHpVYkM5NWl3SzVyOUdpWGdPWDZIeHlVMklWSnY1cmk4OHhB?= =?utf-8?B?ZEdOQ3VlT0lGSXRQR05YUWFZeWtkVUZ1bENVZWdiVWZXVGxhcUlWd1prb0xj?= =?utf-8?B?V0FPN29CcDVrQ0QyRElVZDdhRlZQY0o2QVlVb2tLTUtXZnRuTGcydTgwTGFB?= =?utf-8?B?Z3dVaXpmVSt6UlhUcEQvanZobDJNYlJzY3NLaHdWb0dweUhlMEpmQzdPM21M?= =?utf-8?B?Q3RTbUJ6cUpHZ0ZoTlkwWFRHSW9ES3FncTYrTFFkNys2SVY0aldwYjZpK082?= =?utf-8?B?K2ZmMXdGdnJZcXV6anFWUFRhT1ZtcWlpMDhPWHZxVVFOQkJiNGZPakdLTEx1?= =?utf-8?B?YjJyVTQ1U04xRUdXZ2hqdk82V3RnSWU3LzFxSnhmaWxVUUpwYzBXS1NFZ0Fh?= =?utf-8?Q?o3itnJFNHfRRZSVyRo=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4073.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2475a780-1bdf-496e-4969-08d944dee154 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jul 2021 02:43:49.8334 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: d2UnIjpuaX7VzmxJxEcjTaaDBiF3TnlK03P5VjbO17DcLS6yzCNG4PTGjmpgkK+FVP5iyQyth8Vrm223tnWxrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1930 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Tm90IHlldC4gSSdsbCBzZW5kIHRoZSBzcGVjIHBhdGNoIGxhdGVyLg0KDQpUaGFua3MsDQpCb2IN Cg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlv IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIGdhb2xpbWluZw0KU2VudDogVGh1 cnNkYXksIEp1bHkgMSwgMjAyMSAxOjIyIFBNDQpUbzogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdA aW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IENoZW4sIENocmlzdGluZSA8eXV3ZWku Y2hlbkBpbnRlbC5jb20+DQpDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tPjsgRGVzaW1vbmUsIE5hdGhhbmllbCBMIDxuYXRoYW5pZWwubC5kZXNpbW9uZUBp bnRlbC5jb20+DQpTdWJqZWN0OiDlm57lpI06IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjJdIEJhc2VU b29sczogRW5hYmxlIHRoZSBmbGFnIHRvIHRyZWF0IGR5bmFtaWMgcGNkIGFzIGR5bmFtaWNFeA0K DQpCb2I6DQogIFRoaXMgcGF0Y2ggaXMgZ29vZCB0byBtZS4gUmV2aWV3ZWQtYnk6IExpbWluZyBH YW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCg0KICBIYXZlIHlvdSBzZW50IHRoZSBwYXRj aCB0byB1cGRhdGUgRFNDIHNwZWM/DQoNClRoYW5rcw0KTGltaW5nDQo+IC0tLS0t6YKu5Lu25Y6f 5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBGZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+ DQo+IOWPkemAgeaXtumXtDogMjAyMeW5tDfmnIgx5pelIDExOjUwDQo+IOaUtuS7tuS6ujogZGV2 ZWxAZWRrMi5ncm91cHMuaW87IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IExp bWluZyANCj4gR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBDaGVuLCBDaHJpc3RpbmUg PHl1d2VpLmNoZW5AaW50ZWwuY29tPg0KPiDmioTpgIE6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT47IERlc2ltb25lLCANCj4gTmF0aGFuaWVsIEwgPG5hdGhh bmllbC5sLmRlc2ltb25lQGludGVsLmNvbT4NCj4g5Li76aKYOiBSRTogW2VkazItZGV2ZWxdIFtQ YXRjaCBWMl0gQmFzZVRvb2xzOiBFbmFibGUgdGhlIGZsYWcgdG8gdHJlYXQNCmR5bmFtaWMNCj4g cGNkIGFzIGR5bmFtaWNFeA0KPiANCj4gSGkgTGltaW5nIGFuZCBDaHJpc3RpbmUsDQo+IA0KPiBE byB5b3UgaGF2ZSBhbnkgY29tbWVudHMgb24gdGhpcyBwYXRjaD8NCj4gDQo+IFRoYW5rcywNCj4g Qm9iDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBCb2IgDQo+IEZl bmcNCj4gU2VudDogVHVlc2RheSwgSnVuZSA4LCAyMDIxIDEwOjUwIEFNDQo+IFRvOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbw0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNu PjsgQ2hlbiwgQ2hyaXN0aW5lIA0KPiA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+OyBLaW5uZXksIE1p Y2hhZWwgRCANCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgRGVzaW1vbmUsIE5hdGhh bmllbCBMIA0KPiA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBb ZWRrMi1kZXZlbF0gW1BhdGNoIFYyXSBCYXNlVG9vbHM6IEVuYWJsZSB0aGUgZmxhZyB0byB0cmVh dA0KZHluYW1pYw0KPiBwY2QgYXMgZHluYW1pY0V4DQo+IA0KPiBSZWY6IGh0dHBzOi8vYnVnemls bGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4OA0KPiANCj4gSW4gb3JkZXIgdG8g c3VwcG9ydCBiaW5hcnkgYnVpbGQsIGJ1aWxkIHRvb2wgYWRkIGEgZmxhZyB0byBjb252ZXJ0IA0K PiB0eXBlIG9mIER5bmFtaWMgUGNkIHRvIER5bmFtaWNFeCBQY2QNCj4gDQo+IFVzZXIgY2FuIGFw cGVuZCAtRCBQQ0RfRFlOQU1JQ19BU19EWU5BTUlDRVggdG8gYnVpbGQgY29tbWFuZCB0byBlbmFi bGUgDQo+IHRoaXMgZnVuY3Rpb24uDQo+IEFsc28sIHVzZXIgY2FuIGFkZCAiUENEX0RZTkFNSUNf QVNfRFlOQU1JQ0VYID0gVFJVRS9GQUxTRSINCj4gdG8gdGhlIGRlZmluZXMgc2VjdGlvbiBvZiBE c2MgZmlsZSB0byBlbmFibGUgdGhpcyBmdW5jdGlvbi4NCj4gDQo+IFBDRF9EWU5BTUlDX0FTX0RZ TkFNSUNFWCBpcyBhIG5ldyByZXNlcnZlZCBrZXkgd29yZCBmb3IgdGhpcyBmdW5jdGlvbi4NCj4g DQo+IFNpZ25lZC1vZmYtYnk6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT4NCj4gQ2M6 IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gQ2M6IFl1d2VpIENoZW4g PHl1d2VpLmNoZW5AaW50ZWwuY29tPg0KPiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBOYXRlIERlU2ltb25lIDxuYXRoYW5pZWwubC5kZXNp bW9uZUBpbnRlbC5jb20+IC0tLUNvcnJlY3QgTGltaW5nJ3MgDQo+IGVtYWlsIGFkZHJlc3MuDQo+ ICBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Db21tb24vRGF0YVR5cGUucHkgICAgfCAgIDEgKw0K PiAgLi4uL1B5dGhvbi9Xb3Jrc3BhY2UvQnVpbGRDbGFzc09iamVjdC5weSAgICAgIHwgMTUzICsr KysrKysrLS0tLS0tLS0tLQ0KPiAgLi4uL1NvdXJjZS9QeXRob24vV29ya3NwYWNlL0RlY0J1aWxk RGF0YS5weSAgIHwgIDE1ICstDQo+ICAuLi4vU291cmNlL1B5dGhvbi9Xb3Jrc3BhY2UvRHNjQnVp bGREYXRhLnB5ICAgfCAgMTkgKy0tDQo+ICAuLi4vU291cmNlL1B5dGhvbi9Xb3Jrc3BhY2UvSW5m QnVpbGREYXRhLnB5ICAgfCAgMTUgKy0NCj4gIDUgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9u cygrKSwgMTMwIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9Tb3Vy Y2UvUHl0aG9uL0NvbW1vbi9EYXRhVHlwZS5weQ0KPiBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9u L0NvbW1vbi9EYXRhVHlwZS5weQ0KPiBpbmRleCBmYjg4ZjIwY2M0Li40ZTljOWUzNGFmIDEwMDY0 NA0KPiAtLS0gYS9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Db21tb24vRGF0YVR5cGUucHkNCj4g KysrIGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vQ29tbW9uL0RhdGFUeXBlLnB5DQo+IEBAIC00 MDIsMTAgKzQwMiwxMSBAQCBUQUJfRFNDX0RFRklORVNfRFNDX1NQRUNJRklDQVRJT04gPSANCj4g J0RTQ19TUEVDSUZJQ0FUSU9OJw0KPiAgVEFCX0RTQ19ERUZJTkVTX09VVFBVVF9ESVJFQ1RPUlkg PSAnT1VUUFVUX0RJUkVDVE9SWScNCj4gVEFCX0RTQ19ERUZJTkVTX1NVUFBPUlRFRF9BUkNISVRF Q1RVUkVTID0gJ1NVUFBPUlRFRF9BUkNISVRFQ1RVUkVTJyANCj4gVEFCX0RTQ19ERUZJTkVTX0JV SUxEX1RBUkdFVFMgPSAnQlVJTERfVEFSR0VUUycgDQo+IFRBQl9EU0NfREVGSU5FU19TS1VJRF9J REVOVElGSUVSID0gJ1NLVUlEX0lERU5USUZJRVInIA0KPiBUQUJfRFNDX0RFRklORVNfUENEX0lO Rk9fR0VORVJBVElPTiA9IA0KPiAnUENEX0lORk9fR0VORVJBVElPTicrVEFCX0RTQ19ERUZJTkVT X1BDRF9EWU5BTUlDX0FTX0RZTkFNSQ0KPiBDRVggPSAnUENEX0RZTkFNSUNfQVNfRFlOQU1JQ0VY Jw0KPiBUQUJfRFNDX0RFRklORVNfUENEX1ZBUl9DSEVDS19HRU5FUkFUSU9OID0gJ1BDRF9WQVJf Q0hFQ0tfR0VORVJBVElPTicgDQo+IFRBQl9EU0NfREVGSU5FU19GTEFTSF9ERUZJTklUSU9OID0g J0ZMQVNIX0RFRklOSVRJT04nIA0KPiBUQUJfRFNDX0RFRklORVNfQlVJTERfTlVNQkVSID0gJ0JV SUxEX05VTUJFUicgDQo+IFRBQl9EU0NfREVGSU5FU19NQUtFRklMRV9OQU1FID0gJ01BS0VGSUxF X05BTUUnDQo+IFRBQl9EU0NfREVGSU5FU19CU19CQVNFX0FERFJFU1MgPSAnQnNCYXNlQWRkcmVz cydkaWZmIC0tZ2l0IA0KPiBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1dvcmtzcGFjZS9CdWls ZENsYXNzT2JqZWN0LnB5DQo+IGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vV29ya3NwYWNlL0J1 aWxkQ2xhc3NPYmplY3QucHkNCj4gaW5kZXggZWJiNjVmYzJmZS4uODhhMWQxNTgyYyAxMDA2NDQN Cj4gLS0tIGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vV29ya3NwYWNlL0J1aWxkQ2xhc3NPYmpl Y3QucHkNCj4gKysrIGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vV29ya3NwYWNlL0J1aWxkQ2xh c3NPYmplY3QucHkNCj4gQEAgLTEwLDExICsxMCwxMyBAQCBmcm9tIENvbW1vbi5EYXRhVHlwZSBp bXBvcnQgKiAgaW1wb3J0IGNvbGxlY3Rpb25zIA0KPiBpbXBvcnQgcmUgZnJvbSBjb2xsZWN0aW9u cyBpbXBvcnQgT3JkZXJlZERpY3QgZnJvbSBDb21tb24uTWlzYyBpbXBvcnQgDQo+IENvcHlEaWN0 LEFycmF5SW5kZXggaW1wb3J0IGNvcHkrZnJvbSBDb21tb25EYXRhQ2xhc3MuRGF0YUNsYXNzIGlt cG9ydCANCj4gKiBpbXBvcnQgQ29tbW9uLkVka0xvZ2dlciBhcyBFZGtMb2dnZXIraW1wb3J0IENv bW1vbi5HbG9iYWxEYXRhIGFzIA0KPiBHbG9iYWxEYXRhIGZyb20gQ29tbW9uLkJ1aWxkVG9vbEVy cm9yIGltcG9ydCBPUFRJT05fVkFMVUVfSU5WQUxJRCBmcm9tIA0KPiBDb21tb24uY2FjaGluZyBp bXBvcnQgY2FjaGVkX3Byb3BlcnR5IFN0cnVjdFBhdHRlcm4gPSANCj4gcmUuY29tcGlsZShyJ1tf YS16QS1aXVswLTlBLVphLXpfXFtcXV0qJCcpICAjIyBQY2RDbGFzc09iamVjdEBAIA0KPiAtMzk2 LDEwICszOTgsNzEgQEAgY2xhc3MNCj4gU3RydWN0dXJlUGNkKFBjZENsYXNzT2JqZWN0KToNCj4g ICAgICAgICAgbmV3X3BjZC5WYWx1ZUNoYWluID0ge2l0ZW0gZm9yIGl0ZW0gaW4gc2VsZi5WYWx1 ZUNoYWlufSANCj4gcmV0dXJuIG5ld19wY2QgIExpYnJhcnlDbGFzc09iamVjdCA9IG5hbWVkdHVw bGUoJ0xpYnJhcnlDbGFzc09iamVjdCcsDQo+IFsnTGlicmFyeUNsYXNzJywnU3VwTW9kTGlzdCdd KSArY2xhc3MgQnVpbGREYXRhKG9iamVjdCk6KyAgICAjIGRpY3QgdXNlZA0KdG8NCj4gY29udmVy dCBQQ0QgdHlwZSBpbiBkYXRhYmFzZSB0byBzdHJpbmcgdXNlZCBieSBidWlsZCB0b29sKysNCj4g X1BDRF9UWVBFX1NUUklOR18gPSB7KyAgICAgICAgTU9ERUxfUENEX0ZJWEVEX0FUX0JVSUxEICAg ICAgICA6DQo+IFRBQl9QQ0RTX0ZJWEVEX0FUX0JVSUxELCsNCj4gTU9ERUxfUENEX1BBVENIQUJM RV9JTl9NT0RVTEUgICA6DQo+IFRBQl9QQ0RTX1BBVENIQUJMRV9JTl9NT0RVTEUsKw0KPiBNT0RF TF9QQ0RfRkVBVFVSRV9GTEFHICAgICAgICAgIDogICBUQUJfUENEU19GRUFUVVJFX0ZMQUcsKw0K PiBNT0RFTF9QQ0RfRFlOQU1JQyAgICAgICAgICAgICAgIDogICBUQUJfUENEU19EWU5BTUlDLCsN Cj4gTU9ERUxfUENEX0RZTkFNSUNfREVGQVVMVCAgICAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQywr DQo+IE1PREVMX1BDRF9EWU5BTUlDX0hJSSAgICAgICAgICAgOiAgIFRBQl9QQ0RTX0RZTkFNSUNf SElJLCsNCj4gTU9ERUxfUENEX0RZTkFNSUNfVlBEICAgICAgICAgICA6ICAgVEFCX1BDRFNfRFlO QU1JQ19WUEQsKw0KPiBNT0RFTF9QQ0RfRFlOQU1JQ19FWCAgICAgICAgICAgIDogICBUQUJfUENE U19EWU5BTUlDX0VYLCsNCj4gTU9ERUxfUENEX0RZTkFNSUNfRVhfREVGQVVMVCAgICA6ICAgVEFC X1BDRFNfRFlOQU1JQ19FWCwrDQo+IE1PREVMX1BDRF9EWU5BTUlDX0VYX0hJSSAgICAgICAgOiAg IFRBQl9QQ0RTX0RZTkFNSUNfRVhfSElJLCsNCj4gTU9ERUxfUENEX0RZTkFNSUNfRVhfVlBEICAg ICAgICA6DQo+IFRBQl9QQ0RTX0RZTkFNSUNfRVhfVlBELCsgICAgfSsrICAgIGRlZiBVcGRhdGVQ Y2RUeXBlRGljdChzZWxmKTorDQo+IGlmDQo+IEdsb2JhbERhdGEuZ0NvbW1hbmRMaW5lRGVmaW5l cy5nZXQoVEFCX0RTQ19ERUZJTkVTX1BDRF9EWU5BTUlDX0ENCj4gU19EWU5BTUlDRVgsIkZBTFNF IikudXBwZXIoKSA9PSAiVFJVRSI6KyBzZWxmLl9QQ0RfVFlQRV9TVFJJTkdfID0geysNCj4gTU9E RUxfUENEX0ZJWEVEX0FUX0JVSUxEICAgICAgICA6ICAgVEFCX1BDRFNfRklYRURfQVRfQlVJTEQs Kw0KPiBNT0RFTF9QQ0RfUEFUQ0hBQkxFX0lOX01PRFVMRSAgIDoNCj4gVEFCX1BDRFNfUEFUQ0hB QkxFX0lOX01PRFVMRSwrDQo+IE1PREVMX1BDRF9GRUFUVVJFX0ZMQUcgICAgICAgICAgOiAgIFRB Ql9QQ0RTX0ZFQVRVUkVfRkxBRywrDQo+IE1PREVMX1BDRF9EWU5BTUlDICAgICAgICAgICAgICAg OiAgIFRBQl9QQ0RTX0RZTkFNSUNfRVgsKw0KPiBNT0RFTF9QQ0RfRFlOQU1JQ19ERUZBVUxUICAg ICAgIDogICBUQUJfUENEU19EWU5BTUlDX0VYLCsNCj4gTU9ERUxfUENEX0RZTkFNSUNfSElJICAg ICAgICAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQ19FWF9ISUksKw0KPiBNT0RFTF9QQ0RfRFlOQU1J Q19WUEQgICAgICAgICAgIDoNCj4gVEFCX1BDRFNfRFlOQU1JQ19FWF9WUEQsKw0KPiBNT0RFTF9Q Q0RfRFlOQU1JQ19FWCAgICAgICAgICAgIDogICBUQUJfUENEU19EWU5BTUlDX0VYLCsNCj4gTU9E RUxfUENEX0RZTkFNSUNfRVhfREVGQVVMVCAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQ19FWCwrDQo+ IE1PREVMX1BDRF9EWU5BTUlDX0VYX0hJSSAgICAgICAgOiAgIFRBQl9QQ0RTX0RZTkFNSUNfRVhf SElJLCsNCj4gTU9ERUxfUENEX0RZTkFNSUNfRVhfVlBEICAgICAgICA6DQo+IFRBQl9QQ0RTX0RZ TkFNSUNfRVhfVlBELCsgICAgICAgICAgICB9KysgICAgIyMgQ29udmVydCB0aGUgY2xhc3MNCj4g dG8gYSBzdHJpbmcrICAgICMrICAgICMgIENvbnZlcnQgbWVtYmVyIE1ldGFGaWxlIG9mIHRoZSBj bGFzcyB0byBhIHN0cmluZysNCj4gIysgICAgIyAgQHJldHZhbCBzdHJpbmcgRm9ybWF0dGVkIFN0 cmluZysgICAgIysgICAgZGVmIF9fc3RyX18oc2VsZik6Kw0KPiByZXR1cm4gc3RyKHNlbGYuTWV0 YUZpbGUpKysgICAgIyMgT3ZlcnJpZGUgX19lcV9fIGZ1bmN0aW9uKyAgICAjKyAgICAjDQo+IENo ZWNrIHdoZXRoZXIgTW9kdWxlQnVpbGRDbGFzc09iamVjdHMgYXJlIHRoZSBzYW1lKyAgICAjKyAg ICAjDQo+IEByZXR2YWwgRmFsc2UgVGhlIHR3byBNb2R1bGVCdWlsZENsYXNzT2JqZWN0cyBhcmUg ZGlmZmVyZW50KyAgICAjIEByZXR2YWwNCj4gVHJ1ZSAgVGhlIHR3byBNb2R1bGVCdWlsZENsYXNz T2JqZWN0cyBhcmUgdGhlIHNhbWUrICAgICMrICAgIGRlZg0KPiBfX2VxX18oc2VsZiwgT3RoZXIp OisgICAgICAgIHJldHVybiBzZWxmLk1ldGFGaWxlID09IE90aGVyKysgICAgIyMNCj4gT3ZlcnJp ZGUgX19oYXNoX18gZnVuY3Rpb24rICAgICMrICAgICMgVXNlIE1ldGFGaWxlIGFzIGtleSBpbiBo YXNoDQo+IHRhYmxlKyAgICAjKyAgICAjIEByZXR2YWwgc3RyaW5nIEtleSBmb3IgaGFzaCB0YWJs ZSsgICAgIysgICAgZGVmDQo+IF9faGFzaF9fKHNlbGYpOisgICAgICAgIHJldHVybiBoYXNoKHNl bGYuTWV0YUZpbGUpKyAjIw0KPiBNb2R1bGVCdWlsZENsYXNzT2JqZWN0ICMgIyBUaGlzIENsYXNz IGRlZmluZXMgTW9kdWxlQnVpbGRDbGFzcyAjICMgQHBhcmFtDQo+IG9iamVjdDogICAgICAgICAg ICAgICBJbmhlcml0ZWQgZnJvbSBvYmplY3QgY2xhc3NAQCAtNDQwLDExICs1MDMsMTENCj4gQEAg TGlicmFyeUNsYXNzT2JqZWN0ID0gbmFtZWR0dXBsZSgnTGlicmFyeUNsYXNzT2JqZWN0JywgDQo+ IFsnTGlicmFyeUNsYXNzJywnU3VwTW9kTGlzDQo+ICAjICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeyBbKFBjZENOYW1lLCBQY2RHdWlkQ05hbWUpXSA6DQo+IFBjZENsYXNzT2JqZWN0fSAj IEB2YXIgQnVpbGRPcHRpb25zOiAgICAgICAgICAgVG8gc3RvcmUgdmFsdWUgZm9yDQo+IEJ1aWxk T3B0aW9ucywgaXQgaXMgYSBzZXQgc3RydWN0dXJlIGFzICMgeyBbQnVpbGRPcHRpb25LZXldIDog DQo+IEJ1aWxkT3B0aW9uVmFsdWV9ICMgQHZhciBEZXBleDoNCj4gVG8gc3RvcmUgdmFsdWUgZm9y IERlcGV4ICMtY2xhc3MgTW9kdWxlQnVpbGRDbGFzc09iamVjdChvYmplY3QpOitjbGFzcw0KPiBN b2R1bGVCdWlsZENsYXNzT2JqZWN0KEJ1aWxkRGF0YSk6ICAgICBkZWYgX19pbml0X18oc2VsZik6 DQo+IHNlbGYuQXV0b0dlblZlcnNpb24gICAgICAgICAgPSAwICAgICAgICAgc2VsZi5NZXRhRmls ZQ0KPiA9ICcnICAgICAgICAgc2VsZi5CYXNlTmFtZSAgICAgICAgICAgICAgICA9ICcnDQo+IHNl bGYuTW9kdWxlVHlwZSAgICAgICAgICAgICAgPSAnJ0BAIC00NzQsMzggKzUzNywxMCBAQCBjbGFz cw0KPiBNb2R1bGVCdWlsZENsYXNzT2JqZWN0KG9iamVjdCk6DQo+ICAgICAgICAgIHNlbGYuQnVp bGRPcHRpb25zICAgICAgICAgICAgPSB7fSAgICAgICAgIHNlbGYuRGVwZXgNCj4gPSB7fSAgICAg ICAgIHNlbGYuU3RyUGNkU2V0ICAgICAgICAgICAgICAgPSBbXQ0KPiBzZWxmLlN0clBjZE92ZXJh bGxWYWx1ZSAgICAgID0ge30gLSAgICAjIyBDb252ZXJ0IHRoZSBjbGFzcyB0byBhIHN0cmluZy0N Cj4gIy0gICAgIyAgQ29udmVydCBtZW1iZXIgTWV0YUZpbGUgb2YgdGhlIGNsYXNzIHRvIGEgc3Ry aW5nLSAgICAjLSAgICAjDQo+IEByZXR2YWwgc3RyaW5nIEZvcm1hdHRlZCBTdHJpbmctICAgICMt ICAgIGRlZiBfX3N0cl9fKHNlbGYpOi0NCj4gcmV0dXJuIHN0cihzZWxmLk1ldGFGaWxlKS0tICAg ICMjIE92ZXJyaWRlIF9fZXFfXyBmdW5jdGlvbi0gICAgIy0gICAgIw0KPiBDaGVjayB3aGV0aGVy IE1vZHVsZUJ1aWxkQ2xhc3NPYmplY3RzIGFyZSB0aGUgc2FtZS0gICAgIy0gICAgIyBAcmV0dmFs DQo+IEZhbHNlIFRoZSB0d28gTW9kdWxlQnVpbGRDbGFzc09iamVjdHMgYXJlIGRpZmZlcmVudC0g ICAgIyBAcmV0dmFsIFRydWUNCj4gVGhlIHR3byBNb2R1bGVCdWlsZENsYXNzT2JqZWN0cyBhcmUg dGhlIHNhbWUtICAgICMtICAgIGRlZiBfX2VxX18oc2VsZiwNCj4gT3RoZXIpOi0gICAgICAgIHJl dHVybiBzZWxmLk1ldGFGaWxlID09IE90aGVyLS0gICAgIyMgT3ZlcnJpZGUgX19oYXNoX18NCj4g ZnVuY3Rpb24tICAgICMtICAgICMgVXNlIE1ldGFGaWxlIGFzIGtleSBpbiBoYXNoIHRhYmxlLSAg ICAjLSAgICAjDQo+IEByZXR2YWwgc3RyaW5nIEtleSBmb3IgaGFzaCB0YWJsZS0gICAgIy0gICAg ZGVmIF9faGFzaF9fKHNlbGYpOi0NCj4gcmV0dXJuIGhhc2goc2VsZi5NZXRhRmlsZSktICMjIFBh Y2thZ2VCdWlsZENsYXNzT2JqZWN0ICMgIyBUaGlzIENsYXNzDQpkZWZpbmVzDQo+IFBhY2thZ2VC dWlsZENsYXNzICMgIyBAcGFyYW0gb2JqZWN0OiAgICAgICAgSW5oZXJpdGVkIGZyb20gb2JqZWN0 DQo+IGNsYXNzQEAgLTUyNSwxMSArNTYwLDExIEBAIGNsYXNzIE1vZHVsZUJ1aWxkQ2xhc3NPYmpl Y3Qob2JqZWN0KToNCj4gICMgQHZhciBMaWJyYXJ5Q2xhc3NlczogIFRvIHN0b3JlIHZhbHVlIGZv ciBMaWJyYXJ5Q2xhc3NlcywgaXQgaXMgYSBzZXQNCj4gc3RydWN0dXJlIGFzICMgICAgICAgICAg ICAgICAgICAgICAgIHsgW0xpYnJhcnlDbGFzc05hbWVdIDoNCj4gTGlicmFyeUNsYXNzSW5mRmls ZSB9ICMgQHZhciBQY2RzOiAgICAgICAgICAgIFRvIHN0b3JlIHZhbHVlIGZvciBQY2RzLCBpdA0K aXMgYQ0KPiBzZXQgc3RydWN0dXJlIGFzICMgICAgICAgICAgICAgICAgICAgICAgIHsgWyhQY2RD TmFtZSwNCj4gUGNkR3VpZENOYW1lKV0gOiBQY2RDbGFzc09iamVjdH0gIy1jbGFzcyANCj4gUGFj a2FnZUJ1aWxkQ2xhc3NPYmplY3Qob2JqZWN0KTorY2xhc3MgUGFja2FnZUJ1aWxkQ2xhc3NPYmpl Y3QoQnVpbGREYXRhKToNCj4gZGVmIF9faW5pdF9fKHNlbGYpOiAgICAgICAgIHNlbGYuTWV0YUZp bGUgICAgICAgICAgICAgICAgPSAnJw0KPiBzZWxmLlBhY2thZ2VOYW1lICAgICAgICAgICAgID0g JycgICAgICAgICBzZWxmLkd1aWQNCj4gPSAnJyAgICAgICAgIHNlbGYuVmVyc2lvbiAgICAgICAg ICAgICAgICAgPSAnJ0BAIC01MzksMzggKzU3NCwxMCBAQA0KPiBjbGFzcyBQYWNrYWdlQnVpbGRD bGFzc09iamVjdChvYmplY3QpOg0KPiAgICAgICAgICBzZWxmLkd1aWRzICAgICAgICAgICAgICAg ICAgID0ge30gICAgICAgICBzZWxmLkluY2x1ZGVzDQo+ID0gW10gICAgICAgICBzZWxmLkxpYnJh cnlDbGFzc2VzICAgICAgICAgID0ge30gICAgICAgICBzZWxmLlBjZHMNCj4gPSB7fSAtICAgICMj IENvbnZlcnQgdGhlIGNsYXNzIHRvIGEgc3RyaW5nLSAgICAjLSAgICAjICBDb252ZXJ0IG1lbWJl cg0KPiBNZXRhRmlsZSBvZiB0aGUgY2xhc3MgdG8gYSBzdHJpbmctICAgICMtICAgICMgIEByZXR2 YWwgc3RyaW5nIEZvcm1hdHRlZA0KPiBTdHJpbmctICAgICMtICAgIGRlZiBfX3N0cl9fKHNlbGYp Oi0gICAgICAgIHJldHVybiBzdHIoc2VsZi5NZXRhRmlsZSktLQ0KPiAjIyBPdmVycmlkZSBfX2Vx X18gZnVuY3Rpb24tICAgICMtICAgICMgQ2hlY2sgd2hldGhlcg0KPiBQYWNrYWdlQnVpbGRDbGFz c09iamVjdHMgYXJlIHRoZSBzYW1lLSAgICAjLSAgICAjIEByZXR2YWwgRmFsc2UgVGhlIHR3bw0K PiBQYWNrYWdlQnVpbGRDbGFzc09iamVjdHMgYXJlIGRpZmZlcmVudC0gICAgIyBAcmV0dmFsIFRy dWUgIFRoZSB0d28NCj4gUGFja2FnZUJ1aWxkQ2xhc3NPYmplY3RzIGFyZSB0aGUgc2FtZS0gICAg Iy0gICAgZGVmIF9fZXFfXyhzZWxmLCBPdGhlcik6LQ0KPiByZXR1cm4gc2VsZi5NZXRhRmlsZSA9 PSBPdGhlci0tICAgICMjIE92ZXJyaWRlIF9faGFzaF9fIGZ1bmN0aW9uLSAgICAjLQ0KPiAjIFVz ZSBNZXRhRmlsZSBhcyBrZXkgaW4gaGFzaCB0YWJsZS0gICAgIy0gICAgIyBAcmV0dmFsIHN0cmlu ZyBLZXkgZm9yDQpoYXNoDQo+IHRhYmxlLSAgICAjLSAgICBkZWYgX19oYXNoX18oc2VsZik6LSAg ICAgICAgcmV0dXJuIGhhc2goc2VsZi5NZXRhRmlsZSktICMjDQo+IFBsYXRmb3JtQnVpbGRDbGFz c09iamVjdCAjICMgVGhpcyBDbGFzcyBkZWZpbmVzIFBsYXRmb3JtQnVpbGRDbGFzcyAjICMNCj4g QHBhcmFtIG9iamVjdDogICAgICAgICAgSW5oZXJpdGVkIGZyb20gb2JqZWN0IGNsYXNzQEAgLTU5 NSwxMSArNjAyLDExDQo+IEBAIGNsYXNzIFBhY2thZ2VCdWlsZENsYXNzT2JqZWN0KG9iamVjdCk6 DQo+ICAjIEB2YXIgUGNkczogICAgICAgICAgICAgIFRvIHN0b3JlIHZhbHVlIGZvciBQY2RzLCBp dCBpcyBhIHNldCBzdHJ1Y3R1cmUNCmFzDQo+ICMgICAgICAgICAgICAgICAgICAgICAgICAgeyBb KFBjZENOYW1lLCBQY2RHdWlkQ05hbWUpXSA6DQo+IFBjZENsYXNzT2JqZWN0IH0gIyBAdmFyIEJ1 aWxkT3B0aW9uczogICAgICBUbyBzdG9yZSB2YWx1ZSBmb3INCkJ1aWxkT3B0aW9ucywNCj4gaXQg aXMgYSBzZXQgc3RydWN0dXJlIGFzICMgICAgICAgICAgICAgICAgICAgICAgICAgeyBbQnVpbGRP cHRpb25LZXldIDoNCj4gQnVpbGRPcHRpb25WYWx1ZSB9ICMtY2xhc3MgUGxhdGZvcm1CdWlsZENs YXNzT2JqZWN0KG9iamVjdCk6K2NsYXNzDQo+IFBsYXRmb3JtQnVpbGRDbGFzc09iamVjdChCdWls ZERhdGEpOiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOg0KPiBzZWxmLk1ldGFGaWxlICAgICAgICAg ICAgICAgID0gJycgICAgICAgICBzZWxmLlBsYXRmb3JtTmFtZQ0KPiA9ICcnICAgICAgICAgc2Vs Zi5HdWlkICAgICAgICAgICAgICAgICAgICA9ICcnICAgICAgICAgc2VsZi5WZXJzaW9uDQo+ID0g JydAQCAtNjE0LDMzICs2MjEsNSBAQCBjbGFzcyBQbGF0Zm9ybUJ1aWxkQ2xhc3NPYmplY3Qob2Jq ZWN0KToNCj4gICAgICAgICAgc2VsZi5MaWJyYXJ5SW5zdGFuY2VzICAgICAgICA9IFtdICAgICAg ICAgc2VsZi5MaWJyYXJ5Q2xhc3Nlcw0KPiA9IHt9ICAgICAgICAgc2VsZi5MaWJyYXJpZXMgICAg ICAgICAgICAgICA9IHt9ICAgICAgICAgc2VsZi5QY2RzDQo+ID0ge30gICAgICAgICBzZWxmLkJ1 aWxkT3B0aW9ucyAgICAgICAgICAgID0ge30tLSAgICAjIyBDb252ZXJ0IHRoZSBjbGFzcw0KPiB0 byBhIHN0cmluZy0gICAgIy0gICAgIyAgQ29udmVydCBtZW1iZXIgTWV0YUZpbGUgb2YgdGhlIGNs YXNzIHRvIGEgc3RyaW5nLQ0KPiAjLSAgICAjICBAcmV0dmFsIHN0cmluZyBGb3JtYXR0ZWQgU3Ry aW5nLSAgICAjLSAgICBkZWYgX19zdHJfXyhzZWxmKTotDQo+IHJldHVybiBzdHIoc2VsZi5NZXRh RmlsZSktLSAgICAjIyBPdmVycmlkZSBfX2VxX18gZnVuY3Rpb24tICAgICMtICAgICMNCj4gQ2hl Y2sgd2hldGhlciBQbGF0Zm9ybUJ1aWxkQ2xhc3NPYmplY3RzIGFyZSB0aGUgc2FtZS0gICAgIy0g ICAgIw0KPiBAcmV0dmFsIEZhbHNlIFRoZSB0d28gUGxhdGZvcm1CdWlsZENsYXNzT2JqZWN0cyBh cmUgZGlmZmVyZW50LSAgICAjDQo+IEByZXR2YWwgVHJ1ZSAgVGhlIHR3byBQbGF0Zm9ybUJ1aWxk Q2xhc3NPYmplY3RzIGFyZSB0aGUgc2FtZS0gICAgIy0NCj4gZGVmIF9fZXFfXyhzZWxmLCBPdGhl cik6LSAgICAgICAgcmV0dXJuIHNlbGYuTWV0YUZpbGUgPT0gT3RoZXItLSAgICAjIw0KPiBPdmVy cmlkZSBfX2hhc2hfXyBmdW5jdGlvbi0gICAgIy0gICAgIyBVc2UgTWV0YUZpbGUgYXMga2V5IGlu IGhhc2ggdGFibGUtDQo+ICMtICAgICMgQHJldHZhbCBzdHJpbmcgS2V5IGZvciBoYXNoIHRhYmxl LSAgICAjLSAgICBkZWYgX19oYXNoX18oc2VsZik6LQ0KPiByZXR1cm4gaGFzaChzZWxmLk1ldGFG aWxlKWRpZmYgLS1naXQNCj4gYS9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Xb3Jrc3BhY2UvRGVj QnVpbGREYXRhLnB5DQo+IGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vV29ya3NwYWNlL0RlY0J1 aWxkRGF0YS5weQ0KPiBpbmRleCAzMDgyNmEzY2VhLi5kYTdhNTJjNWQwIDEwMDY0NA0KPiAtLS0g YS9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Xb3Jrc3BhY2UvRGVjQnVpbGREYXRhLnB5DQo+ICsr KyBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1dvcmtzcGFjZS9EZWNCdWlsZERhdGEucHkNCj4g QEAgLTE5LDI0ICsxOSwxMCBAQCBmcm9tIHJlIGltcG9ydCBjb21waWxlICAjICMgIFRoaXMgY2xh c3MgaXMgdXNlZCB0byANCj4gcmV0cmlldmUgaW5mb3JtYXRpb24gc3RvcmVkIGluIGRhdGFiYXNl IGFuZCBjb252ZXJ0IHRoZW0gIyBpbnRvIA0KPiBQYWNrYWdlQnVpbGRDbGFzc09iamVjdCBmb3Jt IGZvciBlYXNpZXIgdXNlIGZvcg0KQXV0b0dlbi4NCj4gIyBjbGFzcyBEZWNCdWlsZERhdGEoUGFj a2FnZUJ1aWxkQ2xhc3NPYmplY3QpOi0gICAgIyBkaWN0IHVzZWQgdG8gY29udmVydA0KPiBQQ0Qg dHlwZSBpbiBkYXRhYmFzZSB0byBzdHJpbmcgdXNlZCBieSBidWlsZCB0b29sLSAgICBfUENEX1RZ UEVfU1RSSU5HXyA9DQo+IHstICAgICAgICBNT0RFTF9QQ0RfRklYRURfQVRfQlVJTEQgICAgICAg IDoNCj4gVEFCX1BDRFNfRklYRURfQVRfQlVJTEQsLQ0KPiBNT0RFTF9QQ0RfUEFUQ0hBQkxFX0lO X01PRFVMRSAgIDoNCj4gVEFCX1BDRFNfUEFUQ0hBQkxFX0lOX01PRFVMRSwtDQo+IE1PREVMX1BD RF9GRUFUVVJFX0ZMQUcgICAgICAgICAgOiAgIFRBQl9QQ0RTX0ZFQVRVUkVfRkxBRywtDQo+IE1P REVMX1BDRF9EWU5BTUlDICAgICAgICAgICAgICAgOiAgIFRBQl9QQ0RTX0RZTkFNSUMsLQ0KPiBN T0RFTF9QQ0RfRFlOQU1JQ19ERUZBVUxUICAgICAgIDogICBUQUJfUENEU19EWU5BTUlDLC0NCj4g TU9ERUxfUENEX0RZTkFNSUNfSElJICAgICAgICAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQ19ISUks LQ0KPiBNT0RFTF9QQ0RfRFlOQU1JQ19WUEQgICAgICAgICAgIDogICBUQUJfUENEU19EWU5BTUlD X1ZQRCwtDQo+IE1PREVMX1BDRF9EWU5BTUlDX0VYICAgICAgICAgICAgOiAgIFRBQl9QQ0RTX0RZ TkFNSUNfRVgsLQ0KPiBNT0RFTF9QQ0RfRFlOQU1JQ19FWF9ERUZBVUxUICAgIDogICBUQUJfUENE U19EWU5BTUlDX0VYLC0NCj4gTU9ERUxfUENEX0RZTkFNSUNfRVhfSElJICAgICAgICA6ICAgVEFC X1BDRFNfRFlOQU1JQ19FWF9ISUksLQ0KPiBNT0RFTF9QQ0RfRFlOQU1JQ19FWF9WUEQgICAgICAg IDoNCj4gVEFCX1BDRFNfRFlOQU1JQ19FWF9WUEQsLSAgICB9ICAgICAgIyBkaWN0IHVzZWQgdG8g Y29udmVydCBwYXJ0IG9mDQo+IFtEZWZpbmVzXSB0byBtZW1iZXJzIG9mIERlY0J1aWxkRGF0YSBk aXJlY3RseSAgICAgX1BST1BFUlRZXyA9DQo+IHsgICAgICAgICAjICAgICAgICAgIyBSZXF1aXJl ZCBGaWVsZHNAQCAtNjYsMTAgKzUyLDExIEBAIGNsYXNzDQo+IERlY0J1aWxkRGF0YShQYWNrYWdl QnVpbGRDbGFzc09iamVjdCk6DQo+ICAgICAgICAgIHNlbGYuX0JkYiA9IEJ1aWxkRGF0YUJhc2Ug ICAgICAgICBzZWxmLl9BcmNoID0gQXJjaA0KPiBzZWxmLl9UYXJnZXQgPSBUYXJnZXQgICAgICAg ICBzZWxmLl9Ub29sY2hhaW4gPSBUb29sY2hhaW4NCj4gc2VsZi5fQ2xlYXIoKSsgICAgICAgIHNl bGYuVXBkYXRlUGNkVHlwZURpY3QoKSAgICAgICMjIFhYWFtrZXldID0gdmFsdWUNCj4gZGVmIF9f c2V0aXRlbV9fKHNlbGYsIGtleSwgdmFsdWUpOg0KPiBzZWxmLl9fZGljdF9fW3NlbGYuX1BST1BF UlRZX1trZXldXSA9IHZhbHVlIGRpZmYgLS1naXQgDQo+IGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRo b24vV29ya3NwYWNlL0RzY0J1aWxkRGF0YS5weQ0KPiBiL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9u L1dvcmtzcGFjZS9Ec2NCdWlsZERhdGEucHkNCj4gaW5kZXggNWYwN2QzZTc1Yy4uNGQ1YjFhZDRk OSAxMDA2NDQNCj4gLS0tIGEvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vV29ya3NwYWNlL0RzY0J1 aWxkRGF0YS5weQ0KPiArKysgYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Xb3Jrc3BhY2UvRHNj QnVpbGREYXRhLnB5DQo+IEBAIC0xNzcsMjQgKzE3NywxMCBAQCBkZWYgR2V0RGVwZW5kZW5jeUxp c3QoRmlsZVN0YWNrLCBTZWFyY2hQYXRoTGlzdCk6DQo+ICAgICAgRGVwZW5kZW5jeUxpc3QgPSBs aXN0KERlcGVuZGVuY3lTZXQpICAjIHJlbW92ZSBkdXBsaWNhdGUgb25lcyANCj4gcmV0dXJuIERl cGVuZGVuY3lMaXN0ICBjbGFzcyBEc2NCdWlsZERhdGEoUGxhdGZvcm1CdWlsZENsYXNzT2JqZWN0 KTotDQo+ICMgZGljdCB1c2VkIHRvIGNvbnZlcnQgUENEIHR5cGUgaW4gZGF0YWJhc2UgdG8gc3Ry aW5nIHVzZWQgYnkgYnVpbGQgdG9vbC0NCj4gX1BDRF9UWVBFX1NUUklOR18gPSB7LSAgICAgICAg TU9ERUxfUENEX0ZJWEVEX0FUX0JVSUxEICAgICAgICA6DQo+IFRBQl9QQ0RTX0ZJWEVEX0FUX0JV SUxELC0NCj4gTU9ERUxfUENEX1BBVENIQUJMRV9JTl9NT0RVTEUgICA6DQo+IFRBQl9QQ0RTX1BB VENIQUJMRV9JTl9NT0RVTEUsLQ0KPiBNT0RFTF9QQ0RfRkVBVFVSRV9GTEFHICAgICAgICAgIDog ICBUQUJfUENEU19GRUFUVVJFX0ZMQUcsLQ0KPiBNT0RFTF9QQ0RfRFlOQU1JQyAgICAgICAgICAg ICAgIDogICBUQUJfUENEU19EWU5BTUlDLC0NCj4gTU9ERUxfUENEX0RZTkFNSUNfREVGQVVMVCAg ICAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQywtDQo+IE1PREVMX1BDRF9EWU5BTUlDX0hJSSAgICAg ICAgICAgOiAgIFRBQl9QQ0RTX0RZTkFNSUNfSElJLC0NCj4gTU9ERUxfUENEX0RZTkFNSUNfVlBE ICAgICAgICAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQ19WUEQsLQ0KPiBNT0RFTF9QQ0RfRFlOQU1J Q19FWCAgICAgICAgICAgIDogICBUQUJfUENEU19EWU5BTUlDX0VYLC0NCj4gTU9ERUxfUENEX0RZ TkFNSUNfRVhfREVGQVVMVCAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQ19FWCwtDQo+IE1PREVMX1BD RF9EWU5BTUlDX0VYX0hJSSAgICAgICAgOiAgIFRBQl9QQ0RTX0RZTkFNSUNfRVhfSElJLC0NCj4g TU9ERUxfUENEX0RZTkFNSUNfRVhfVlBEICAgICAgICA6DQo+IFRBQl9QQ0RTX0RZTkFNSUNfRVhf VlBELC0gICAgfSAgICAgICMgZGljdCB1c2VkIHRvIGNvbnZlcnQgcGFydCBvZg0KPiBbRGVmaW5l c10gdG8gbWVtYmVycyBvZiBEc2NCdWlsZERhdGEgZGlyZWN0bHkgICAgIF9QUk9QRVJUWV8gPQ0K PiB7ICAgICAgICAgIyAgICAgICAgICMgUmVxdWlyZWQgRmllbGRzQEAgLTI0MCwxMSArMjI2LDEx IEBAIGNsYXNzDQo+IERzY0J1aWxkRGF0YShQbGF0Zm9ybUJ1aWxkQ2xhc3NPYmplY3QpOg0KPiAg ICAgICAgICBzZWxmLl9Ub29sQ2hhaW5GYW1pbHkgPSBOb25lICAgICAgICAgc2VsZi5fQ2xlYXIo KQ0KPiBzZWxmLldvcmtzcGFjZURpciA9IG9zLmdldGVudigiV09SS1NQQUNFIikgaWYgb3MuZ2V0 ZW52KCJXT1JLU1BBQ0UiKQ0KPiBlbHNlICIiICAgICAgICAgc2VsZi5EZWZhdWx0U3RvcmVzID0g Tm9uZSAgICAgICAgIHNlbGYuU2t1SWRNZ3IgPQ0KPiBTa3VDbGFzcyhzZWxmLlNrdU5hbWUsIHNl bGYuU2t1SWRzKS0rICAgICAgICBzZWxmLlVwZGF0ZVBjZFR5cGVEaWN0KCkNCj4gQHByb3BlcnR5 ICAgICBkZWYgT3V0cHV0UGF0aChzZWxmKTogICAgICAgICBpZiBvcy5nZXRlbnYoIldPUktTUEFD RSIpOg0KPiByZXR1cm4gb3MucGF0aC5qb2luKG9zLmdldGVudigiV09SS1NQQUNFIiksIHNlbGYu T3V0cHV0RGlyZWN0b3J5LA0KPiBzZWxmLl9UYXJnZXQgKyAiXyIgKyBzZWxmLl9Ub29sY2hhaW4s IFBjZFZhbHVlSW5pdE5hbWUpICAgICAgICAgZWxzZTpAQA0KPiAtNDA5LDEwICszOTUsMTMgQEAg Y2xhc3MgRHNjQnVpbGREYXRhKFBsYXRmb3JtQnVpbGRDbGFzc09iamVjdCk6DQo+ICAgICAgICAg ICAgICAgICAgdHJ5OiAgICAgICAgICAgICAgICAgICAgIHV1aWQuVVVJRChSZWNvcmRbMl0pDQo+ IGV4Y2VwdDogICAgICAgICAgICAgICAgICAgICBFZGtMb2dnZXIuZXJyb3IoImJ1aWxkIiwgRk9S TUFUX0lOVkFMSUQsDQo+ICJJbnZhbGlkIEdVSUQgZm9ybWF0IGZvciBWUERfVE9PTF9HVUlEIiwg RmlsZT1zZWxmLk1ldGFGaWxlKQ0KPiBzZWxmLl9WcGRUb29sR3VpZCA9IFJlY29yZFsyXSsgICAg ICAgICAgICBlbGlmIE5hbWUgPT0NCj4gVEFCX0RTQ19ERUZJTkVTX1BDRF9EWU5BTUlDX0FTX0RZ TkFNSUNFWDorICAgICAgICAgICAgICAgIGlmDQo+IFRBQl9EU0NfREVGSU5FU19QQ0RfRFlOQU1J Q19BU19EWU5BTUlDRVggbm90IGluIGdDb21tYW5kTGluZURlZmluZXM6KyANCj4gZ0NvbW1hbmRM aW5lRGVmaW5lc1tUQUJfRFNDX0RFRklORVNfUENEX0RZTkFNSUNfQVNfRFlOQU1JQ0VYXQ0KPiA9 IFJlY29yZFsyXS5zdHJpcCgpICAgICAgICAgICAgIGVsaWYgTmFtZSBpbiBzZWxmOg0KPiBzZWxm W05hbWVdID0gUmVjb3JkWzJdICAgICAgICAgIyBzZXQgX0hlYWRlciB0byBub24tTm9uZSBpbiBv cmRlciB0bw0KPiBhdm9pZCBkYXRhYmFzZSByZS1xdWVyeWluZyAgICAgICAgIHNlbGYuX0hlYWRl ciA9ICdEVU1NWScgZGlmZiAtLWdpdA0KPiBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1dvcmtz cGFjZS9JbmZCdWlsZERhdGEucHkNCj4gYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Xb3Jrc3Bh Y2UvSW5mQnVpbGREYXRhLnB5DQo+IGluZGV4IDc2NzViMGVhMDAuLjQ1YjhlZjQ3MTYgMTAwNjQ0 DQo+IC0tLSBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1dvcmtzcGFjZS9JbmZCdWlsZERhdGEu cHkNCj4gKysrIGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vV29ya3NwYWNlL0luZkJ1aWxkRGF0 YS5weQ0KPiBAQCAtNTcsMjQgKzU3LDEwIEBAIGRlZiBfUHBpVmFsdWUoQ05hbWUsIFBhY2thZ2VM aXN0LCBJbmZmaWxlID0gTm9uZSk6DQo+ICAjICMgIFRoaXMgY2xhc3MgaXMgdXNlZCB0byByZXRy aWV2ZSBpbmZvcm1hdGlvbiBzdG9yZWQgaW4gZGF0YWJhc2UgDQo+IGFuZCBjb252ZXJ0IHRoZW0g IyBpbnRvIE1vZHVsZUJ1aWxkQ2xhc3NPYmplY3QgZm9ybSBmb3IgZWFzaWVyIHVzZSBmb3INCkF1 dG9HZW4uDQo+ICMgY2xhc3MgSW5mQnVpbGREYXRhKE1vZHVsZUJ1aWxkQ2xhc3NPYmplY3QpOi0g ICAgIyBkaWN0IHVzZWQgdG8gY29udmVydA0KPiBQQ0QgdHlwZSBpbiBkYXRhYmFzZSB0byBzdHJp bmcgdXNlZCBieSBidWlsZCB0b29sLSAgICBfUENEX1RZUEVfU1RSSU5HXyA9DQo+IHstICAgICAg ICBNT0RFTF9QQ0RfRklYRURfQVRfQlVJTEQgICAgICAgIDoNCj4gVEFCX1BDRFNfRklYRURfQVRf QlVJTEQsLQ0KPiBNT0RFTF9QQ0RfUEFUQ0hBQkxFX0lOX01PRFVMRSAgIDoNCj4gVEFCX1BDRFNf UEFUQ0hBQkxFX0lOX01PRFVMRSwtDQo+IE1PREVMX1BDRF9GRUFUVVJFX0ZMQUcgICAgICAgICAg OiAgIFRBQl9QQ0RTX0ZFQVRVUkVfRkxBRywtDQo+IE1PREVMX1BDRF9EWU5BTUlDICAgICAgICAg ICAgICAgOiAgIFRBQl9QQ0RTX0RZTkFNSUMsLQ0KPiBNT0RFTF9QQ0RfRFlOQU1JQ19ERUZBVUxU ICAgICAgIDogICBUQUJfUENEU19EWU5BTUlDLC0NCj4gTU9ERUxfUENEX0RZTkFNSUNfSElJICAg ICAgICAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQ19ISUksLQ0KPiBNT0RFTF9QQ0RfRFlOQU1JQ19W UEQgICAgICAgICAgIDogICBUQUJfUENEU19EWU5BTUlDX1ZQRCwtDQo+IE1PREVMX1BDRF9EWU5B TUlDX0VYICAgICAgICAgICAgOiAgIFRBQl9QQ0RTX0RZTkFNSUNfRVgsLQ0KPiBNT0RFTF9QQ0Rf RFlOQU1JQ19FWF9ERUZBVUxUICAgIDogICBUQUJfUENEU19EWU5BTUlDX0VYLC0NCj4gTU9ERUxf UENEX0RZTkFNSUNfRVhfSElJICAgICAgICA6ICAgVEFCX1BDRFNfRFlOQU1JQ19FWF9ISUksLQ0K PiBNT0RFTF9QQ0RfRFlOQU1JQ19FWF9WUEQgICAgICAgIDoNCj4gVEFCX1BDRFNfRFlOQU1JQ19F WF9WUEQsLSAgICB9ICAgICAgIyBkaWN0IHVzZWQgdG8gY29udmVydCBwYXJ0IG9mDQo+IFtEZWZp bmVzXSB0byBtZW1iZXJzIG9mIEluZkJ1aWxkRGF0YSBkaXJlY3RseSAgICAgX1BST1BFUlRZXyA9 DQo+IHsgICAgICAgICAjICAgICAgICAgIyBSZXF1aXJlZCBGaWVsZHNAQCAtMTUyLDEwICsxMzgs MTEgQEAgY2xhc3MNCj4gSW5mQnVpbGREYXRhKE1vZHVsZUJ1aWxkQ2xhc3NPYmplY3QpOg0KPiAg ICAgICAgICBzZWxmLl9HdWlkc1VzZWRCeVBjZCA9IE9yZGVyZWREaWN0KCkNCj4gc2VsZi5fR3Vp ZENvbW1lbnRzID0gTm9uZSAgICAgICAgIHNlbGYuX1BjZENvbW1lbnRzID0gTm9uZQ0KPiBzZWxm Ll9CdWlsZE9wdGlvbnMgPSBOb25lICAgICAgICAgc2VsZi5fRGVwZW5kZW5jeUZpbGVMaXN0ID0g Tm9uZSsNCj4gc2VsZi5VcGRhdGVQY2RUeXBlRGljdCgpICAgICAgICAgc2VsZi5MaWJJbnN0YW5j ZXMgPSBbXQ0KPiBzZWxmLlJlZmVyZW5jZU1vZHVsZXMgPSBzZXQoKSAgICAgIGRlZiBTZXRSZWZl cmVuY2VNb2R1bGUoc2VsZixNb2R1bGUpOg0KPiBzZWxmLlJlZmVyZW5jZU1vZHVsZXMuYWRkKE1v ZHVsZSktLQ0KPiAyLjI5LjEud2luZG93cy4xDQo+IA0KPiANCj4gDQo+IC09LT0tPS09LT0tPQ0K PiBHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMg Z3JvdXAuDQo+IFZpZXcvUmVwbHkgT25saW5lICgjNzYxNzYpOiANCj4gaHR0cHM6Ly9lZGsyLmdy b3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNzYxNzYNCj4gTXV0ZSBUaGlzIFRvcGljOiBodHRwczov L2dyb3Vwcy5pby9tdC84MzM4ODA1NS8xNzY4NzQyDQo+IEdyb3VwIE93bmVyOiBkZXZlbCtvd25l ckBlZGsyLmdyb3Vwcy5pbw0KPiBVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9n L2RldmVsL3Vuc3ViIA0KPiBbYm9iLmMuZmVuZ0BpbnRlbC5jb21dIC09LT0tPS09LT0tPQ0KPiAN Cg0KDQoNCg0KDQoNCg0KDQo=