From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 0EE9A5902 for ; Fri, 18 Mar 2016 07:59:17 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP; 17 Mar 2016 23:59:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,353,1455004800"; d="scan'208";a="68804831" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga004.fm.intel.com with ESMTP; 17 Mar 2016 23:59:16 -0700 Received: from fmsmsx157.amr.corp.intel.com (10.18.116.73) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 17 Mar 2016 23:59:15 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX157.amr.corp.intel.com (10.18.116.73) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 17 Mar 2016 23:59:14 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.24]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.132]) with mapi id 14.03.0248.002; Fri, 18 Mar 2016 14:59:06 +0800 From: "Liu, Yong" To: "Xu, Qian Q" , "dts@dpdk.org" CC: "Xu, Qian Q" Thread-Topic: [dts] [PATCH] add 3 test plans for dpdk16.04 Thread-Index: AQHRfyST86gg6IYVLkmIXL2zFDW8J59eyI7A Date: Fri, 18 Mar 2016 06:59:05 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E14EC6BC2@SHSMSX103.ccr.corp.intel.com> References: <1458092285-18249-1-git-send-email-qian.q.xu@intel.com> In-Reply-To: <1458092285-18249-1-git-send-email-qian.q.xu@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTE4OWU4OTktYjJlOS00OTg5LTgzMzYtNjI3NDJmODQxYTE4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IjdEYlV3NGI5cVc5WHhIank0eUR4bWt2RWNEeFh2cjVHM01KSGJUeThlaWc9In0= x-ctpclassification: CTP_IC x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dts] [PATCH] add 3 test plans for dpdk16.04 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Mar 2016 06:59:19 -0000 SGkgUWlhbiwNClBsZWFzZSBzZXBhcmF0ZWQgdGhpcyBwYXRjaCBmb3IgdGhvc2UgdGhyZWUgdGVz dCBwbGFucyBoYXZlIG5vIHJlbGF0aW9ucyB0byBlYWNoIG90aGVyLg0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGR0cyBbbWFpbHRvOmR0cy1ib3VuY2VzQGRwZGsub3Jn XSBPbiBCZWhhbGYgT2YgUWlhbiBYdQ0KPiBTZW50OiBXZWRuZXNkYXksIE1hcmNoIDE2LCAyMDE2 IDk6MzggQU0NCj4gVG86IGR0c0BkcGRrLm9yZw0KPiBDYzogWHUsIFFpYW4gUQ0KPiBTdWJqZWN0 OiBbZHRzXSBbUEFUQ0hdIGFkZCAzIHRlc3QgcGxhbnMgZm9yIGRwZGsxNi4wNA0KPiANCj4gVGhl IDMgdGVzdCBwbGFucyBoYXZlIGJlZW4gcmV2aWV3ZWQgd2l0aCBkZXZlbG9wZXJzLg0KPiANCj4g U2lnbmVkLW9mZi1ieTogUWlhbiBYdSA8cWlhbi5xLnh1QGludGVsLmNvbT4NCj4gDQo+IGRpZmYg LS1naXQgYS90ZXN0X3BsYW5zL3ZlYl9zd2l0Y2hfdGVzdF9wbGFuLnJzdA0KPiBiL3Rlc3RfcGxh bnMvdmViX3N3aXRjaF90ZXN0X3BsYW4ucnN0DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAuLjQ2MjljMjENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi90ZXN0X3BsYW5z L3ZlYl9zd2l0Y2hfdGVzdF9wbGFuLnJzdA0KPiBAQCAtMCwwICsxLDI2OCBAQA0KPiArLi4gQ29w eXJpZ2h0IChjKSA8MjAxNj4sIEludGVsIENvcnBvcmF0aW9uDQo+ICsgICBBbGwgcmlnaHRzIHJl c2VydmVkLg0KPiArDQo+ICsgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCj4gKyAgIG1vZGlmaWNhdGlvbiwgYXJlIHBl cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KPiArICAgYXJl IG1ldDoNCj4gKw0KPiArICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KPiArICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQo+ICsNCj4gKyAgIC0gUmVk aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5 cmlnaHQNCj4gKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv bGxvd2luZyBkaXNjbGFpbWVyIGluDQo+ICsgICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUNCj4gKyAgICAgZGlzdHJpYnV0aW9uLg0K PiArDQo+ICsgICAtIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRo ZSBuYW1lcyBvZiBpdHMNCj4gKyAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkDQo+ICsgICAgIGZyb20gdGhpcyBzb2Z0d2Fy ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCj4gKw0KPiArICAg VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP TlRSSUJVVE9SUw0KPiArICAgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QNCj4gKyAgIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQo+ICsgICBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQ0K PiArICAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE SVJFQ1QsIElORElSRUNULA0KPiArICAgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP UiBDT05TRVFVRU5USUFMIERBTUFHRVMNCj4gKyAgIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUg0KPiArICAgU0VSVklDRVM7 IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p DQo+ICsgICBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI RVRIRVIgSU4gQ09OVFJBQ1QsDQo+ICsgICBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpDQo+ICsgICBBUklTSU5HIElOIEFOWSBXQVkg T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEDQo+ICsgICBP RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQo+ICsNCj4gKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NCj4gK1ZFQiBTd2l0Y2ggYW5kIGZsb2F0aW5nIFZFQiBU ZXN0IFBsYW4NCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKw0K PiArVkVCIFN3aXRjaGluZyBJbnRyb2R1Y3Rpb24NCj4gKz09PT09PT09PT09PT09PT09PT09PT09 PT09DQo+ICsNCj4gK0lFRUUgRVZCIHR1dG9yaWFsOiBodHRwOi8vd3d3LmllZWU4MDIub3JnLzgw Ml90dXRvcmlhbHMvMjAwOS0xMS9ldmItDQo+IHR1dG9yaWFsLWRyYWZ0LTIwMDkxMTE2X3YwOS5w ZGYNCj4gKw0KPiArVmlydHVhbCBFdGhlcm5ldCBCcmlkZ2UgKFZFQikgLSBUaGlzIGlzIGFuIElF RUUgRVZCIHRlcm0uIEEgVkVCIGlzIGENCj4gVkxBTiBCcmlkZ2UgaW50ZXJuYWwgdG8gRm9ydHZp bGxlIHRoYXQgYnJpZGdlcyB0aGUgdHJhZmZpYyBvZiBtdWx0aXBsZQ0KPiBWU0lzIG92ZXIgYW4g aW50ZXJuYWwgdmlydHVhbCBuZXR3b3JrLg0KPiArDQo+ICtWaXJ0dWFsIEV0aGVybmV0IFBvcnQg QWdncmVnYXRvciAoVkVQQSkgLSBUaGlzIGlzIGFuIElFRUUgRVZCIHRlcm0uIEENCj4gVkVQQSBt dWx0aXBsZXhlcyB0aGUgdHJhZmZpYyBvZiBvbmUgb3IgbW9yZSBWU0lzIG9udG8gYSBzaW5nbGUg Rm9ydHZpbGxlDQo+IEV0aGVybmV0IHBvcnQuIFRoZSBiaWdnZXN0IGRpZmZlcmVuY2UgYmV0d2Vl biBhIFZFQiBhbmQgYSBWRVBBIGlzIHRoYXQgYQ0KPiBWRUIgY2FuIHN3aXRjaCBwYWNrZXRzIGlu dGVybmFsbHkgYmV0d2VlbiBWU0lzLCB3aGVyZWFzIGEgVkVQQSBjYW5ub3QuDQo+ICsNCj4gK1Zp cnR1YWwgU3RhdGlvbiBJbnRlcmZhY2UgKFZTSSkgLSBUaGlzIGlzIGFuIElFRUUgRVZCIHRlcm0g dGhhdCBkZWZpbmVzDQo+IHRoZSBwcm9wZXJ0aWVzIG9mIGEgdmlydHVhbCBtYWNoaW5lJ3MgKG9y IGEgcGh5c2ljYWwgbWFjaGluZSdzKQ0KPiBjb25uZWN0aW9uIHRvIHRoZSBuZXR3b3JrLiBFYWNo IGRvd25zdHJlYW0gdi1wb3J0IG9uIGEgRm9ydHZpbGxlIFZFQiBvcg0KPiBWRVBBIGRlZmluZXMg YSBWU0kuIEEgc3RhbmRhcmRzLWJhc2VkIGRlZmluaXRpb24gb2YgVlNJIHByb3BlcnRpZXMNCj4g ZW5hYmxlcyBuZXR3b3JrIG1hbmFnZW1lbnQgdG9vbHMgdG8gcGVyZm9ybSB2aXJ0dWFsIG1hY2hp bmUgbWlncmF0aW9uIGFuZA0KPiBhc3NvY2lhdGVkIG5ldHdvcmsgcmUtY29uZmlndXJhdGlvbiBp biBhIHZlbmRvci1uZXV0cmFsIG1hbm5lci4NCj4gKw0KPiArTXkgdW5kZXJzdGFuZGluZyBvZiBW RUIgaXMgdGhhdCBpdCdzIGFuIGluLU5JQyBzd2l0Y2goTUFDL1ZMQU4pLCBhbmQgaXQNCj4gY2Fu IHN1cHBvcnQgVkYtPlZGLCBQRi0+VkYsIFZGLT5QRiBwYWNrZXQgZm9yd2FyZGluZyBhY2NvcmRp bmcgdG8gdGhlIE5JQw0KPiBpbnRlcm5hbCBzd2l0Y2guIEl0J3Mgc2ltaWxhciBhcyBOaWFudGlj J3MgU1JJT1Ygc3dpdGNoLg0KPiArDQo+ICtGbG9hdGluZyBWRUIgSW50cm9kdWN0aW9uDQo+ICs9 PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsNCj4gK0Zsb2F0aW5nIFZFQiBpcyBiYXNlZCBv biBWRUIgU3dpdGNoaW5nLiBJdCB3aWxsIGFkZHJlc3MgMiBwcm9ibGVtczoNCj4gKw0KPiArRGVw ZW5kZW5jeSBvbiBQRjogV2hlbiB0aGUgcGh5c2ljYWwgcG9ydCBpcyBsaW5rIGRvd24sIHRoZSBm dW5jdGlvbmFsaXR5DQo+IG9mIHRoZSBWRUIvVkVQQSB3aWxsIG5vdCB3b3JrIG5vcm1hbGx5LiBF dmVuIG9ubHkgZGF0YSBmb3J3YXJkaW5nIGJldHdlZW4NCj4gdGhlIFZGIGlzIHJlcXVpcmVkLCBv bmUgUEYgcG9ydCB3aWxsIGJlIHdhc3RlZCB0byBjcmVhdGUgdGhlIHJlbGF0ZWQgVkVCLg0KPiAr DQo+ICtFbnN1cmUgYWxsIHRoZSB0cmFmZmljIGZyb20gVkYgY2FuIG9ubHkgZm9yd2FyZGluZyB3 aXRoaW4gdGhlIFZGcw0KPiBjb25uZWN0IHRvIHRoZSBmbG9hdGluZyBWRUIsIGNhbm5vdCBmb3J3 YXJkIG91dCBvZiB0aGUgTklDIHBvcnQuDQo+ICsNCj4gK1ByZXJlcXVpc2l0ZXMgZm9yIFZFQiB0 ZXN0aW5nDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICsxLiBHZXQg dGhlIHBjaSBkZXZpY2UgaWQgb2YgRFVULCBmb3IgZXhhbXBsZTo6DQo+ICsNCj4gKyAgICAuL2Rw ZGtfbmljX2JpbmQucHkgLS1zdA0KPiArDQo+ICsgICAgMDAwMDo4MTowMC4wICdFdGhlcm5ldCBD b250cm9sbGVyIFg3MTAgZm9yIDEwR2JFIFNGUCsnIGlmPWVuczI1OWYwDQo+IGRydj1pNDBlIHVu dXNlZD0NCj4gKw0KPiArMi4xICBIb3N0IFBGIGluIGtlcm5lbCBkcml2ZXIuIENyZWF0ZSAyIFZG cyBmcm9tIDEgUEYgd2l0aCBrZXJuZWwgZHJpdmVyLA0KPiBhbmQgc2V0IHRoZSBWRiBNQUMgYWRk cmVzcyBhdCBQRjA6Og0KPiArDQo+ICsgICAgZWNobyAyID4gL3N5cy9idXMvcGNpL2RldmljZXMv MDAwMFw6ODFcOjAwLjAvc3Jpb3ZfbnVtdmZzDQo+ICsgICAgLi9kcGRrX25pY19iaW5kLnB5IC0t c3QNCj4gKw0KPiArICAgIDAwMDA6ODE6MDIuMCAnWEw3MTAvWDcxMCBWaXJ0dWFsIEZ1bmN0aW9u JyB1bnVzZWQ9DQo+ICsgICAgMDAwMDo4MTowMi4xICdYTDcxMC9YNzEwIFZpcnR1YWwgRnVuY3Rp b24nIHVudXNlZD0NCj4gKw0KPiArICAgIGlwIGxpbmsgc2V0IGVuczI1OWYwIHZmIDAgbWFjIDAw OjExOjIyOjMzOjQ0OjExDQo+ICsgICAgaXAgbGluayBzZXQgZW5zMjU5ZjAgdmYgMSBtYWMgMDA6 MTE6MjI6MzM6NDQ6MTINCj4gKw0KPiArMi4yICBIb3N0IFBGIGluIERQREsgZHJpdmVyLiBDcmVh dGUgMlZGcyBmcm9tIDEgUEYgd2l0aCBkcGRrIGRyaXZlci4NCj4gKw0KPiArICAgIC4vZHBka19u aWNfYmluZC5weSAtYiBpZ2JfdWlvIDgxOjAwLjANCj4gKyAgICBlY2hvIDIgPi9zeXMvYnVzL3Bj aS9kZXZpY2VzLzAwMDA6ODE6MDAuMC9tYXhfdmZzDQo+ICsgICAgLi9kcGRrX25pY19iaW5kLnB5 IC0tc3QNCj4gKw0KPiArMy4gRGV0YWNoIFZGcyBmcm9tIHRoZSBob3N0LCBiaW5kIHRoZW0gdG8g cGNpLXN0dWIgZHJpdmVyOjoNCj4gKw0KPiArICAgIG1vZHByb2JlIHBjaS1zdHViDQo+ICsNCj4g KyAgICB1c2luZyBgbHNwY2kgLW5ufGdyZXAgLWkgZXRoZXJuZXRgIGdvdCBWRiBkZXZpY2UgaWQs IGZvciBleGFtcGxlDQo+ICI4MDg2IDE1NGMiLA0KPiArDQo+ICsgICAgZWNobyAiODA4NiAxNTRj IiA+IC9zeXMvYnVzL3BjaS9kcml2ZXJzL3BjaS1zdHViL25ld19pZA0KPiArICAgIGVjaG8gMDAw MDo4MTowMi4wID4gL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowODowMi4wL2RyaXZlci91bmJp bmQNCj4gKyAgICBlY2hvIDAwMDA6ODE6MDIuMCA+IC9zeXMvYnVzL3BjaS9kcml2ZXJzL3BjaS1z dHViL2JpbmQNCj4gKw0KPiArICAgIGVjaG8gIjgwODYgMTU0YyIgPiAvc3lzL2J1cy9wY2kvZHJp dmVycy9wY2ktc3R1Yi9uZXdfaWQNCj4gKyAgICBlY2hvIDAwMDA6ODE6MDIuMSA+IC9zeXMvYnVz L3BjaS9kZXZpY2VzLzAwMDA6MDg6MDIuMS9kcml2ZXIvdW5iaW5kDQo+ICsgICAgZWNobyAwMDAw OjgxOjAyLjEgPiAvc3lzL2J1cy9wY2kvZHJpdmVycy9wY2ktc3R1Yi9iaW5kDQo+ICsNCj4gKzQu IExhdWNoIHRoZSBWTSB3aXRoIHRoZSBWRiBQQ0kgcGFzc3Rocm91Z2guDQo+ICsNCj4gKyAgICB0 YXNrc2V0IC1jIDE4LTE5IHFlbXUtc3lzdGVtLXg4Nl82NCBcDQo+ICsgICAgIC1tZW0tcGF0aCAv bW50L2h1Z2UgLW1lbS1wcmVhbGxvYyBcDQo+ICsgICAgIC1lbmFibGUta3ZtIC1tIDIwNDggLXNt cCBjb3Jlcz0yLHNvY2tldHM9MSAtY3B1IGhvc3QgLW5hbWUgZHBkazEtDQo+IHZtMSBcDQo+ICsg ICAgIC1kZXZpY2UgcGNpLWFzc2lnbixob3N0PTgxOjAyLjAgXA0KPiArICAgICAtZHJpdmUgZmls ZT0vaG9tZS9pbWcvdm0xLmltZyBcDQo+ICsgICAgIC1uZXRkZXYgdGFwLGlkPWlwdm0xLGlmbmFt ZT10YXAzLHNjcmlwdD0vZXRjL3FlbXUtaWZ1cCAtZGV2aWNlDQo+IHJ0bDgxMzksbmV0ZGV2PWlw dm0xLGlkPW5ldDAsbWFjPTAwOjAwOjAwOjAwOjExOjAxIFwNCj4gKyAgICAgLWxvY2FsdGltZSAt dm5jIDoyMiAtZGFlbW9uaXplDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlMTogVkVCIFN3aXRjaGlu ZyBJbnRlci1WTSBWRi1WRiBNQUMgc3dpdGNoDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKw0KPiArU3VtbWFyeTogS2VybmVsIFBGLCB0 aGVuIGNyZWF0ZSAyVkZzIGFuZCAyVk1zLCBhc3NpZ24gb25lIFZGIHRvIG9uZSBWTSwNCj4gc2F5 IFZGMSBpbiBWTTEsIFZGMiBpbiBWTTIuIFZGcyBpbiBWTXMgYXJlIHJ1bm5pbmcgZHBkayB0ZXN0 cG1kLCBzZW5kDQo+IHRyYWZmaWMgdG8gVkYxLCBhbmQgc2V0IHRoZSBwYWNrZXQncyBERVNUIE1B QyB0byBWRjIsIGNoZWNrIGlmIFZGMiBjYW4NCj4gcmVjZWl2ZSB0aGUgcGFja2V0cy4gQ2hlY2sg SW50ZXItVk0gVkYtVkYgTUFDIHN3aXRjaC4NCj4gKw0KPiArRGV0YWlsczo6DQo+ICsNCj4gKzEu IFN0YXJ0IFZNMSB3aXRoIFZGMSwgVk0yIHdpdGggVkYyLCBzZWUgdGhlIHByZXJlcXVpc2l0ZSBw YXJ0Lg0KPiArMi4gSW4gVk0xLCBydW4gdGVzdHBtZDo6DQo+ICsNCj4gKyAgIC4vdGVzdHBtZCAt YyAweDMgLW4gNCAtLSAtaSAtLWV0aC1wZWVyPTAsMDA6MTE6MjI6MzM6NDQ6MTINCj4gKyAgIHRl c3RwbWQ+c2V0IG1hYyBmd2QNCj4gKyAgIHRlc3RwbWQ+c2V0IHByb21pc2Mgb2ZmIGFsbA0KPiAr ICAgdGVzdHBtZD5zdGFydA0KPiArDQo+ICsgICBJbiBWTTIsIHJ1biB0ZXN0cG1kOjoNCj4gKw0K PiArICAgLi90ZXN0cG1kIC1jIDB4MyAtbiA0IC0tIC1pDQo+ICsgICB0ZXN0cG1kPnNldCBtYWMg ZndkDQo+ICsgICB0ZXN0cG1kPnNldCBwcm9taXNjIG9mZiBhbGwNCj4gKyAgIHRlc3RwbWQ+c3Rh cnQNCj4gKw0KPiArDQo+ICszLiBTZW5kIDEwMCBwYWNrZXRzIHRvIFZGMSdzIE1BQyBhZGRyZXNz LCBjaGVjayBpZiBWRjIgY2FuIGdldCAxMDANCj4gcGFja2V0cy4gQ2hlY2sgdGhlIHBhY2tldCBj b250ZW50IGlzIG5vdCBjb3JydXB0ZWQuDQo+ICsNCj4gK1Rlc3QgQ2FzZTI6IFZFQiBTd2l0Y2hp bmcgSW50ZXItVk0gVkYtVkYgTUFDL1ZMQU4gc3dpdGNoDQo+ICs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICtTdW1tYXJ5OiBL ZXJuZWwgUEYsIHRoZW4gY3JlYXRlIDJWRnMgYW5kIDJWTXMsIGFzc2lnbiBWRjEgd2l0aCBWTEFO PTEgaW4NCj4gVk0xLCBWRjIgd2l0aCBWTEFOPTIgaW4gVk0yLiBWRnMgaW4gVk1zIGFyZSBydW5u aW5nIGRwZGsgdGVzdHBtZCwgc2VuZA0KPiB0cmFmZmljIHRvIFZGMSB3aXRoIFZMQU49MSwgdGhl biBsZXQgaXQgZm9yd2FyZHMgdG8gVkYyLCBpdCBzaG91bGQgbm90DQo+IHdvcmsgc2luY2UgdGhl eSBhcmUgbm90IGluIHRoZSBzYW1lIFZMQU47IHNldCBWRjIgd2l0aCBWTEFOPTEsIHRoZW4gc2Vu ZA0KPiB0cmFmZmljIHRvIFZGMSB3aXRoIFZMQU49MSwgYW5kIFZGMiBjYW4gcmVjZWl2ZSB0aGUg cGFja2V0cy4gQ2hlY2sgaW50ZXItDQo+IFZNIFZGLVZGIE1BQy9WTEFOIHN3aXRjaC4NCj4gKw0K PiArRGV0YWlsczoNCj4gKw0KPiArMS4gU3RhcnQgVk0xIHdpdGggVkYxLCBWTTIgd2l0aCBWRjIs IHNlZSB0aGUgcHJlcmVxdWlzaXRlIHBhcnQuDQo+ICsNCj4gKzIuIFNldCB0aGUgVkxBTiBpZCBv ZiBWRjEgYW5kIFZGMjo6DQo+ICsNCj4gKyAgICBpcCBsaW5rIHNldCBlbnMyNTlmMCB2ZiAwIHZs YW4gMQ0KPiArICAgIGlwIGxpbmsgc2V0IGVuczI1OWYwIHZmIDEgdmxhbiAyDQo+ICsNCj4gKzMu IEluIFZNMSwgcnVuIHRlc3RwbWQ6Og0KPiArDQo+ICsgICAuL3Rlc3RwbWQgLWMgMHgzIC1uIDQg LS0gLWkgLS1ldGgtcGVlcj0wLDAwOjExOjIyOjMzOjQ0OjEyDQo+ICsgICB0ZXN0cG1kPnNldCBt YWMgZndkDQo+ICsgICB0ZXN0cG1kPnNldCBwcm9taXNjIGFsbCBvZmYNCj4gKyAgIHRlc3RwbWQ+ c3RhcnQNCj4gKw0KPiArICAgSW4gVk0yLCBydW4gdGVzdHBtZDo6DQo+ICsNCj4gKyAgIC4vdGVz dHBtZCAtYyAweDMgLW4gNCAtLSAtaQ0KPiArICAgdGVzdHBtZD5zZXQgbWFjIGZ3ZA0KPiArICAg dGVzdHBtZD5zZXQgcHJvbWlzYyBhbGwgb2ZmDQo+ICsgICB0ZXN0cG1kPnN0YXJ0DQo+ICsNCj4g Kw0KPiArNC4gU2VuZCAxMDAgcGFja2V0cyB3aXRoIFZGMSdzIE1BQyBhZGRyZXNzIGFuZCBWTEFO PTEsIGNoZWNrIGlmIFZGMg0KPiBjYW4ndCBnZXQgMTAwIHBhY2tldHMgc2luY2UgdGhleSBhcmUg bm90IGluIHRoZSBzYW1lIFZMQU4uDQo+ICsNCj4gKzUuIENoYW5nZSB0aGUgVkxBTiBpZCBvZiBW RjI6Og0KPiArDQo+ICsgICAgaXAgbGluayBzZXQgZW5zMjU5ZjAgdmYgMSB2bGFuIDENCj4gKw0K PiArNi4gU2VuZCAxMDAgcGFja2V0cyB3aXRoIFZGMSdzIE1BQyBhZGRyZXNzIGFuZCBWTEFOPTEs IGNoZWNrIGlmIFZGMiBjYW4NCj4gZ2V0IDEwMCBwYWNrZXRzIHNpbmNlIHRoZXkgYXJlIGluIHRo ZSBzYW1lIFZMQU4gbm93LiBDaGVjayB0aGUgcGFja2V0DQo+IGNvbnRlbnQgaXMgbm90IGNvcnJ1 cHRlZC4NCj4gKw0KPiArVGVzdCBDYXNlMzogVkVCIFN3aXRjaGluZyBJbnRlci1WTSBQRi1WRiBN QUMgc3dpdGNoDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NCj4gKw0KPiArU3VtbWFyeTogRFBESyBQRiwgdGhlbiBjcmVhdGUgMVZGLCBhc3Np Z24gVkYxIHRvIFZNMSwgUEYgaW4gdGhlIGhvc3QNCj4gcnVubmluZyBkcGRrIHRyYWZmaWMsIHNl bmQgdHJhZmZpYyBmcm9tIFBGIHRvIFZGMSwgZW5zdXJlIFBGLT5WRjEobGV0IFZGMQ0KPiBpbiBw cm9taXNjIG1vZGUpOyBzZW5kIHRyYWZmaWMgZnJvbSBWRjEgdG8gUEYsIGVuc3VyZSBWRjEtPlBG IGNhbiB3b3JrLg0KPiArDQo+ICtEZXRhaWxzOg0KPiArDQo+ICsxLiBTdGFydCBWTTEgd2l0aCBW RjEsIHNlZSB0aGUgcHJlcmVxdWlzaXRlIHBhcnQuDQo+ICsNCj4gKzMuIEluIGhvc3QsIGxhdW5j aCB0ZXN0cG1kOjoNCj4gKw0KPiArICAgLi90ZXN0cG1kIC1jIDB4YzAwMDAgLW4gNCAtLSAtaQ0K PiArICAgdGVzdHBtZD5zZXQgbWFjIGZ3ZA0KPiArICAgdGVzdHBtZD5zZXQgcHJvbWlzYyBhbGwg b24NCj4gKyAgIHRlc3RwbWQ+c3RhcnQNCj4gKw0KPiArICAgSW4gVk0xLCBydW4gdGVzdHBtZDo6 DQo+ICsNCj4gKyAgIC4vdGVzdHBtZCAtYyAweDMgLW4gNCAtLSAtaSAtLWV0aC1wZWVyPTAscGZf bWFjX2FkZHIgKE5vdGU6IHRoaXMgd2lsbA0KPiBsZXQgVkYxIGZvcndhcmRzIHBhY2tldHMgdG8g UEYpDQo+ICsgICB0ZXN0cG1kPnNldCBtYWMgZndkDQo+ICsgICB0ZXN0cG1kPnNldCBwcm9taXNj IGFsbCBvbg0KPiArICAgdGVzdHBtZD5zdGFydA0KPiArDQo+ICs0LiBTZW5kIDEwMCBwYWNrZXRz IHdpdGggVkYxJ3MgTUFDIGFkZHJlc3MsIGNoZWNrIGlmIFBGIGNhbiBnZXQgMTAwDQo+IHBhY2tl dHMsIHNvIFZGMS0+UEYgaXMgd29ya2luZy4gQ2hlY2sgdGhlIHBhY2tldCBjb250ZW50IGlzIG5v dCBjb3JydXB0ZWQuDQo+ICsNCj4gKzUuIFJlbW92ZSAiLS1ldGgtcGVlciIgaW4gVk0xIHRlc3Rw bWQgY29tbWFuZHMsIHRoZW4gc2VuZCAxMDAgcGFja2V0cw0KPiB3aXRoIFBGJ3MgTUFDIGFkZHJl c3MsIGNoZWNrIGlmIFZGMSBjYW4gZ2V0IDEwMCBwYWNrZXRzLCBzbyBQRi0+VkYxIGlzDQo+IHdv cmtpbmcuIENoZWNrIHRoZSBwYWNrZXQgY29udGVudCBpcyBub3QgY29ycnVwdGVkLg0KPiArDQo+ ICsNCj4gK1Rlc3QgQ2FzZTQ6IFZFQiBTd2l0Y2hpbmcgSW50ZXItVk0gUEYtVkYvVkYtVkYgTUFD IHN3aXRjaCBQZXJmb3JtYW5jZQ0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsNCj4gK1BlcmZvcm1hbmNl IHRlc3RpbmcsIHJlcGVhdCBUZXN0Y2FzZTEoVkYtVkYpIGFuZCBUZXN0Y2FzZTMoUEYtVkYpIHRv DQo+IGNoZWNrIHRoZSBwZXJmb3JtYW5jZSBhdCBkaWZmZXJlbnQgc2l6ZXMoNjRCLS0xNTE4QiBh bmQganVtYm8gZnJhbWUtLQ0KPiAzMDAwQikgd2l0aCAxMDAlIHJhdGUgc2VuZGluZyB0cmFmZmlj Lg0KPiArDQo+ICtUZXN0IENhc2U1OiBGbG9hdGluZyBWRUIgSW50ZXItVk0gVkYtVkYNCj4gKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICtTdW1tYXJ5OiBE UERLIFBGLCB0aGVuIGNyZWF0ZSAyVkZzIGFuZCAyVk1zLCBhc3NpZ24gb25lIFZGIHRvIG9uZSBW TSwNCj4gc2F5IFZGMSBpbiBWTTEsIFZGMiBpbiBWTTIsIGFuZCBtYWtlIFBGIGxpbmsgZG93bih0 aGUgY2FibGUgY2FuIGJlIHBsdWdlZA0KPiBvdXQpLiBWRnMgaW4gVk1zIGFyZSBydW5uaW5nIGRw ZGsgdGVzdHBtZCwgc2VuZCB0cmFmZmljIHRvIFZGMSwgYW5kIHNldA0KPiB0aGUgcGFja2V0J3Mg REVTVCBNQUMgdG8gVkYyLCBjaGVjayBpZiBWRjIgY2FuIHJlY2VpdmUgdGhlIHBhY2tldHMuIENo ZWNrDQo+IEludGVyLVZNIFZGLVZGIE1BQyBzd2l0Y2ggd2hlbiBQRiBpcyBsaW5rIGRvd24gYXMg d2VsbCBhcyB1cC4NCj4gKw0KPiArRGV0YWlsczoNCj4gKw0KPiArMS4gU3RhcnQgVk0xIHdpdGgg VkYxLCBWTTIgd2l0aCBWRjIsIHNlZSB0aGUgcHJlcmVxdWlzaXRlIHBhcnQuDQo+ICsyLiBJbiB0 aGUgaG9zdCwgcnVuIHRlc3RwbWQgd2l0aCBmbG9hdGluZyBwYXJhbWV0ZXJzIGFuZCBtYWtlIHRo ZSBsaW5rDQo+IGRvd246Og0KPiArDQo+ICsgICAgLi90ZXN0cG1jIC1jIDB4YzAwMDAgLW4gNCAt LWZsb2F0aW5nIC0tIC1pDQo+ICsgICAgdGVzdHBtZD4gcG9ydCBzdG9wIGFsbA0KPiArICAgIHRl c3RwbWQ+IHNob3cgcG9ydCBpbmZvIGFsbA0KPiArDQo+ICszLiBJbiBWTTEsIHJ1biB0ZXN0cG1k OjoNCj4gKw0KPiArICAgIC4vdGVzdHBtZCAtYyAweDMgLW4gNCAtLSAtaSAtLWV0aC1wZWVyPTAs MDA6MTE6MjI6MzM6NDQ6MTINCj4gKyAgICB0ZXN0cG1kPnNldCBtYWMgZndkDQo+ICsgICAgdGVz dHBtZD5zZXQgcHJvbWlzYyBvZmYgYWxsDQo+ICsgICAgdGVzdHBtZD5zdGFydA0KPiArDQo+ICsg ICBJbiBWTTIsIHJ1biB0ZXN0cG1kOjoNCj4gKw0KPiArICAgIC4vdGVzdHBtZCAtYyAweDMgLW4g NCAtLSAtaQ0KPiArICAgIHRlc3RwbWQ+c2V0IG1hYyBmd2QNCj4gKyAgICB0ZXN0cG1kPnNldCBw cm9taXNjIG9mZiBhbGwNCj4gKyAgICB0ZXN0cG1kPnN0YXJ0DQo+ICsNCj4gKw0KPiArNC4gU2Vu ZCAxMDAgcGFja2V0cyB0byBWRjEncyBNQUMgYWRkcmVzcywgY2hlY2sgaWYgVkYyIGNhbiBnZXQg MTAwDQo+IHBhY2tldHMuIENoZWNrIHRoZSBwYWNrZXQgY29udGVudCBpcyBub3QgY29ycnVwdGVk LiBBbHNvIGNoZWNrIHRoZSBQRidzDQo+IHBvcnQgc3RhdHMsIGFuZCB0aGVyZSBzaG91bGQgYmUg bm8gcGFja2V0cyBSWC9UWCBhdCBQRiBwb3J0Lg0KPiArDQo+ICs1LiBJbiB0aGUgaG9zdCwgcnVu IHRlc3RwbWQgd2l0aCBmbG9hdGluZyBwYXJhbWV0ZXJzIGFuZCBrZWVwIHRoZSBsaW5rDQo+IHVw LCB0aGVuIGRvIHN0ZXAzIGFuZCBzdGVwNCwgUEYgc2hvdWxkIGhhdmUgbm8gUlgvVFggcGFja2V0 cyBldmVuIHdoZW4NCj4gbGluayBpcyB1cDo6DQo+ICsNCj4gKyAgICAuL3Rlc3RwbWMgLWMgMHhj MDAwMCAtbiA0IC0tZmxvYXRpbmcgLS0gLWkNCj4gKyAgICB0ZXN0cG1kPiBwb3J0IHN0YXJ0IGFs bA0KPiArICAgIHRlc3RwbWQ+IHNob3cgcG9ydCBpbmZvIGFsbA0KPiArDQo+ICsNCj4gK1Rlc3Qg Q2FzZTY6IEZsb2F0aW5nIFZFQiBJbnRlci1WTSBWRiB0cmFmZmljIGNhbid0IGJlIG91dCBvZiBO SUMNCj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCj4gKw0KPiArRFBESyBQRiwgdGhlbiBjcmVhdGUgMVZGLCBhc3NpZ24g VkYxIHRvIFZNMSwgc2VuZCB0cmFmZmljIGZyb20gVkYxIHRvDQo+IG91dHNpZGUgd29ybGQsIHRo ZW4gY2hlY2sgb3V0c2lkZSB3b3JsZCB3aWxsIG5vdCBzZWUgYW55IHRyYWZmaWMuDQo+ICsNCj4g K0RldGFpbHM6DQo+ICsNCj4gKzEuIFN0YXJ0IFZNMSB3aXRoIFZGMSwgc2VlIHRoZSBwcmVyZXF1 aXNpdGUgcGFydC4NCj4gKzIuIEluIHRoZSBob3N0LCBydW4gdGVzdHBtZCB3aXRoIGZsb2F0aW5n IHBhcmFtZXRlcnMuDQo+ICsNCj4gKyAgIC4vdGVzdHBtYyAtYyAweGMwMDAwIC1uIDQgLS1mbG9h dGluZyAtLSAtaQ0KPiArDQo+ICszLiBJbiBWTTEsIHJ1biB0ZXN0cG1kLCA6Og0KPiArDQo+ICsg ICAuL3Rlc3RwbWQgLWMgMHgzIC1uIDQgLS0gLWkgLS1ldGgtcGVlcj0wLHBmX21hY19hZGRyDQo+ ICsgICB0ZXN0cG1kPnNldCBmd2QgdHhvbmx5DQo+ICsgICB0ZXN0cG1kPnN0YXJ0DQo+ICsNCj4g Kw0KPiArNC4gQXQgUEYgc2lkZSwgY2hlY2sgdGhlIHBvcnQgc3RhdHMgdG8gc2VlIGlmIHRoZXJl IGlzIGFueSBSWC9UWCBwYWNrZXRzLA0KPiBhbmQgYWxzbyBjaGVjayB0aGUgdHJhZmZpYyBnZW5l cmF0b3Igc2lkZShlLmc6IElYSUEgcG9ydHMgb3IgYW5vdGhlciBwb3J0DQo+IGNvbm5lY3RlZCB0 byB0aGUgRFVUIHBvcnQpIHRvIGVuc3VyZSBubyBwYWNrZXRzLg0KPiArDQo+ICsNCj4gK1Rlc3Qg Q2FzZTc6IEZsb2F0aW5nIFZFQiBWRi1WRiBQZXJmb3JtYW5jZQ0KPiArPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsNCj4gK1Rlc3RpbmcgVkYtVkYgcGVyZm9y bWFuY2UgYXQgZGlmZmVyZW50IHNpemVzKDY0Qi0tMTUxOEIgYW5kIGp1bWJvIGZyYW1lLQ0KPiAt MzAwMEIpIHdpdGggMTAwJSByYXRlIHNlbmRpbmcgdHJhZmZpYy4NCj4gXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlDQo+IGRpZmYgLS1naXQgYS90ZXN0X3BsYW5zL3Zob3N0X3Rzb190ZXN0X3Bs YW4ucnN0DQo+IGIvdGVzdF9wbGFucy92aG9zdF90c29fdGVzdF9wbGFuLnJzdA0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwLi5mMmI0NmU3DQo+IC0tLSAvZGV2L251bGwN Cj4gKysrIGIvdGVzdF9wbGFucy92aG9zdF90c29fdGVzdF9wbGFuLnJzdA0KPiBAQCAtMCwwICsx LDEzMCBAQA0KPiArLi4gQ29weXJpZ2h0IChjKSA8MjAxNT4sIEludGVsIENvcnBvcmF0aW9uDQo+ ICsgICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiArDQo+ICsgICBSZWRpc3RyaWJ1dGlvbiBhbmQg dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCj4gKyAgIG1v ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9ucw0KPiArICAgYXJlIG1ldDoNCj4gKw0KPiArICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Yg c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KPiArICAgICBub3Rp Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu DQo+ICsNCj4gKyAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4gKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluDQo+ICsgICAgIHRoZSBkb2N1 bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUNCj4gKyAg ICAgZGlzdHJpYnV0aW9uLg0KPiArDQo+ICsgICAtIE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwg Q29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMNCj4gKyAgICAgY29udHJpYnV0b3JzIG1h eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkDQo+ICsgICAg IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz c2lvbi4NCj4gKw0KPiArICAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUw0KPiArICAgIkFTIElTIiBBTkQgQU5ZIEVYUFJF U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QNCj4gKyAgIExJTUlU RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO RVNTDQo+ICsgICBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P IEVWRU5UIFNIQUxMIFRIRQ0KPiArICAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULA0KPiArICAgSU5DSURFTlRBTCwgU1BF Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMNCj4gKyAgIChJTkNMVURJ TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP Ug0KPiArICAgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ TkVTUyBJTlRFUlJVUFRJT04pDQo+ICsgICBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsDQo+ICsgICBTVFJJQ1QgTElBQklM SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpDQo+ICsgICBB UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ RiBBRFZJU0VEDQo+ICsgICBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQo+ICsN Cj4gKz09PT09PT09PT09PT09PT09PT0NCj4gK1Zob3N0IFRTTyBUZXN0IFBsYW4NCj4gKz09PT09 PT09PT09PT09PT09PT0NCj4gKw0KPiArVGhlIGZlYXR1cmUgZW5hYmxlZCB0aGUgRFBESyBWaG9z dCBUWCBvZmZsb2FkKGNoZWNrc3VtIGFuZCBUU08pLCBzbyB0aGF0DQo+IGl0IHdpbGwgbGV0IHRo ZSBOSUMgdG8gZG8gdGhlIFRYIG9mZmxvYWQsIGFuZCBpdCBjYW4gaW1wcm92ZSBwZXJmb3JtYW5j ZS4NCj4gVGhlIGZlYXR1cmUgYWRkZWQgdGhlIG5lZ290aWF0aW9uIGJldHdlZW4gRFBESyB1c2Vy IHNwYWNlIHZob3N0IGFuZA0KPiB2aXJ0aW8tbmV0LCBzbyB3ZSB3aWxsIHZlcmlmeSB0aGUgRFBE SyBWaG9zdCB1c2VyICsgdmlydGlvLW5ldCBmb3IgdGhlDQo+IFRTTy9ja3N1bSBpbiB0aGUgVENQ L0lQIHN0YWNrIGVuYWJsZWQgZW52aXJvbm1lbnQuIERQREsgdmhvc3QgKyB2aXJ0aW8tDQo+IHBt ZCB3aWxsIG5vdCBiZSBjb3ZlcmVkIGJ5IHRoaXMgcGxhbiBzaW5jZSB2aXJ0aW8tcG1kIGRvZXNu J3QgaGF2ZSBUQ1AvSVANCj4gc3RhY2sgYW5kIHZpcnRpbyBUU08gaXMgbm90IGVuYWJsZWQsIHNv IGl0IHdpbGwgbm90IGJlIHRlc3RlZC4NCj4gKw0KPiArSW4gdGhlIHRlc3QgcGxhbiwgd2Ugd2ls bCB1c2Ugdmhvc3Qgc3dpdGNoIHNhbXBsZSB0byB0ZXN0Lg0KPiArV2hlbiB0ZXN0aW5nIHZtMnZt IGNhc2UsIHdlIHdpbGwgb25seSB0ZXN0IHZtMnZtPTEoc29mdHdhcmUgc3dpdGNoKSwgbm90DQo+ IHRlc3Qgdm0ydm09MihoYXJkd2FyZSBzd2l0Y2gpLg0KPiArDQo+ICtQcmVyZXF1aXNpdGVzOg0K PiArPT09PT09PT09PT09PT0NCj4gKw0KPiArSW5zdGFsbCBpcGVyZiBvbiBib3RoIGhvc3QgYW5k IGd1ZXN0cy4NCj4gKw0KPiArDQo+ICtUZXN0IENhc2UxOiBEUERLIHZob3N0IHVzZXIgKyB2aXJ0 aW8tbmV0IG9uZSBWTSBmd2QgdHNvDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsNCj4gK0hXIHByZXBhcmF0aW9uOiBDb25uZWN0 IDIgcG9ydHMgZGlyZWN0bHkuIEluIG91ciBjYXNlLCBjb25uZWN0DQo+IDgxOjAwLjAocG9ydDEp IGFuZCA4MTowMC4xKHBvcnQyKSB0d28gcG9ydHMgZGlyZWN0bHkuIFBvcnQxIGlzIGJpbmRlZCB0 bw0KPiBpZ2JfdWlvIGZvciB2aG9zdC1zYW1wbGUgdG8gdXNlLCB3aGlsZSBwb3J0MiBpcyBpbiBr ZXJuZWwgZHJpdmVyLg0KPiArDQo+ICtTVyBwcmVwYXJhdGlvbjogQ2hhbmdlIG9uZSBsaW5lIG9m IHRoZSB2aG9zdCBzYW1wbGUgYW5kIHJlYnVpbGQ6Og0KPiArDQo+ICsgICAgI0luIGZ1bmN0aW9u IHZpcnRpb190eF9yb3V0ZSh4eHgpDQo+ICsgICAgbS0+dmxhbl90Y2kgPSB2bGFuX3RhZzsNCj4g KyAgICAjY2hhbmdlZCB0bw0KPiArICAgIG0tPnZsYW5fdGNpID0gMTAwMDsNCj4gKw0KPiArMS4g TGF1bmNoIHRoZSBWaG9zdCBzYW1wbGUgYnkgYmVsb3cgY29tbWFuZHMsIHNvY2tldC1tZW0gaXMg c2V0IGZvciB0aGUNCj4gdmhvc3Qgc2FtcGxlIHRvIHVzZSwgbmVlZCBlbnN1cmUgdGhhdCB0aGUg UENJIHBvcnQgbG9jYXRlZCBzb2NrZXQgaGFzIHRoZQ0KPiBtZW1vcnkuIEluIG91ciBjYXNlLCB0 aGUgUENJIEJERiBpcyA4MTowMC4wLCBzbyB3ZSBuZWVkIGFzc2lnbiBtZW1vcnkgZm9yDQo+IHNv Y2tldDEuIEZvciBUU08vQ1NVTSB0ZXN0LCB3ZSBuZWVkIHNldCAiLS1tZXJnZWFibGUgMS0tdHNv IDEgLS1jc3VtIDEiLjo6DQo+ICsNCj4gKyAgICB0YXNrc2V0IC1jIDE4LTIwIC4vZXhhbXBsZXMv dmhvc3QvYnVpbGQvdmhvc3Qtc3dpdGNoIC1jIDB4MWMwMDAwIC1uDQo+IDQgLS1odWdlLWRpciAv bW50L2h1Z2UgLS1zb2NrZXQtbWVtIDAsMjA0OCAtLSAtcCAxIC0tbWVyZ2VhYmxlIDEgLS16ZXJv LQ0KPiBjb3B5IDAgLS12bTJ2bSAwIC0tdHNvIDEgLS1jc3VtIDENCj4gKw0KPiArMi4gTGF1bmNo IFZNMTo6DQo+ICsNCj4gKyAgICB0YXNrc2V0IC1jIDIxLTIyIFwNCj4gKyAgICBxZW11LXN5c3Rl bS14ODZfNjQgLW5hbWUgdXMtdmhvc3Qtdm0xIFwNCj4gKyAgICAgLWNwdSBob3N0IC1lbmFibGUt a3ZtIC1tIDEwMjQgLW9iamVjdCBtZW1vcnktYmFja2VuZC0NCj4gZmlsZSxpZD1tZW0sc2l6ZT0x MDI0TSxtZW0tcGF0aD0vbW50L2h1Z2Usc2hhcmU9b24gLW51bWEgbm9kZSxtZW1kZXY9bWVtDQo+ IC1tZW0tcHJlYWxsb2MgXA0KPiArICAgICAtc21wIGNvcmVzPTIsc29ja2V0cz0xIC1kcml2ZSBm aWxlPS9ob21lL2ltZy9kcGRrLXZtMS5pbWcgIFwNCj4gKyAgICAgLWNoYXJkZXYgc29ja2V0LGlk PWNoYXIwLHBhdGg9L2hvbWUvcXh1MTAvdmhvc3QtdHNvLQ0KPiB0ZXN0L2RwZGsvdmhvc3QtbmV0 IC1uZXRkZXYgdHlwZT12aG9zdC0NCj4gdXNlcixpZD1teW5ldDEsY2hhcmRldj1jaGFyMCx2aG9z dGZvcmNlIFwNCj4gKyAgICAgLWRldmljZSB2aXJ0aW8tbmV0LQ0KPiBwY2ksbWFjPTUyOjU0OjAw OjAwOjAwOjAxLG5ldGRldj1teW5ldDEsY3N1bT1vbixnc289b24sZ3Vlc3RfY3N1bT1vbixndWVz DQo+IHRfdHNvND1vbixndWVzdF90c282PW9uLGd1ZXN0X2Vjbj1vbiAgXA0KPiArICAgICAtbmV0 ZGV2IHRhcCxpZD1pcHZtMSxpZm5hbWU9dGFwMyxzY3JpcHQ9L2V0Yy9xZW11LWlmdXAgLWRldmlj ZQ0KPiBydGw4MTM5LG5ldGRldj1pcHZtMSxpZD1uZXQwLG1hYz0wMDoxMDowMDowMDoxMTowMSAt bm9ncmFwaGljDQo+ICsNCj4gKzMuIE9uIGhvc3QsY29uZmlndXJlIHBvcnQyLCB0aGVuIHlvdSBj YW4gc2VlIHRoZXJlIGlzIGEgaW50ZXJmYWNlIGNhbGxlZA0KPiBlbnMyNjBmMS4xMDAwLjo6DQo+ ICsNCj4gKyAgICBpZmNvbmZpZyBlbnMyNjBmMQ0KPiArICAgIHZjb25maWcgYWRkIGVuczI2MGYx IDEwMDANCj4gKyAgICBpZmNvbmZpZyBlbnMyNjBmMS4xMDAwIDEuMS4xLjgNCj4gKw0KPiArNC4g T24gdGhlIFZNMSwgc2V0IHRoZSB2aXJ0aW8gSVAgYW5kIHJ1biBpcGVyZjo6DQo+ICsNCj4gKyAg ICBpZmNvbmZpZyBldGhYIDEuMS4xLjINCj4gKyAgICBwaW5nIDEuMS4xLjggIyBsZXQgdmlydGlv IGFuZCBwb3J0MiBjYW4gcGluZyBlYWNoIG90aGVyIHN1Y2Nlc3NmdWxseSwNCj4gdGhlbiB0aGUg YXJwIHRhYmxlIHdpbGwgYmUgc2V0IHVwIGF1dG9tYXRpY2FsbHkuDQo+ICsNCj4gKzUuIEluIGhv c3QsIHJ1biA6IGBpcGVyZiDigJNzIOKAk2kgMWAgOyBJbiBndWVzdCwgcnVuIGBpcGVyZiDigJNj IDEuMS4xLjIg4oCTaSAxDQo+IC10IDYwYCwgY2hlY2sgaWYgdGhlcmUgaXMgNjRLIChzaXplOiA2 NTE2MCkgcGFja2V0LiBJZiB0aGVyZSBpcyA2NEsNCj4gcGFja2V0LCB0aGVuIFRTTyBpcyBlbmFi bGVkLCBvciBlbHNlIFRTTyBpcyBkaXNhYmxlZC4NCj4gKw0KPiArNi4gT24gdGhlIFZNMSwgcnVu IGB0Y3BkdW1wIC1pIGV0aFggLW4gLWUgLXZ2YCB0byBjaGVjayBpZiB0aGUgY2tzdW0gaXMNCj4g Y29ycmVjdC4gWW91IHNob3VsZCBub3Qgc2VlIGluY29ycmVjdCBja3N1bSBvdXRwdXQuDQo+ICsN Cj4gK1Rlc3QgQ2FzZTI6IERQREsgdmhvc3QgdXNlciArIHZpcnRpby1uZXQgVk0yVk09MSBmd2Qg dHNvDQo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KPiArDQo+ICsxLiBMYXVuY2ggdGhlIFZob3N0IHNhbXBsZSBieSBiZWxvdyBjb21t YW5kcywgc29ja2V0LW1lbSBpcyBzZXQgZm9yIHRoZQ0KPiB2aG9zdCBzYW1wbGUgdG8gdXNlLCBu ZWVkIGVuc3VyZSB0aGF0IHRoZSBQQ0kgcG9ydCBsb2NhdGVkIHNvY2tldCBoYXMgdGhlDQo+IG1l bW9yeS4gSW4gb3VyIGNhc2UsIHRoZSBQQ0kgQkRGIGlzIDgxOjAwLjAsIHNvIHdlIG5lZWQgYXNz aWduIG1lbW9yeSBmb3INCj4gc29ja2V0MS4gRm9yIFRTTy9DU1VNIHRlc3QsIHdlIG5lZWQgc2V0 ICItLW1lcmdlYWJsZSAxLS10c28gMSAtLWNzdW0gMSAtLQ0KPiB2bTJ2bSAxIi46Og0KPiArDQo+ ICsgICAgdGFza3NldCAtYyAxOC0yMCAuL2V4YW1wbGVzL3Zob3N0L2J1aWxkL3Zob3N0LXN3aXRj aCAtYyAweDFjMDAwMCAtbg0KPiA0IC0taHVnZS1kaXIgL21udC9odWdlIC0tc29ja2V0LW1lbSAw LDIwNDggLS0gLXAgMSAtLW1lcmdlYWJsZSAxIC0temVyby0NCj4gY29weSAwIC0tdm0ydm0gMSAt LXRzbyAxIC0tY3N1bSAxDQo+ICsNCj4gKzIuIExhdW5jaCBWTTEgYW5kIFZNMi4gOjoNCj4gKw0K PiArICAgIHRhc2tzZXQgLWMgMjEtMjIgXA0KPiArICAgIHFlbXUtc3lzdGVtLXg4Nl82NCAtbmFt ZSB1cy12aG9zdC12bTEgXA0KPiArICAgICAtY3B1IGhvc3QgLWVuYWJsZS1rdm0gLW0gMTAyNCAt b2JqZWN0IG1lbW9yeS1iYWNrZW5kLQ0KPiBmaWxlLGlkPW1lbSxzaXplPTEwMjRNLG1lbS1wYXRo PS9tbnQvaHVnZSxzaGFyZT1vbiAtbnVtYSBub2RlLG1lbWRldj1tZW0NCj4gLW1lbS1wcmVhbGxv YyBcDQo+ICsgICAgIC1zbXAgY29yZXM9Mixzb2NrZXRzPTEgLWRyaXZlIGZpbGU9L2hvbWUvaW1n L2RwZGstdm0xLmltZyAgXA0KPiArICAgICAtY2hhcmRldiBzb2NrZXQsaWQ9Y2hhcjAscGF0aD0v aG9tZS9xeHUxMC92aG9zdC10c28tDQo+IHRlc3QvZHBkay92aG9zdC1uZXQgLW5ldGRldiB0eXBl PXZob3N0LQ0KPiB1c2VyLGlkPW15bmV0MSxjaGFyZGV2PWNoYXIwLHZob3N0Zm9yY2UgXA0KPiAr ICAgICAtZGV2aWNlIHZpcnRpby1uZXQtDQo+IHBjaSxtYWM9NTI6NTQ6MDA6MDA6MDA6MDEsbmV0 ZGV2PW15bmV0MSxjc3VtPW9uLGdzbz1vbixndWVzdF9jc3VtPW9uLGd1ZXMNCj4gdF90c280PW9u LGd1ZXN0X3RzbzY9b24sZ3Vlc3RfZWNuPW9uICBcDQo+ICsgICAgIC1uZXRkZXYgdGFwLGlkPWlw dm0xLGlmbmFtZT10YXAzLHNjcmlwdD0vZXRjL3FlbXUtaWZ1cCAtZGV2aWNlDQo+IHJ0bDgxMzks bmV0ZGV2PWlwdm0xLGlkPW5ldDAsbWFjPTAwOjEwOjAwOjAwOjExOjAxIC1ub2dyYXBoaWMNCj4g Kw0KPiArICAgIHRhc2tzZXQgLWMgMjMtMjQgXA0KPiArICAgIHFlbXUtc3lzdGVtLXg4Nl82NCAt bmFtZSB1cy12aG9zdC12bTEgXA0KPiArICAgICAtY3B1IGhvc3QgLWVuYWJsZS1rdm0gLW0gMTAy NCAtb2JqZWN0IG1lbW9yeS1iYWNrZW5kLQ0KPiBmaWxlLGlkPW1lbSxzaXplPTEwMjRNLG1lbS1w YXRoPS9tbnQvaHVnZSxzaGFyZT1vbiAtbnVtYSBub2RlLG1lbWRldj1tZW0NCj4gLW1lbS1wcmVh bGxvYyBcDQo+ICsgICAgIC1zbXAgY29yZXM9Mixzb2NrZXRzPTEgLWRyaXZlIGZpbGU9L2hvbWUv aW1nL3ZtMS5pbWcgIFwNCj4gKyAgICAgLWNoYXJkZXYgc29ja2V0LGlkPWNoYXIxLHBhdGg9L2hv bWUvcXh1MTAvdmhvc3QtdHNvLQ0KPiB0ZXN0L2RwZGsvdmhvc3QtbmV0IC1uZXRkZXYgdHlwZT12 aG9zdC0NCj4gdXNlcixpZD1teW5ldDIsY2hhcmRldj1jaGFyMSx2aG9zdGZvcmNlIFwNCj4gKyAg ICAgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxtYWM9NTI6NTQ6MDA6MDA6MDA6MDIsbmV0ZGV2PW15 bmV0MiAgXA0KPiArICAgICAtbmV0ZGV2IHRhcCxpZD1pcHZtMSxpZm5hbWU9dGFwNCxzY3JpcHQ9 L2V0Yy9xZW11LWlmdXAgLWRldmljZQ0KPiBydGw4MTM5LG5ldGRldj1pcHZtMSxpZD1uZXQwLG1h Yz0wMDoxMDowMDowMDoxMTowMiAtbm9ncmFwaGljDQo+ICsNCj4gKzMuIE9uIFZNMSwgc2V0IHRo ZSB2aXJ0aW8gSVAgYW5kIHJ1biBpcGVyZg0KPiArDQo+ICsgICAgaWZjb25maWcgZXRoWCAxLjEu MS4yDQo+ICsgICAgYXJwIC1zIDEuMS4xLjggNTI6NTQ6MDA6MDA6MDA6MDINCj4gKyAgICBhcnAg IyB0byBjaGVjayB0aGUgYXJwIHRhYmxlIGlzIGNvbXBsZXRlIGFuZCBjb3JyZWN0Lg0KPiArDQo+ ICs0LiBPbiBWTTIsIHNldCB0aGUgdmlydGlvIElQIGFuZCBydW4gaXBlcmYNCj4gKw0KPiArICAg IGlmY29uZmlnIGV0aFggMS4xLjEuOA0KPiArICAgIGFycCAtcyAxLjEuMS4yIDUyOjU0OjAwOjAw OjAwOjAxDQo+ICsgICAgYXJwICMgdG8gY2hlY2sgdGhlIGFycCB0YWJsZSBpcyBjb21wbGV0ZSBh bmQgY29ycmVjdC4NCj4gKw0KPiArNS4gRW5zdXJlIHZpcnRpbzEgY2FuIHBpbmcgdmlydGlvMi4g VGhlbiBpbiBWTTEsIHJ1biA6IGBpcGVyZiDigJNzIOKAk2kgMWAgOw0KPiBJbiBWTTIsIHJ1biBg aXBlcmYg4oCTYyAxLjEuMS4yIOKAk2kgMSAtdCA2MGAsIGNoZWNrIGlmIHRoZXJlIGlzIDY0SyAo c2l6ZToNCj4gNjUxNjApIHBhY2tldC4gSWYgdGhlcmUgaXMgNjRLIHBhY2tldCwgdGhlbiBUU08g aXMgZW5hYmxlZCwgb3IgZWxzZSBUU08NCj4gaXMgZGlzYWJsZWQuDQo+ICsNCj4gKzYuIE9uIHRo ZSBWTTEsIHJ1biBgdGNwZHVtcCAtaSBldGhYIC1uIC1lIC12dmAuDQo+ICsNCj4gKw0KPiBcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUNCj4gZGlmZiAtLWdpdCBhL3Rlc3RfcGxhbnMvdmlydGlv XzEuMF90ZXN0X3BsYW4ucnN0DQo+IGIvdGVzdF9wbGFucy92aXJ0aW9fMS4wX3Rlc3RfcGxhbi5y c3QNCj4gaW5kZXggODQxMmVhYy4uNzI3OTkxYiAxMDA2NDQNCj4gLS0tIGEvdGVzdF9wbGFucy92 aXJ0aW9fMS4wX3Rlc3RfcGxhbi5yc3QNCj4gKysrIGIvdGVzdF9wbGFucy92aXJ0aW9fMS4wX3Rl c3RfcGxhbi5yc3QNCj4gQEAgLTEsMjYxICsxLDI2MSBAQA0KPiAtLi4gQ29weXJpZ2h0IChjKSA8 MjAxNT4sIEludGVsIENvcnBvcmF0aW9uDQo+IC0gICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiAt DQo+IC0gICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z LCB3aXRoIG9yIHdpdGhvdXQNCj4gLSAgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92 aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KPiAtICAgYXJlIG1ldDoNCj4gLQ0K PiAtICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi b3ZlIGNvcHlyaWdodA0KPiAtICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQo+IC0NCj4gLSAgIC0gUmVkaXN0cmlidXRpb25z IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4gLSAg ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj bGFpbWVyIGluDQo+IC0gICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh bHMgcHJvdmlkZWQgd2l0aCB0aGUNCj4gLSAgICAgZGlzdHJpYnV0aW9uLg0KPiAtDQo+IC0gICAt IE5laXRoZXIgdGhlIG5hbWUgb2YgSW50ZWwgQ29ycG9yYXRpb24gbm9yIHRoZSBuYW1lcyBvZiBp dHMNCj4gLSAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90 ZSBwcm9kdWN0cyBkZXJpdmVkDQo+IC0gICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCj4gLQ0KPiAtICAgVEhJUyBTT0ZUV0FS RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUw0K PiAtICAgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM VURJTkcsIEJVVCBOT1QNCj4gLSAgIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQo+IC0gICBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQ0KPiAtICAgQ09QWVJJ R0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS RUNULA0KPiAtICAgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U SUFMIERBTUFHRVMNCj4gLSAgIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUg0KPiAtICAgU0VSVklDRVM7IExPU1MgT0YgVVNF LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pDQo+IC0gICBIT1dF VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O VFJBQ1QsDQo+IC0gICBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH RU5DRSBPUiBPVEhFUldJU0UpDQo+IC0gICBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEDQo+IC0gICBPRiBUSEUgUE9TU0lC SUxJVFkgT0YgU1VDSCBEQU1BR0UuDQo+IC0NCj4gLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KPiAtVmlydGlvLTEuMCBTdXBwb3J0IFRlc3QgUGxhbg0KPiAtPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQo+IC0NCj4gLVZpcnRpbyAxLjAgaXMgYSBuZXcgdmVyc2lv biBvZiB2aXJ0aW8uIEFuZCB0aGUgdmlydGlvIDEuMCBzcGVjIGxpbmsgaXMNCj4gYXQgIGh0dHA6 Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL3ZpcnRpby92aXJ0aW8vdjEuMC92aXJ0aW8tdjEuMC5wZGYu IFRoZQ0KPiBtYWpvciBkaWZmZXJlbmNlIGlzIGF0IFBDSSBsYXlvdXQuIEZvciB0ZXN0aW5nIHZp cnRpbyAxLjAgcG1kLCB3ZSBuZWVkDQo+IHRlc3QgdGhlIGJhc2ljIFJYL1RYLCBkaWZmZXJlbnQg cGF0aCh0eHFmbGFncyksIG1lcmdlYWJsZSBvbi9vZmYsIGFuZA0KPiBhbHNvIHRlc3Qgd2l0aCB2 aXJ0aW8wLjk1IHRvIGVuc3VyZSB0aGV5IGNhbiBjby1leGlzdC4gQmVzaWRlcywgd2UgbmVlZA0K PiB0ZXN0IHZpcnRpbyAxLjAncyBwZXJmb3JtYW5jZSB0byBlbnN1cmUgaXQgaGFzIHNpbWlsYXIg cGVyZm9ybWFuY2UgYXMNCj4gdmlydGlvMC45NS4NCj4gLQ0KPiAtDQo+IC1UZXN0IENhc2UxOiB0 ZXN0X2Z1bmNfdmhvc3RfdXNlcl92aXJ0aW8xLjAtcG1kIHdpdGggZGlmZmVyZW50IHR4cWZsYWdz DQo+IC09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQo+IC0NCj4gLU5vdGU6IEZvciB2aXJ0aW8xLjAgdXNhZ2UsIHdl IG5lZWQgdXNlIHFlbXUgdmVyc2lvbiA+Mi40LCBzdWNoIGFzIDIuNC4xDQo+IG9yIDIuNS4wLg0K PiAtDQo+IC0xLiBMYXVuY2ggdGhlIFZob3N0IHNhbXBsZSBieSBiZWxvdyBjb21tYW5kcywgc29j a2V0LW1lbSBpcyBzZXQgZm9yIHRoZQ0KPiB2aG9zdCBzYW1wbGUgdG8gdXNlLCBuZWVkIGVuc3Vy ZSB0aGF0IHRoZSBQQ0kgcG9ydCBsb2NhdGVkIHNvY2tldCBoYXMgdGhlDQo+IG1lbW9yeS4gSW4g b3VyIGNhc2UsIHRoZSBQQ0kgQkRGIGlzIDgxOjAwLjAsIHNvIHdlIG5lZWQgYXNzaWduIG1lbW9y eSBmb3INCj4gc29ja2V0MS46Og0KPiAtDQo+IC0gICAgdGFza3NldCAtYyAxOC0yMCAuL2V4YW1w bGVzL3Zob3N0L2J1aWxkL3Zob3N0LXN3aXRjaCAtYyAweDFjMDAwMCAtbg0KPiA0IC0taHVnZS1k aXIgL21udC9odWdlIC0tc29ja2V0LW1lbSAwLDIwNDggLS0gLXAgMSAtLW1lcmdlYWJsZSAwIC0t emVyby0NCj4gY29weSAwIC0tdm0ydm0gMA0KPiAtDQo+IC0yLiBTdGFydCBWTSB3aXRoIDEgdmly dGlvLCBub3RlOiB3ZSBuZWVkIGFkZCAiZGlzYWJsZS1tb2Rlcm49ZmFsc2UiIHRvDQo+IGVuYWJs ZSB2aXJ0aW8gMS4wLg0KPiAtDQo+IC0gICAgdGFza3NldCAtYyAyMi0yMyBcDQo+IC0gICAgL3Jv b3QvcWVtdS12ZXJzaW9ucy9xZW11LTIuNS4wL3g4Nl82NC1zb2Z0bW11L3FlbXUtc3lzdGVtLXg4 Nl82NCAtDQo+IG5hbWUgdXMtdmhvc3Qtdm0xIFwNCj4gLSAgICAgLWNwdSBob3N0IC1lbmFibGUt a3ZtIC1tIDIwNDggLW9iamVjdCBtZW1vcnktYmFja2VuZC0NCj4gZmlsZSxpZD1tZW0sc2l6ZT0y MDQ4TSxtZW0tcGF0aD0vbW50L2h1Z2Usc2hhcmU9b24gLW51bWEgbm9kZSxtZW1kZXY9bWVtDQo+ IC1tZW0tcHJlYWxsb2MgXA0KPiAtICAgICAtc21wIGNvcmVzPTIsc29ja2V0cz0xIC1kcml2ZSBm aWxlPS9ob21lL2ltZy92bTEuaW1nICBcDQo+IC0gICAgIC1jaGFyZGV2IHNvY2tldCxpZD1jaGFy MCxwYXRoPS9ob21lL3F4dTEwL3ZpcnRpby0xLjAvZHBkay92aG9zdC1uZXQNCj4gLW5ldGRldiB0 eXBlPXZob3N0LXVzZXIsaWQ9bXluZXQxLGNoYXJkZXY9Y2hhcjAsdmhvc3Rmb3JjZSBcDQo+IC0g ICAgIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbWFjPTUyOjU0OjAwOjAwOjAwOjAxLG5ldGRldj1t eW5ldDEsZGlzYWJsZS0NCj4gbW9kZXJuPWZhbHNlIFwNCj4gLSAgICAgLW5ldGRldiB0YXAsaWQ9 aXB2bTEsaWZuYW1lPXRhcDMsc2NyaXB0PS9ldGMvcWVtdS1pZnVwIC1kZXZpY2UNCj4gcnRsODEz OSxuZXRkZXY9aXB2bTEsaWQ9bmV0MCxtYWM9MDA6MDA6MDA6MDA6MTA6MDEgLW5vZ3JhcGhpYw0K PiAtDQo+IC0NCj4gLTMuIEluIHRoZSBWTSwgY2hhbmdlIHRoZSBjb25maWcgZmlsZS0tY29tbW9u X2xpbnV4YXBwLA0KPiAiQ09ORklHX1JURV9MSUJSVEVfVklSVElPX0RFQlVHX0lOSVQ9eSI7IFJ1 biBkcGRrIHRlc3RwbWQgaW4gVk06Og0KPiAtDQo+IC0gICAgIC4vPGRwZGtfZm9sZGVyPi90b29s cy9kcGRrX25pY19iaW5kLnB5IC0tYmluZCBpZ2JfdWlvIDAwOjAzLjANCj4gLQ0KPiAtICAgICAu LzxkcGRrX2ZvbGRlcj4veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3QtcG1kL3Rl c3RwbWQgLWMNCj4gMHgzIC1uIDQgLS0gLWkgLS10eHFmbGFncyAweDBmMDAgLS1kaXNhYmxlLWh3 LXZsYW4NCj4gLQ0KPiAtICAgICAkID5zZXQgZndkIG1hYw0KPiAtDQo+IC0gICAgICQgPnN0YXJ0 IHR4X2ZpcnN0DQo+IC0NCj4gLSAgICBXZSBleHBlY3Qgc2ltaWxhciBvdXRwdXQgYXMgYmVsb3cs IGFuZCBzZWUgbW9kZXJuIHZpcnRpbyBwY2kNCj4gZGV0ZWN0ZWQuDQo+IC0NCj4gLSAgICBQTUQ6 IHZpcnRpb19yZWFkX2NhcHMoKTogWzk4XSBza2lwcGluZyBub24gVk5EUiBjYXAgaWQ6IDExDQo+ IC0gICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IFs4NF0gY2ZnIHR5cGU6IDUsIGJhcjogMCwg b2Zmc2V0OiAwMDAwLCBsZW46DQo+IDANCj4gLSAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTog WzcwXSBjZmcgdHlwZTogMiwgYmFyOiA0LCBvZmZzZXQ6IDMwMDAsIGxlbjoNCj4gNDE5NDMwNA0K PiAtICAgIFBNRDogdmlydGlvX3JlYWRfY2FwcygpOiBbNjBdIGNmZyB0eXBlOiA0LCBiYXI6IDQs IG9mZnNldDogMjAwMCwgbGVuOg0KPiA0MDk2DQo+IC0gICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBz KCk6IFs1MF0gY2ZnIHR5cGU6IDMsIGJhcjogNCwgb2Zmc2V0OiAxMDAwLCBsZW46DQo+IDQwOTYN Cj4gLSAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTogWzQwXSBjZmcgdHlwZTogMSwgYmFyOiA0 LCBvZmZzZXQ6IDAwMDAsIGxlbjoNCj4gNDA5Ng0KPiAtICAgIFBNRDogdmlydGlvX3JlYWRfY2Fw cygpOiBmb3VuZCBtb2Rlcm4gdmlydGlvIHBjaSBkZXZpY2UuDQo+IC0gICAgUE1EOiB2aXJ0aW9f cmVhZF9jYXBzKCk6IGNvbW1vbiBjZmcgbWFwcGVkIGF0OiAweDdmMmM2MWE4MzAwMA0KPiAtICAg IFBNRDogdmlydGlvX3JlYWRfY2FwcygpOiBkZXZpY2UgY2ZnIG1hcHBlZCBhdDogMHg3ZjJjNjFh ODUwMDANCj4gLSAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTogaXNyIGNmZyBtYXBwZWQgYXQ6 IDB4N2YyYzYxYTg0MDAwDQo+IC0gICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IG5vdGlmeSBi YXNlOiAweDdmMmM2MWE4NjAwMCwgbm90aWZ5IG9mZg0KPiBtdWx0aXBsaWVyOiA0MDkNCj4gNg0K PiAtICAgIFBNRDogdnRwY2lfaW5pdCgpOiBtb2Rlcm4gdmlydGlvIHBjaSBkZXRlY3RlZC4NCj4g LQ0KPiAtDQo+IC00LiBTZW5kIHRyYWZmaWMgdG8gdmlydGlvMShNQUMxPTUyOjU0OjAwOjAwOjAw OjAxKSB3aXRoIFZMQU4gSUQ9MTAwMC4NCj4gQ2hlY2sgaWYgdmlydGlvIHBhY2tldCBjYW4gYmUg UlgvVFggYW5kIGFsc28gY2hlY2sgdGhlIFRYIHBhY2tldCBzaXplIGlzDQo+IHNhbWUgYXMgdGhl IFJYIHBhY2tldCBzaXplLg0KPiAtDQo+IC01LiBBbHNvIHJ1biB0aGUgZHBkayB0ZXN0cG1kIGlu IFZNIHdpdGggdHhxZmxhZ3M9MHhmMDEgZm9yIHRoZSB2aXJ0aW8NCj4gcG1kIG9wdGltaXphdGlv biB1c2FnZTo6DQo+IC0NCj4gLSAgICAgLi88ZHBka19mb2xkZXI+L3Rvb2xzL2RwZGtfbmljX2Jp bmQucHkgLS1iaW5kIGlnYl91aW8gMDA6MDMuMA0KPiAtDQo+IC0gICAgIC4vPGRwZGtfZm9sZGVy Pi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9hcHAvdGVzdC1wbWQvdGVzdHBtZCAtYw0KPiAw eDMgLW4gNCAtLSAtaSAtLXR4cWZsYWdzPTB4MGYwMSAtLWRpc2FibGUtaHctdmxhbg0KPiAtDQo+ IC0gICAgICQgPnNldCBmd2QgbWFjDQo+IC0NCj4gLSAgICAgJCA+c3RhcnQgdHhfZmlyc3QNCj4g LQ0KPiAtNi4gU2VuZCB0cmFmZmljIHRvIHZpcnRpbzEoTUFDMT01Mjo1NDowMDowMDowMDowMSkg YW5kIFZMQU4gSUQ9MTAwMC4NCj4gQ2hlY2sgaWYgdmlydGlvIHBhY2tldCBjYW4gYmUgUlgvVFgg YW5kIGFsc28gY2hlY2sgdGhlIFRYIHBhY2tldCBzaXplIGlzDQo+IHNhbWUgYXMgdGhlIFJYIHBh Y2tldCBzaXplLiBDaGVjayB0aGUgcGFja2V0IGNvbnRlbnQgaXMgY29ycmVjdC4NCj4gLQ0KPiAt VGVzdCBDYXNlMjogdGVzdF9mdW5jX3Zob3N0X3VzZXJfdmlydGlvMS4wLXBtZCBmb3IgcGFja2V0 IHNlcXVlbmNlIGNoZWNrDQo+IC09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gLQ0KPiAtTm90ZTogRm9yIHZp cnRpbzEuMCB1c2FnZSwgd2UgbmVlZCB1c2UgcWVtdSB2ZXJzaW9uID4yLjQsIHN1Y2ggYXMgMi40 LjENCj4gb3IgMi41LjAuDQo+IC0NCj4gLTEuIExhdW5jaCB0aGUgVmhvc3Qgc2FtcGxlIGJ5IGJl bG93IGNvbW1hbmRzLCBzb2NrZXQtbWVtIGlzIHNldCBmb3IgdGhlDQo+IHZob3N0IHNhbXBsZSB0 byB1c2UsIG5lZWQgZW5zdXJlIHRoYXQgdGhlIFBDSSBwb3J0IGxvY2F0ZWQgc29ja2V0IGhhcyB0 aGUNCj4gbWVtb3J5LiBJbiBvdXIgY2FzZSwgdGhlIFBDSSBCREYgaXMgODE6MDAuMCwgc28gd2Ug bmVlZCBhc3NpZ24gbWVtb3J5IGZvcg0KPiBzb2NrZXQxLjo6DQo+IC0NCj4gLSAgICB0YXNrc2V0 IC1jIDE4LTIwIC4vZXhhbXBsZXMvdmhvc3QvYnVpbGQvdmhvc3Qtc3dpdGNoIC1jIDB4MWMwMDAw IC1uDQo+IDQgLS1odWdlLWRpciAvbW50L2h1Z2UgLS1zb2NrZXQtbWVtIDAsMjA0OCAtLSAtcCAx IC0tbWVyZ2VhYmxlIDAgLS16ZXJvLQ0KPiBjb3B5IDAgLS12bTJ2bSAwDQo+IC0NCj4gLTIuIFN0 YXJ0IFZNIHdpdGggMSB2aXJ0aW8sIG5vdGU6IHdlIG5lZWQgYWRkICJkaXNhYmxlLW1vZGVybj1m YWxzZSIgdG8NCj4gZW5hYmxlIHZpcnRpbyAxLjAuDQo+IC0NCj4gLSAgICB0YXNrc2V0IC1jIDIy LTIzIFwNCj4gLSAgICAvcm9vdC9xZW11LXZlcnNpb25zL3FlbXUtMi41LjAveDg2XzY0LXNvZnRt bXUvcWVtdS1zeXN0ZW0teDg2XzY0IC0NCj4gbmFtZSB1cy12aG9zdC12bTEgXA0KPiAtICAgICAt Y3B1IGhvc3QgLWVuYWJsZS1rdm0gLW0gMjA0OCAtb2JqZWN0IG1lbW9yeS1iYWNrZW5kLQ0KPiBm aWxlLGlkPW1lbSxzaXplPTIwNDhNLG1lbS1wYXRoPS9tbnQvaHVnZSxzaGFyZT1vbiAtbnVtYSBu b2RlLG1lbWRldj1tZW0NCj4gLW1lbS1wcmVhbGxvYyBcDQo+IC0gICAgIC1zbXAgY29yZXM9Mixz b2NrZXRzPTEgLWRyaXZlIGZpbGU9L2hvbWUvaW1nL3ZtMS5pbWcgIFwNCj4gLSAgICAgLWNoYXJk ZXYgc29ja2V0LGlkPWNoYXIwLHBhdGg9L2hvbWUvcXh1MTAvdmlydGlvLTEuMC9kcGRrL3Zob3N0 LW5ldA0KPiAtbmV0ZGV2IHR5cGU9dmhvc3QtdXNlcixpZD1teW5ldDEsY2hhcmRldj1jaGFyMCx2 aG9zdGZvcmNlIFwNCj4gLSAgICAgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxtYWM9NTI6NTQ6MDA6 MDA6MDA6MDEsbmV0ZGV2PW15bmV0MSxkaXNhYmxlLQ0KPiBtb2Rlcm49ZmFsc2UgXA0KPiAtICAg ICAtbmV0ZGV2IHRhcCxpZD1pcHZtMSxpZm5hbWU9dGFwMyxzY3JpcHQ9L2V0Yy9xZW11LWlmdXAg LWRldmljZQ0KPiBydGw4MTM5LG5ldGRldj1pcHZtMSxpZD1uZXQwLG1hYz0wMDowMDowMDowMDox MDowMSAtbm9ncmFwaGljDQo+IC0NCj4gLQ0KPiAtMy4gSW4gdGhlIFZNLCBjaGFuZ2UgdGhlIGNv bmZpZyBmaWxlLS1jb21tb25fbGludXhhcHAsDQo+ICJDT05GSUdfUlRFX0xJQlJURV9WSVJUSU9f REVCVUdfSU5JVD15IjsgUnVuIGRwZGsgdGVzdHBtZCBpbiBWTTo6DQo+IC0NCj4gLSAgICAgLi88 ZHBka19mb2xkZXI+L3Rvb2xzL2RwZGtfbmljX2JpbmQucHkgLS1iaW5kIGlnYl91aW8gMDA6MDMu MA0KPiAtDQo+IC0gICAgIC4vPGRwZGtfZm9sZGVyPi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy9hcHAvdGVzdC1wbWQvdGVzdHBtZCAtYw0KPiAweDMgLW4gNCAtLSAtaSAtLXR4cWZsYWdzIDB4 MGYwMCAtLWRpc2FibGUtaHctdmxhbg0KPiAtDQo+IC0gICAgICQgPnNldCBmd2QgbWFjDQo+IC0N Cj4gLSAgICAgJCA+c3RhcnQgdHhfZmlyc3QNCj4gLQ0KPiAtICAgIFdlIGV4cGVjdCBzaW1pbGFy IG91dHB1dCBhcyBiZWxvdywgYW5kIHNlZSBtb2Rlcm4gdmlydGlvIHBjaQ0KPiBkZXRlY3RlZC4N Cj4gLQ0KPiAtICAgIFBNRDogdmlydGlvX3JlYWRfY2FwcygpOiBbOThdIHNraXBwaW5nIG5vbiBW TkRSIGNhcCBpZDogMTENCj4gLSAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTogWzg0XSBjZmcg dHlwZTogNSwgYmFyOiAwLCBvZmZzZXQ6IDAwMDAsIGxlbjoNCj4gMA0KPiAtICAgIFBNRDogdmly dGlvX3JlYWRfY2FwcygpOiBbNzBdIGNmZyB0eXBlOiAyLCBiYXI6IDQsIG9mZnNldDogMzAwMCwg bGVuOg0KPiA0MTk0MzA0DQo+IC0gICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IFs2MF0gY2Zn IHR5cGU6IDQsIGJhcjogNCwgb2Zmc2V0OiAyMDAwLCBsZW46DQo+IDQwOTYNCj4gLSAgICBQTUQ6 IHZpcnRpb19yZWFkX2NhcHMoKTogWzUwXSBjZmcgdHlwZTogMywgYmFyOiA0LCBvZmZzZXQ6IDEw MDAsIGxlbjoNCj4gNDA5Ng0KPiAtICAgIFBNRDogdmlydGlvX3JlYWRfY2FwcygpOiBbNDBdIGNm ZyB0eXBlOiAxLCBiYXI6IDQsIG9mZnNldDogMDAwMCwgbGVuOg0KPiA0MDk2DQo+IC0gICAgUE1E OiB2aXJ0aW9fcmVhZF9jYXBzKCk6IGZvdW5kIG1vZGVybiB2aXJ0aW8gcGNpIGRldmljZS4NCj4g LSAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTogY29tbW9uIGNmZyBtYXBwZWQgYXQ6IDB4N2Yy YzYxYTgzMDAwDQo+IC0gICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IGRldmljZSBjZmcgbWFw cGVkIGF0OiAweDdmMmM2MWE4NTAwMA0KPiAtICAgIFBNRDogdmlydGlvX3JlYWRfY2FwcygpOiBp c3IgY2ZnIG1hcHBlZCBhdDogMHg3ZjJjNjFhODQwMDANCj4gLSAgICBQTUQ6IHZpcnRpb19yZWFk X2NhcHMoKTogbm90aWZ5IGJhc2U6IDB4N2YyYzYxYTg2MDAwLCBub3RpZnkgb2ZmDQo+IG11bHRp cGxpZXI6IDQwOQ0KPiA2DQo+IC0gICAgUE1EOiB2dHBjaV9pbml0KCk6IG1vZGVybiB2aXJ0aW8g cGNpIGRldGVjdGVkLg0KPiAtDQo+IC0NCj4gLTQuIFNlbmQgMTAwIHBhY2tldHMgYXQgcmF0ZSAy NSUgYXQgc21hbGwgcGFja2V0KGUuZzogNzBCKSB0byB0aGUgdmlydGlvDQo+IHdpdGggVkxBTj0x MDAwLCBhbmQgaW5zZXJ0IHRoZSBzZXF1ZW5jZSBudW1iZXIgYXQgYnl0ZSBvZmZzZXQgNDQgYnl0 ZXMuDQo+IE1ha2UgdGhlIHNlcXVlbmNlIG51bWJlciBzdGFydGluZyBmcm9tIDAwIDAwIDAwIDAw IGFuZCB0aGUgc3RlcCAxLCBmaXJzdA0KPiBlbnN1cmUgbm8gcGFja2V0IGxvc3MgYXQgSVhJQSwg dGhlbiBjaGVjayBpZiB0aGUgcmVjZWl2ZWQgcGFja2V0cyBoYXZlDQo+IHRoZSBzYW1lIG9yZGVy IGFzIHNlbmRpbmcgc2lkZS5JZiBvdXQgb2Ygb3JkZXIsIHRoZW4gaXQncyBhbiBpc3N1ZS4NCj4g LQ0KPiAtDQo+IC1UZXN0IENhc2UzOiB0ZXN0X2Z1bmNfdmhvc3RfdXNlcl92aXJ0aW8xLjAtcG1k IHdpdGggbWVyZ2VhYmxlIGVuYWJsZWQNCj4gLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiAtDQo+IC0xLiBMYXVu Y2ggdGhlIFZob3N0IHNhbXBsZSBieSBiZWxvdyBjb21tYW5kcywgc29ja2V0LW1lbSBpcyBzZXQg Zm9yIHRoZQ0KPiB2aG9zdCBzYW1wbGUgdG8gdXNlLCBuZWVkIGVuc3VyZSB0aGF0IHRoZSBQQ0kg cG9ydCBsb2NhdGVkIHNvY2tldCBoYXMgdGhlDQo+IG1lbW9yeS4gSW4gb3VyIGNhc2UsIHRoZSBQ Q0kgQkRGIGlzIDgxOjAwLjAsIHNvIHdlIG5lZWQgYXNzaWduIG1lbW9yeSBmb3INCj4gc29ja2V0 MS46Og0KPiAtDQo+IC0gICAgdGFza3NldCAtYyAxOC0yMCAuL2V4YW1wbGVzL3Zob3N0L2J1aWxk L3Zob3N0LXN3aXRjaCAtYyAweDFjMDAwMCAtbg0KPiA0IC0taHVnZS1kaXIgL21udC9odWdlIC0t c29ja2V0LW1lbSAwLDIwNDggLS0gLXAgMSAtLW1lcmdlYWJsZSAxIC0temVyby0NCj4gY29weSAw IC0tdm0ydm0gMA0KPiAtDQo+IC0yLiBTdGFydCBWTSB3aXRoIDEgdmlydGlvLCBub3RlOiB3ZSBu ZWVkIGFkZCAiZGlzYWJsZS1tb2Rlcm49ZmFsc2UiIHRvDQo+IGVuYWJsZSB2aXJ0aW8gMS4wLg0K PiAtDQo+IC0gICAgdGFza3NldCAtYyAyMi0yMyBcDQo+IC0gICAgL3Jvb3QvcWVtdS12ZXJzaW9u cy9xZW11LTIuNS4wL3g4Nl82NC1zb2Z0bW11L3FlbXUtc3lzdGVtLXg4Nl82NCAtDQo+IG5hbWUg dXMtdmhvc3Qtdm0xIFwNCj4gLSAgICAgLWNwdSBob3N0IC1lbmFibGUta3ZtIC1tIDIwNDggLW9i amVjdCBtZW1vcnktYmFja2VuZC0NCj4gZmlsZSxpZD1tZW0sc2l6ZT0yMDQ4TSxtZW0tcGF0aD0v bW50L2h1Z2Usc2hhcmU9b24gLW51bWEgbm9kZSxtZW1kZXY9bWVtDQo+IC1tZW0tcHJlYWxsb2Mg XA0KPiAtICAgICAtc21wIGNvcmVzPTIsc29ja2V0cz0xIC1kcml2ZSBmaWxlPS9ob21lL2ltZy92 bTEuaW1nICBcDQo+IC0gICAgIC1jaGFyZGV2IHNvY2tldCxpZD1jaGFyMCxwYXRoPS9ob21lL3F4 dTEwL3ZpcnRpby0xLjAvZHBkay92aG9zdC1uZXQNCj4gLW5ldGRldiB0eXBlPXZob3N0LXVzZXIs aWQ9bXluZXQxLGNoYXJkZXY9Y2hhcjAsdmhvc3Rmb3JjZSBcDQo+IC0gICAgIC1kZXZpY2Ugdmly dGlvLW5ldC1wY2ksbWFjPTUyOjU0OjAwOjAwOjAwOjAxLG5ldGRldj1teW5ldDEsZGlzYWJsZS0N Cj4gbW9kZXJuPWZhbHNlIFwNCj4gLSAgICAgLW5ldGRldiB0YXAsaWQ9aXB2bTEsaWZuYW1lPXRh cDMsc2NyaXB0PS9ldGMvcWVtdS1pZnVwIC1kZXZpY2UNCj4gcnRsODEzOSxuZXRkZXY9aXB2bTEs aWQ9bmV0MCxtYWM9MDA6MDA6MDA6MDA6MTA6MDEgLW5vZ3JhcGhpYw0KPiAtDQo+IC0NCj4gLTMu IFJ1biBkcGRrIHRlc3RwbWQgaW4gVk06Og0KPiAtDQo+IC0gICAgIC4vPGRwZGtfZm9sZGVyPi90 b29scy9kcGRrX25pY19iaW5kLnB5IC0tYmluZCBpZ2JfdWlvIDAwOjAzLjANCj4gLQ0KPiAtICAg ICAuLzxkcGRrX2ZvbGRlcj4veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3QtcG1k L3Rlc3RwbWQgLWMNCj4gMHgzIC1uIDQgLS0gLWkgLS10eHFmbGFncyAweDBmMDAgLS1kaXNhYmxl LWh3LXZsYW4gLS1tYXgtcGt0LWxlbj05MDAwDQo+IC0NCj4gLSAgICAgJCA+c2V0IGZ3ZCBtYWMN Cj4gLQ0KPiAtICAgICAkID5zdGFydCB0eF9maXJzdA0KPiAtDQo+IC00LiBTZW5kIHRyYWZmaWMg dG8gdmlydGlvMShNQUMxPTUyOjU0OjAwOjAwOjAwOjAxKSB3aXRoIFZMQU4gSUQ9MTAwMC4NCj4g Q2hlY2sgaWYgdmlydGlvIHBhY2tldCBjYW4gYmUgUlgvVFggYW5kIGFsc28gY2hlY2sgdGhlIFRY IHBhY2tldCBzaXplIGlzDQo+IHNhbWUgYXMgdGhlIFJYIHBhY2tldCBzaXplLiBDaGVjayBwYWNr ZXQgc2l6ZSg2NC0xNTE4KSBhcyB3ZWxsIGFzIHRoZQ0KPiBqdW1ibyBmcmFtZSgzMDAwLDkwMDAp IGNhbiBiZSBSWC9UWC4NCj4gLQ0KPiAtDQo+IC1UZXN0IENhc2U0OiB0ZXN0X2Z1bmNfdmhvc3Rf dXNlcl9vbmUtdm0tdmlydGlvMS4wLW9uZS12bS12aXJ0aW8wLjk1DQo+IC09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ IC0NCj4gLTEuIExhdW5jaCB0aGUgVmhvc3Qgc2FtcGxlIGJ5IGJlbG93IGNvbW1hbmRzLCBzb2Nr ZXQtbWVtIGlzIHNldCBmb3IgdGhlDQo+IHZob3N0IHNhbXBsZSB0byB1c2UsIG5lZWQgZW5zdXJl IHRoYXQgdGhlIFBDSSBwb3J0IGxvY2F0ZWQgc29ja2V0IGhhcyB0aGUNCj4gbWVtb3J5LiBJbiBv dXIgY2FzZSwgdGhlIFBDSSBCREYgaXMgODE6MDAuMCwgc28gd2UgbmVlZCBhc3NpZ24gbWVtb3J5 IGZvcg0KPiBzb2NrZXQxLjo6DQo+IC0NCj4gLSAgICB0YXNrc2V0IC1jIDE4LTIwIC4vZXhhbXBs ZXMvdmhvc3QvYnVpbGQvdmhvc3Qtc3dpdGNoIC1jIDB4MWMwMDAwIC1uDQo+IDQgLS1odWdlLWRp ciAvbW50L2h1Z2UgLS1zb2NrZXQtbWVtIDAsMjA0OCAtLSAtcCAxIC0tbWVyZ2VhYmxlIDAgLS16 ZXJvLQ0KPiBjb3B5IDAgLS12bTJ2bSAxDQo+IC0NCj4gLTIuIFN0YXJ0IFZNMSB3aXRoIDEgdmly dGlvLCBub3RlOiB3ZSBuZWVkIGFkZCAiZGlzYWJsZS1tb2Rlcm49ZmFsc2UiIHRvDQo+IGVuYWJs ZSB2aXJ0aW8gMS4wLg0KPiAtDQo+IC0gICAgdGFza3NldCAtYyAyMi0yMyBcDQo+IC0gICAgL3Jv b3QvcWVtdS12ZXJzaW9ucy9xZW11LTIuNS4wL3g4Nl82NC1zb2Z0bW11L3FlbXUtc3lzdGVtLXg4 Nl82NCAtDQo+IG5hbWUgdXMtdmhvc3Qtdm0xIFwNCj4gLSAgICAgLWNwdSBob3N0IC1lbmFibGUt a3ZtIC1tIDIwNDggLW9iamVjdCBtZW1vcnktYmFja2VuZC0NCj4gZmlsZSxpZD1tZW0sc2l6ZT0y MDQ4TSxtZW0tcGF0aD0vbW50L2h1Z2Usc2hhcmU9b24gLW51bWEgbm9kZSxtZW1kZXY9bWVtDQo+ IC1tZW0tcHJlYWxsb2MgXA0KPiAtICAgICAtc21wIGNvcmVzPTIsc29ja2V0cz0xIC1kcml2ZSBm aWxlPS9ob21lL2ltZy92bTEuaW1nICBcDQo+IC0gICAgIC1jaGFyZGV2IHNvY2tldCxpZD1jaGFy MCxwYXRoPS9ob21lL3F4dTEwL3ZpcnRpby0xLjAvZHBkay92aG9zdC1uZXQNCj4gLW5ldGRldiB0 eXBlPXZob3N0LXVzZXIsaWQ9bXluZXQxLGNoYXJkZXY9Y2hhcjAsdmhvc3Rmb3JjZSBcDQo+IC0g ICAgIC1kZXZpY2UgdmlydGlvLW5ldC1wY2ksbWFjPTUyOjU0OjAwOjAwOjAwOjAxLG5ldGRldj1t eW5ldDEsZGlzYWJsZS0NCj4gbW9kZXJuPWZhbHNlIFwNCj4gLSAgICAgLW5ldGRldiB0YXAsaWQ9 aXB2bTEsaWZuYW1lPXRhcDMsc2NyaXB0PS9ldGMvcWVtdS1pZnVwIC1kZXZpY2UNCj4gcnRsODEz OSxuZXRkZXY9aXB2bTEsaWQ9bmV0MCxtYWM9MDA6MDA6MDA6MDA6MTA6MDEgLW5vZ3JhcGhpYw0K PiAtDQo+IC0zLiBTdGFydCBWTTIgd2l0aCAxIHZpcnRpbywgbm90ZToNCj4gLQ0KPiAtICAgIHRh c2tzZXQgLWMgMjQtMjUgXA0KPiAtICAgIC9yb290L3FlbXUtdmVyc2lvbnMvcWVtdS0yLjUuMC94 ODZfNjQtc29mdG1tdS9xZW11LXN5c3RlbS14ODZfNjQgLQ0KPiBuYW1lIHVzLXZob3N0LXZtMSBc DQo+IC0gICAgIC1jcHUgaG9zdCAtZW5hYmxlLWt2bSAtbSAyMDQ4IC1vYmplY3QgbWVtb3J5LWJh Y2tlbmQtDQo+IGZpbGUsaWQ9bWVtLHNpemU9MjA0OE0sbWVtLXBhdGg9L21udC9odWdlLHNoYXJl PW9uIC1udW1hIG5vZGUsbWVtZGV2PW1lbQ0KPiAtbWVtLXByZWFsbG9jIFwNCj4gLSAgICAgLXNt cCBjb3Jlcz0yLHNvY2tldHM9MSAtZHJpdmUgZmlsZT0vaG9tZS9pbWcvdm0yLmltZyAgXA0KPiAt ICAgICAtY2hhcmRldiBzb2NrZXQsaWQ9Y2hhcjAscGF0aD0vaG9tZS9xeHUxMC92aXJ0aW8tMS4w L2RwZGsvdmhvc3QtbmV0DQo+IC1uZXRkZXYgdHlwZT12aG9zdC11c2VyLGlkPW15bmV0MixjaGFy ZGV2PWNoYXIwLHZob3N0Zm9yY2UgXA0KPiAtICAgICAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG1h Yz01Mjo1NDowMDowMDowMDowMixuZXRkZXY9bXluZXQyLGRpc2FibGUtDQo+IG1vZGVybj10cnVl IFwNCj4gLSAgICAgLW5ldGRldiB0YXAsaWQ9aXB2bTIsaWZuYW1lPXRhcDQsc2NyaXB0PS9ldGMv cWVtdS1pZnVwIC1kZXZpY2UNCj4gcnRsODEzOSxuZXRkZXY9aXB2bTIsaWQ9bmV0MSxtYWM9MDA6 MDA6MDA6MDA6MTA6MDIgLW5vZ3JhcGhpYw0KPiAtDQo+IC0zLiBSdW4gZHBkayB0ZXN0cG1kIGlu IFZNMSBhbmQgVk0yOjoNCj4gLQ0KPiAtICAgICBWTTE6DQo+IC0NCj4gLSAgICAgLi88ZHBka19m b2xkZXI+L3Rvb2xzL2RwZGtfbmljX2JpbmQucHkgLS1iaW5kIGlnYl91aW8gMDA6MDMuMA0KPiAt DQo+IC0gICAgIC4vPGRwZGtfZm9sZGVyPi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9hcHAv dGVzdC1wbWQvdGVzdHBtZCAtYw0KPiAweDMgLW4gNCAtLSAtaSAtLXR4cWZsYWdzIDB4MGYwMCAt LWRpc2FibGUtaHctdmxhbiAtLWV0aC0NCj4gcGVlcj0wLDUyOjU0OjAwOjAwOjAwOjAyDQo+IC0N Cj4gLSAgICAgJCA+c2V0IGZ3ZCBtYWMNCj4gLQ0KPiAtICAgICAkID5zdGFydCB0eF9maXJzdA0K PiAtDQo+IC0gICAgIFZNMjoNCj4gLQ0KPiAtICAgICAuLzxkcGRrX2ZvbGRlcj4vdG9vbHMvZHBk a19uaWNfYmluZC5weSAtLWJpbmQgaWdiX3VpbyAwMDowMy4wDQo+IC0NCj4gLSAgICAgLi88ZHBk a19mb2xkZXI+L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2FwcC90ZXN0LXBtZC90ZXN0cG1k IC1jDQo+IDB4MyAtbiA0IC0tIC1pIC0tdHhxZmxhZ3MgMHgwZjAwIC0tZGlzYWJsZS1ody12bGFu DQo+IC0NCj4gLSAgICAgJCA+c2V0IGZ3ZCBtYWMNCj4gLQ0KPiAtICAgICAkID5zdGFydCB0eF9m aXJzdA0KPiAtDQo+IC00LiBTZW5kIDEwMCBwYWNrZXRzIGF0IGxvdyByYXRlIHRvIHZpcnRpbzEs IGFuZCB0aGUgZXhwZWN0ZWQgZmxvdyBpcw0KPiBpeGlhLS0+TklDLS0+VkhPU1QtLT5WaXJ0aW8x LS0+VmlydGlvMi0tPlZob3N0LS0+TklDLT5peGlhIHBvcnQuIENoZWNrDQo+IHRoZSBwYWNrZXQg YmFjayBhdCBpeGlhIHBvcnQgaXMgY29udGVudCBjb3JyZWN0LCBubyBzaXplIGNoYW5nZSBhbmQN Cj4gcGF5bG9hZCBjaGFuZ2UuDQo+IC0NCj4gLVRlc3QgQ2FzZTU6IHRlc3RfcGVyZl92aG9zdF91 c2VyX29uZS12bS12aXJ0aW8xLjAtcG1kDQo+IC09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiAtDQo+IC1Ob3RlOiBGb3IgdmlydGlvMS4wIHVz YWdlLCB3ZSBuZWVkIHVzZSBxZW11IHZlcnNpb24gPjIuNCwgc3VjaCBhcyAyLjQuMQ0KPiBvciAy LjUuMC4NCj4gLQ0KPiAtMS4gTGF1bmNoIHRoZSBWaG9zdCBzYW1wbGUgYnkgYmVsb3cgY29tbWFu ZHMsIHNvY2tldC1tZW0gaXMgc2V0IGZvciB0aGUNCj4gdmhvc3Qgc2FtcGxlIHRvIHVzZSwgbmVl ZCBlbnN1cmUgdGhhdCB0aGUgUENJIHBvcnQgbG9jYXRlZCBzb2NrZXQgaGFzIHRoZQ0KPiBtZW1v cnkuIEluIG91ciBjYXNlLCB0aGUgUENJIEJERiBpcyA4MTowMC4wLCBzbyB3ZSBuZWVkIGFzc2ln biBtZW1vcnkgZm9yDQo+IHNvY2tldDEuOjoNCj4gLQ0KPiAtICAgIHRhc2tzZXQgLWMgMTgtMjAg Li9leGFtcGxlcy92aG9zdC9idWlsZC92aG9zdC1zd2l0Y2ggLWMgMHgxYzAwMDAgLW4NCj4gNCAt LWh1Z2UtZGlyIC9tbnQvaHVnZSAtLXNvY2tldC1tZW0gMCwyMDQ4IC0tIC1wIDEgLS1tZXJnZWFi bGUgMCAtLXplcm8tDQo+IGNvcHkgMCAtLXZtMnZtIDANCj4gLQ0KPiAtMi4gU3RhcnQgVk0gd2l0 aCAxIHZpcnRpbywgbm90ZTogd2UgbmVlZCBhZGQgImRpc2FibGUtbW9kZXJuPWZhbHNlIiB0bw0K PiBlbmFibGUgdmlydGlvIDEuMC4NCj4gLQ0KPiAtICAgIHRhc2tzZXQgLWMgMjItMjMgXA0KPiAt ICAgIC9yb290L3FlbXUtdmVyc2lvbnMvcWVtdS0yLjUuMC94ODZfNjQtc29mdG1tdS9xZW11LXN5 c3RlbS14ODZfNjQgLQ0KPiBuYW1lIHVzLXZob3N0LXZtMSBcDQo+IC0gICAgIC1jcHUgaG9zdCAt ZW5hYmxlLWt2bSAtbSAyMDQ4IC1vYmplY3QgbWVtb3J5LWJhY2tlbmQtDQo+IGZpbGUsaWQ9bWVt LHNpemU9MjA0OE0sbWVtLXBhdGg9L21udC9odWdlLHNoYXJlPW9uIC1udW1hIG5vZGUsbWVtZGV2 PW1lbQ0KPiAtbWVtLXByZWFsbG9jIFwNCj4gLSAgICAgLXNtcCBjb3Jlcz0yLHNvY2tldHM9MSAt ZHJpdmUgZmlsZT0vaG9tZS9pbWcvdm0xLmltZyAgXA0KPiAtICAgICAtY2hhcmRldiBzb2NrZXQs aWQ9Y2hhcjAscGF0aD0vaG9tZS9xeHUxMC92aXJ0aW8tMS4wL2RwZGsvdmhvc3QtbmV0DQo+IC1u ZXRkZXYgdHlwZT12aG9zdC11c2VyLGlkPW15bmV0MSxjaGFyZGV2PWNoYXIwLHZob3N0Zm9yY2Ug XA0KPiAtICAgICAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG1hYz01Mjo1NDowMDowMDowMDowMSxu ZXRkZXY9bXluZXQxLGRpc2FibGUtDQo+IG1vZGVybj1mYWxzZSBcDQo+IC0gICAgIC1uZXRkZXYg dGFwLGlkPWlwdm0xLGlmbmFtZT10YXAzLHNjcmlwdD0vZXRjL3FlbXUtaWZ1cCAtZGV2aWNlDQo+ IHJ0bDgxMzksbmV0ZGV2PWlwdm0xLGlkPW5ldDAsbWFjPTAwOjAwOjAwOjAwOjEwOjAxIC1ub2dy YXBoaWMNCj4gLQ0KPiAtDQo+IC0zLiBJbiB0aGUgVk0sIHJ1biBkcGRrIHRlc3RwbWQgaW4gVk06 Og0KPiAtDQo+IC0gICAgIC4vPGRwZGtfZm9sZGVyPi90b29scy9kcGRrX25pY19iaW5kLnB5IC0t YmluZCBpZ2JfdWlvIDAwOjAzLjANCj4gLQ0KPiAtICAgICAuLzxkcGRrX2ZvbGRlcj4veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQgLWMNCj4gMHgzIC1uIDQg LS0gLWkgLS10eHFmbGFncyAweDBmMDAgLS1kaXNhYmxlLWh3LXZsYW4NCj4gLQ0KPiAtICAgICAk ID5zZXQgZndkIG1hYw0KPiAtDQo+IC0gICAgICQgPnN0YXJ0IHR4X2ZpcnN0DQo+IC0NCj4gKy4u IENvcHlyaWdodCAoYykgPDIwMTY+LCBJbnRlbCBDb3Jwb3JhdGlvbg0KPiArICAgQWxsIHJpZ2h0 cyByZXNlcnZlZC4NCj4gKw0KPiArICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQo+ICsgICBtb2RpZmljYXRpb24sIGFy ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCj4gKyAg IGFyZSBtZXQ6DQo+ICsNCj4gKyAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11 c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4gKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KPiArDQo+ICsgICAt IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg Y29weXJpZ2h0DQo+ICsgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbg0KPiArICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlDQo+ICsgICAgIGRpc3RyaWJ1dGlv bi4NCj4gKw0KPiArICAgLSBOZWl0aGVyIHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5v ciB0aGUgbmFtZXMgb2YgaXRzDQo+ICsgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZA0KPiArICAgICBmcm9tIHRoaXMgc29m dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQo+ICsNCj4g KyAgIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO RCBDT05UUklCVVRPUlMNCj4gKyAgICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UDQo+ICsgICBMSU1JVEVEIFRPLCBUSEUgSU1Q TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KPiArICAgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU SEUNCj4gKyAgIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB TlkgRElSRUNULCBJTkRJUkVDVCwNCj4gKyAgIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTDQo+ICsgICAoSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCj4gKyAgIFNFUlZJ Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU SU9OKQ0KPiArICAgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ LCBXSEVUSEVSIElOIENPTlRSQUNULA0KPiArICAgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQ0KPiArICAgQVJJU0lORyBJTiBBTlkg V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRA0KPiAr ICAgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KPiArDQo+ICs9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0NCj4gK1ZpcnRpby0xLjAgU3VwcG9ydCBUZXN0IFBsYW4N Cj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICtWaXJ0aW8gMS4w IGlzIGEgbmV3IHZlcnNpb24gb2YgdmlydGlvLiBBbmQgdGhlIHZpcnRpbyAxLjAgc3BlYyBsaW5r IGlzDQo+IGF0ICBodHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy92aXJ0aW8vdmlydGlvL3YxLjAv dmlydGlvLXYxLjAucGRmLiBUaGUNCj4gbWFqb3IgZGlmZmVyZW5jZSBpcyBhdCBQQ0kgbGF5b3V0 LiBGb3IgdGVzdGluZyB2aXJ0aW8gMS4wIHBtZCwgd2UgbmVlZA0KPiB0ZXN0IHRoZSBiYXNpYyBS WC9UWCwgZGlmZmVyZW50IHBhdGgodHhxZmxhZ3MpLCBtZXJnZWFibGUgb24vb2ZmLCBhbmQNCj4g YWxzbyB0ZXN0IHdpdGggdmlydGlvMC45NSB0byBlbnN1cmUgdGhleSBjYW4gY28tZXhpc3QuIEJl c2lkZXMsIHdlIG5lZWQNCj4gdGVzdCB2aXJ0aW8gMS4wJ3MgcGVyZm9ybWFuY2UgdG8gZW5zdXJl IGl0IGhhcyBzaW1pbGFyIHBlcmZvcm1hbmNlIGFzDQo+IHZpcnRpbzAuOTUuDQo+ICsNCj4gKw0K PiArVGVzdCBDYXNlMTogdGVzdF9mdW5jX3Zob3N0X3VzZXJfdmlydGlvMS4wLXBtZCB3aXRoIGRp ZmZlcmVudCB0eHFmbGFncw0KPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICtOb3RlOiBGb3Igdmly dGlvMS4wIHVzYWdlLCB3ZSBuZWVkIHVzZSBxZW11IHZlcnNpb24gPjIuNCwgc3VjaCBhcyAyLjQu MQ0KPiBvciAyLjUuMC4NCj4gKw0KPiArMS4gTGF1bmNoIHRoZSBWaG9zdCBzYW1wbGUgYnkgYmVs b3cgY29tbWFuZHMsIHNvY2tldC1tZW0gaXMgc2V0IGZvciB0aGUNCj4gdmhvc3Qgc2FtcGxlIHRv IHVzZSwgbmVlZCBlbnN1cmUgdGhhdCB0aGUgUENJIHBvcnQgbG9jYXRlZCBzb2NrZXQgaGFzIHRo ZQ0KPiBtZW1vcnkuIEluIG91ciBjYXNlLCB0aGUgUENJIEJERiBpcyA4MTowMC4wLCBzbyB3ZSBu ZWVkIGFzc2lnbiBtZW1vcnkgZm9yDQo+IHNvY2tldDEuOjoNCj4gKw0KPiArICAgIHRhc2tzZXQg LWMgMTgtMjAgLi9leGFtcGxlcy92aG9zdC9idWlsZC92aG9zdC1zd2l0Y2ggLWMgMHgxYzAwMDAg LW4NCj4gNCAtLWh1Z2UtZGlyIC9tbnQvaHVnZSAtLXNvY2tldC1tZW0gMCwyMDQ4IC0tIC1wIDEg LS1tZXJnZWFibGUgMCAtLXplcm8tDQo+IGNvcHkgMCAtLXZtMnZtIDANCj4gKw0KPiArMi4gU3Rh cnQgVk0gd2l0aCAxIHZpcnRpbywgbm90ZTogd2UgbmVlZCBhZGQgImRpc2FibGUtbW9kZXJuPWZh bHNlIiB0bw0KPiBlbmFibGUgdmlydGlvIDEuMC4NCj4gKw0KPiArICAgIHRhc2tzZXQgLWMgMjIt MjMgXA0KPiArICAgIC9yb290L3FlbXUtdmVyc2lvbnMvcWVtdS0yLjUuMC94ODZfNjQtc29mdG1t dS9xZW11LXN5c3RlbS14ODZfNjQgLQ0KPiBuYW1lIHVzLXZob3N0LXZtMSBcDQo+ICsgICAgIC1j cHUgaG9zdCAtZW5hYmxlLWt2bSAtbSAyMDQ4IC1vYmplY3QgbWVtb3J5LWJhY2tlbmQtDQo+IGZp bGUsaWQ9bWVtLHNpemU9MjA0OE0sbWVtLXBhdGg9L21udC9odWdlLHNoYXJlPW9uIC1udW1hIG5v ZGUsbWVtZGV2PW1lbQ0KPiAtbWVtLXByZWFsbG9jIFwNCj4gKyAgICAgLXNtcCBjb3Jlcz0yLHNv Y2tldHM9MSAtZHJpdmUgZmlsZT0vaG9tZS9pbWcvdm0xLmltZyAgXA0KPiArICAgICAtY2hhcmRl diBzb2NrZXQsaWQ9Y2hhcjAscGF0aD0vaG9tZS9xeHUxMC92aXJ0aW8tMS4wL2RwZGsvdmhvc3Qt bmV0DQo+IC1uZXRkZXYgdHlwZT12aG9zdC11c2VyLGlkPW15bmV0MSxjaGFyZGV2PWNoYXIwLHZo b3N0Zm9yY2UgXA0KPiArICAgICAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG1hYz01Mjo1NDowMDow MDowMDowMSxuZXRkZXY9bXluZXQxLGRpc2FibGUtDQo+IG1vZGVybj1mYWxzZSBcDQo+ICsgICAg IC1uZXRkZXYgdGFwLGlkPWlwdm0xLGlmbmFtZT10YXAzLHNjcmlwdD0vZXRjL3FlbXUtaWZ1cCAt ZGV2aWNlDQo+IHJ0bDgxMzksbmV0ZGV2PWlwdm0xLGlkPW5ldDAsbWFjPTAwOjAwOjAwOjAwOjEw OjAxIC1ub2dyYXBoaWMNCj4gKw0KPiArDQo+ICszLiBJbiB0aGUgVk0sIGNoYW5nZSB0aGUgY29u ZmlnIGZpbGUtLWNvbW1vbl9saW51eGFwcCwNCj4gIkNPTkZJR19SVEVfTElCUlRFX1ZJUlRJT19E RUJVR19JTklUPXkiOyBSdW4gZHBkayB0ZXN0cG1kIGluIFZNOjoNCj4gKw0KPiArICAgICAuLzxk cGRrX2ZvbGRlcj4vdG9vbHMvZHBka19uaWNfYmluZC5weSAtLWJpbmQgaWdiX3VpbyAwMDowMy4w DQo+ICsNCj4gKyAgICAgLi88ZHBka19mb2xkZXI+L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj L2FwcC90ZXN0LXBtZC90ZXN0cG1kIC1jDQo+IDB4MyAtbiA0IC0tIC1pIC0tdHhxZmxhZ3MgMHgw ZjAwIC0tZGlzYWJsZS1ody12bGFuDQo+ICsNCj4gKyAgICAgJCA+c2V0IGZ3ZCBtYWMNCj4gKw0K PiArICAgICAkID5zdGFydCB0eF9maXJzdA0KPiArDQo+ICsgICAgV2UgZXhwZWN0IHNpbWlsYXIg b3V0cHV0IGFzIGJlbG93LCBhbmQgc2VlIG1vZGVybiB2aXJ0aW8gcGNpDQo+IGRldGVjdGVkLg0K PiArDQo+ICsgICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IFs5OF0gc2tpcHBpbmcgbm9uIFZO RFIgY2FwIGlkOiAxMQ0KPiArICAgIFBNRDogdmlydGlvX3JlYWRfY2FwcygpOiBbODRdIGNmZyB0 eXBlOiA1LCBiYXI6IDAsIG9mZnNldDogMDAwMCwgbGVuOg0KPiAwDQo+ICsgICAgUE1EOiB2aXJ0 aW9fcmVhZF9jYXBzKCk6IFs3MF0gY2ZnIHR5cGU6IDIsIGJhcjogNCwgb2Zmc2V0OiAzMDAwLCBs ZW46DQo+IDQxOTQzMDQNCj4gKyAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTogWzYwXSBjZmcg dHlwZTogNCwgYmFyOiA0LCBvZmZzZXQ6IDIwMDAsIGxlbjoNCj4gNDA5Ng0KPiArICAgIFBNRDog dmlydGlvX3JlYWRfY2FwcygpOiBbNTBdIGNmZyB0eXBlOiAzLCBiYXI6IDQsIG9mZnNldDogMTAw MCwgbGVuOg0KPiA0MDk2DQo+ICsgICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IFs0MF0gY2Zn IHR5cGU6IDEsIGJhcjogNCwgb2Zmc2V0OiAwMDAwLCBsZW46DQo+IDQwOTYNCj4gKyAgICBQTUQ6 IHZpcnRpb19yZWFkX2NhcHMoKTogZm91bmQgbW9kZXJuIHZpcnRpbyBwY2kgZGV2aWNlLg0KPiAr ICAgIFBNRDogdmlydGlvX3JlYWRfY2FwcygpOiBjb21tb24gY2ZnIG1hcHBlZCBhdDogMHg3ZjJj NjFhODMwMDANCj4gKyAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTogZGV2aWNlIGNmZyBtYXBw ZWQgYXQ6IDB4N2YyYzYxYTg1MDAwDQo+ICsgICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IGlz ciBjZmcgbWFwcGVkIGF0OiAweDdmMmM2MWE4NDAwMA0KPiArICAgIFBNRDogdmlydGlvX3JlYWRf Y2FwcygpOiBub3RpZnkgYmFzZTogMHg3ZjJjNjFhODYwMDAsIG5vdGlmeSBvZmYNCj4gbXVsdGlw bGllcjogNDA5DQo+IDYNCj4gKyAgICBQTUQ6IHZ0cGNpX2luaXQoKTogbW9kZXJuIHZpcnRpbyBw Y2kgZGV0ZWN0ZWQuDQo+ICsNCj4gKw0KPiArNC4gU2VuZCB0cmFmZmljIHRvIHZpcnRpbzEoTUFD MT01Mjo1NDowMDowMDowMDowMSkgd2l0aCBWTEFOIElEPTEwMDAuDQo+IENoZWNrIGlmIHZpcnRp byBwYWNrZXQgY2FuIGJlIFJYL1RYIGFuZCBhbHNvIGNoZWNrIHRoZSBUWCBwYWNrZXQgc2l6ZSBp cw0KPiBzYW1lIGFzIHRoZSBSWCBwYWNrZXQgc2l6ZS4NCj4gKw0KPiArNS4gQWxzbyBydW4gdGhl IGRwZGsgdGVzdHBtZCBpbiBWTSB3aXRoIHR4cWZsYWdzPTB4ZjAxIGZvciB0aGUgdmlydGlvDQo+ IHBtZCBvcHRpbWl6YXRpb24gdXNhZ2U6Og0KPiArDQo+ICsgICAgIC4vPGRwZGtfZm9sZGVyPi90 b29scy9kcGRrX25pY19iaW5kLnB5IC0tYmluZCBpZ2JfdWlvIDAwOjAzLjANCj4gKw0KPiArICAg ICAuLzxkcGRrX2ZvbGRlcj4veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3QtcG1k L3Rlc3RwbWQgLWMNCj4gMHgzIC1uIDQgLS0gLWkgLS10eHFmbGFncz0weDBmMDEgLS1kaXNhYmxl LWh3LXZsYW4NCj4gKw0KPiArICAgICAkID5zZXQgZndkIG1hYw0KPiArDQo+ICsgICAgICQgPnN0 YXJ0IHR4X2ZpcnN0DQo+ICsNCj4gKzYuIFNlbmQgdHJhZmZpYyB0byB2aXJ0aW8xKE1BQzE9NTI6 NTQ6MDA6MDA6MDA6MDEpIGFuZCBWTEFOIElEPTEwMDAuDQo+IENoZWNrIGlmIHZpcnRpbyBwYWNr ZXQgY2FuIGJlIFJYL1RYIGFuZCBhbHNvIGNoZWNrIHRoZSBUWCBwYWNrZXQgc2l6ZSBpcw0KPiBz YW1lIGFzIHRoZSBSWCBwYWNrZXQgc2l6ZS4gQ2hlY2sgdGhlIHBhY2tldCBjb250ZW50IGlzIGNv cnJlY3QuDQo+ICsNCj4gK1Rlc3QgQ2FzZTI6IHRlc3RfZnVuY192aG9zdF91c2VyX3ZpcnRpbzEu MC1wbWQgZm9yIHBhY2tldCBzZXF1ZW5jZSBjaGVjaw0KPiArPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ICsN Cj4gK05vdGU6IEZvciB2aXJ0aW8xLjAgdXNhZ2UsIHdlIG5lZWQgdXNlIHFlbXUgdmVyc2lvbiA+ Mi40LCBzdWNoIGFzIDIuNC4xDQo+IG9yIDIuNS4wLg0KPiArDQo+ICsxLiBMYXVuY2ggdGhlIFZo b3N0IHNhbXBsZSBieSBiZWxvdyBjb21tYW5kcywgc29ja2V0LW1lbSBpcyBzZXQgZm9yIHRoZQ0K PiB2aG9zdCBzYW1wbGUgdG8gdXNlLCBuZWVkIGVuc3VyZSB0aGF0IHRoZSBQQ0kgcG9ydCBsb2Nh dGVkIHNvY2tldCBoYXMgdGhlDQo+IG1lbW9yeS4gSW4gb3VyIGNhc2UsIHRoZSBQQ0kgQkRGIGlz IDgxOjAwLjAsIHNvIHdlIG5lZWQgYXNzaWduIG1lbW9yeSBmb3INCj4gc29ja2V0MS46Og0KPiAr DQo+ICsgICAgdGFza3NldCAtYyAxOC0yMCAuL2V4YW1wbGVzL3Zob3N0L2J1aWxkL3Zob3N0LXN3 aXRjaCAtYyAweDFjMDAwMCAtbg0KPiA0IC0taHVnZS1kaXIgL21udC9odWdlIC0tc29ja2V0LW1l bSAwLDIwNDggLS0gLXAgMSAtLW1lcmdlYWJsZSAwIC0temVyby0NCj4gY29weSAwIC0tdm0ydm0g MA0KPiArDQo+ICsyLiBTdGFydCBWTSB3aXRoIDEgdmlydGlvLCBub3RlOiB3ZSBuZWVkIGFkZCAi ZGlzYWJsZS1tb2Rlcm49ZmFsc2UiIHRvDQo+IGVuYWJsZSB2aXJ0aW8gMS4wLg0KPiArDQo+ICsg ICAgdGFza3NldCAtYyAyMi0yMyBcDQo+ICsgICAgL3Jvb3QvcWVtdS12ZXJzaW9ucy9xZW11LTIu NS4wL3g4Nl82NC1zb2Z0bW11L3FlbXUtc3lzdGVtLXg4Nl82NCAtDQo+IG5hbWUgdXMtdmhvc3Qt dm0xIFwNCj4gKyAgICAgLWNwdSBob3N0IC1lbmFibGUta3ZtIC1tIDIwNDggLW9iamVjdCBtZW1v cnktYmFja2VuZC0NCj4gZmlsZSxpZD1tZW0sc2l6ZT0yMDQ4TSxtZW0tcGF0aD0vbW50L2h1Z2Us c2hhcmU9b24gLW51bWEgbm9kZSxtZW1kZXY9bWVtDQo+IC1tZW0tcHJlYWxsb2MgXA0KPiArICAg ICAtc21wIGNvcmVzPTIsc29ja2V0cz0xIC1kcml2ZSBmaWxlPS9ob21lL2ltZy92bTEuaW1nICBc DQo+ICsgICAgIC1jaGFyZGV2IHNvY2tldCxpZD1jaGFyMCxwYXRoPS9ob21lL3F4dTEwL3ZpcnRp by0xLjAvZHBkay92aG9zdC1uZXQNCj4gLW5ldGRldiB0eXBlPXZob3N0LXVzZXIsaWQ9bXluZXQx LGNoYXJkZXY9Y2hhcjAsdmhvc3Rmb3JjZSBcDQo+ICsgICAgIC1kZXZpY2UgdmlydGlvLW5ldC1w Y2ksbWFjPTUyOjU0OjAwOjAwOjAwOjAxLG5ldGRldj1teW5ldDEsZGlzYWJsZS0NCj4gbW9kZXJu PWZhbHNlIFwNCj4gKyAgICAgLW5ldGRldiB0YXAsaWQ9aXB2bTEsaWZuYW1lPXRhcDMsc2NyaXB0 PS9ldGMvcWVtdS1pZnVwIC1kZXZpY2UNCj4gcnRsODEzOSxuZXRkZXY9aXB2bTEsaWQ9bmV0MCxt YWM9MDA6MDA6MDA6MDA6MTA6MDEgLW5vZ3JhcGhpYw0KPiArDQo+ICsNCj4gKzMuIEluIHRoZSBW TSwgY2hhbmdlIHRoZSBjb25maWcgZmlsZS0tY29tbW9uX2xpbnV4YXBwLA0KPiAiQ09ORklHX1JU RV9MSUJSVEVfVklSVElPX0RFQlVHX0lOSVQ9eSI7IFJ1biBkcGRrIHRlc3RwbWQgaW4gVk06Og0K PiArDQo+ICsgICAgIC4vPGRwZGtfZm9sZGVyPi90b29scy9kcGRrX25pY19iaW5kLnB5IC0tYmlu ZCBpZ2JfdWlvIDAwOjAzLjANCj4gKw0KPiArICAgICAuLzxkcGRrX2ZvbGRlcj4veDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQgLWMNCj4gMHgzIC1uIDQgLS0g LWkgLS10eHFmbGFncyAweDBmMDAgLS1kaXNhYmxlLWh3LXZsYW4NCj4gKw0KPiArICAgICAkID5z ZXQgZndkIG1hYw0KPiArDQo+ICsgICAgICQgPnN0YXJ0IHR4X2ZpcnN0DQo+ICsNCj4gKyAgICBX ZSBleHBlY3Qgc2ltaWxhciBvdXRwdXQgYXMgYmVsb3csIGFuZCBzZWUgbW9kZXJuIHZpcnRpbyBw Y2kNCj4gZGV0ZWN0ZWQuDQo+ICsNCj4gKyAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTogWzk4 XSBza2lwcGluZyBub24gVk5EUiBjYXAgaWQ6IDExDQo+ICsgICAgUE1EOiB2aXJ0aW9fcmVhZF9j YXBzKCk6IFs4NF0gY2ZnIHR5cGU6IDUsIGJhcjogMCwgb2Zmc2V0OiAwMDAwLCBsZW46DQo+IDAN Cj4gKyAgICBQTUQ6IHZpcnRpb19yZWFkX2NhcHMoKTogWzcwXSBjZmcgdHlwZTogMiwgYmFyOiA0 LCBvZmZzZXQ6IDMwMDAsIGxlbjoNCj4gNDE5NDMwNA0KPiArICAgIFBNRDogdmlydGlvX3JlYWRf Y2FwcygpOiBbNjBdIGNmZyB0eXBlOiA0LCBiYXI6IDQsIG9mZnNldDogMjAwMCwgbGVuOg0KPiA0 MDk2DQo+ICsgICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IFs1MF0gY2ZnIHR5cGU6IDMsIGJh cjogNCwgb2Zmc2V0OiAxMDAwLCBsZW46DQo+IDQwOTYNCj4gKyAgICBQTUQ6IHZpcnRpb19yZWFk X2NhcHMoKTogWzQwXSBjZmcgdHlwZTogMSwgYmFyOiA0LCBvZmZzZXQ6IDAwMDAsIGxlbjoNCj4g NDA5Ng0KPiArICAgIFBNRDogdmlydGlvX3JlYWRfY2FwcygpOiBmb3VuZCBtb2Rlcm4gdmlydGlv IHBjaSBkZXZpY2UuDQo+ICsgICAgUE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IGNvbW1vbiBjZmcg bWFwcGVkIGF0OiAweDdmMmM2MWE4MzAwMA0KPiArICAgIFBNRDogdmlydGlvX3JlYWRfY2Fwcygp OiBkZXZpY2UgY2ZnIG1hcHBlZCBhdDogMHg3ZjJjNjFhODUwMDANCj4gKyAgICBQTUQ6IHZpcnRp b19yZWFkX2NhcHMoKTogaXNyIGNmZyBtYXBwZWQgYXQ6IDB4N2YyYzYxYTg0MDAwDQo+ICsgICAg UE1EOiB2aXJ0aW9fcmVhZF9jYXBzKCk6IG5vdGlmeSBiYXNlOiAweDdmMmM2MWE4NjAwMCwgbm90 aWZ5IG9mZg0KPiBtdWx0aXBsaWVyOiA0MDkNCj4gNg0KPiArICAgIFBNRDogdnRwY2lfaW5pdCgp OiBtb2Rlcm4gdmlydGlvIHBjaSBkZXRlY3RlZC4NCj4gKw0KPiArDQo+ICs0LiBTZW5kIDEwMCBw YWNrZXRzIGF0IHJhdGUgMjUlIGF0IHNtYWxsIHBhY2tldChlLmc6IDcwQikgdG8gdGhlIHZpcnRp bw0KPiB3aXRoIFZMQU49MTAwMCwgYW5kIGluc2VydCB0aGUgc2VxdWVuY2UgbnVtYmVyIGF0IGJ5 dGUgb2Zmc2V0IDQ0IGJ5dGVzLg0KPiBNYWtlIHRoZSBzZXF1ZW5jZSBudW1iZXIgc3RhcnRpbmcg ZnJvbSAwMCAwMCAwMCAwMCBhbmQgdGhlIHN0ZXAgMSwgZmlyc3QNCj4gZW5zdXJlIG5vIHBhY2tl dCBsb3NzIGF0IElYSUEsIHRoZW4gY2hlY2sgaWYgdGhlIHJlY2VpdmVkIHBhY2tldHMgaGF2ZQ0K PiB0aGUgc2FtZSBvcmRlciBhcyBzZW5kaW5nIHNpZGUuSWYgb3V0IG9mIG9yZGVyLCB0aGVuIGl0 J3MgYW4gaXNzdWUuDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlMzogdGVzdF9mdW5jX3Zob3N0X3Vz ZXJfdmlydGlvMS4wLXBtZCB3aXRoIG1lcmdlYWJsZSBlbmFibGVkDQo+ICs9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N Cj4gKw0KPiArMS4gTGF1bmNoIHRoZSBWaG9zdCBzYW1wbGUgYnkgYmVsb3cgY29tbWFuZHMsIHNv Y2tldC1tZW0gaXMgc2V0IGZvciB0aGUNCj4gdmhvc3Qgc2FtcGxlIHRvIHVzZSwgbmVlZCBlbnN1 cmUgdGhhdCB0aGUgUENJIHBvcnQgbG9jYXRlZCBzb2NrZXQgaGFzIHRoZQ0KPiBtZW1vcnkuIElu IG91ciBjYXNlLCB0aGUgUENJIEJERiBpcyA4MTowMC4wLCBzbyB3ZSBuZWVkIGFzc2lnbiBtZW1v cnkgZm9yDQo+IHNvY2tldDEuOjoNCj4gKw0KPiArICAgIHRhc2tzZXQgLWMgMTgtMjAgLi9leGFt cGxlcy92aG9zdC9idWlsZC92aG9zdC1zd2l0Y2ggLWMgMHgxYzAwMDAgLW4NCj4gNCAtLWh1Z2Ut ZGlyIC9tbnQvaHVnZSAtLXNvY2tldC1tZW0gMCwyMDQ4IC0tIC1wIDEgLS1tZXJnZWFibGUgMSAt LXplcm8tDQo+IGNvcHkgMCAtLXZtMnZtIDANCj4gKw0KPiArMi4gU3RhcnQgVk0gd2l0aCAxIHZp cnRpbywgbm90ZTogd2UgbmVlZCBhZGQgImRpc2FibGUtbW9kZXJuPWZhbHNlIiB0bw0KPiBlbmFi bGUgdmlydGlvIDEuMC4NCj4gKw0KPiArICAgIHRhc2tzZXQgLWMgMjItMjMgXA0KPiArICAgIC9y b290L3FlbXUtdmVyc2lvbnMvcWVtdS0yLjUuMC94ODZfNjQtc29mdG1tdS9xZW11LXN5c3RlbS14 ODZfNjQgLQ0KPiBuYW1lIHVzLXZob3N0LXZtMSBcDQo+ICsgICAgIC1jcHUgaG9zdCAtZW5hYmxl LWt2bSAtbSAyMDQ4IC1vYmplY3QgbWVtb3J5LWJhY2tlbmQtDQo+IGZpbGUsaWQ9bWVtLHNpemU9 MjA0OE0sbWVtLXBhdGg9L21udC9odWdlLHNoYXJlPW9uIC1udW1hIG5vZGUsbWVtZGV2PW1lbQ0K PiAtbWVtLXByZWFsbG9jIFwNCj4gKyAgICAgLXNtcCBjb3Jlcz0yLHNvY2tldHM9MSAtZHJpdmUg ZmlsZT0vaG9tZS9pbWcvdm0xLmltZyAgXA0KPiArICAgICAtY2hhcmRldiBzb2NrZXQsaWQ9Y2hh cjAscGF0aD0vaG9tZS9xeHUxMC92aXJ0aW8tMS4wL2RwZGsvdmhvc3QtbmV0DQo+IC1uZXRkZXYg dHlwZT12aG9zdC11c2VyLGlkPW15bmV0MSxjaGFyZGV2PWNoYXIwLHZob3N0Zm9yY2UgXA0KPiAr ICAgICAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG1hYz01Mjo1NDowMDowMDowMDowMSxuZXRkZXY9 bXluZXQxLGRpc2FibGUtDQo+IG1vZGVybj1mYWxzZSBcDQo+ICsgICAgIC1uZXRkZXYgdGFwLGlk PWlwdm0xLGlmbmFtZT10YXAzLHNjcmlwdD0vZXRjL3FlbXUtaWZ1cCAtZGV2aWNlDQo+IHJ0bDgx MzksbmV0ZGV2PWlwdm0xLGlkPW5ldDAsbWFjPTAwOjAwOjAwOjAwOjEwOjAxIC1ub2dyYXBoaWMN Cj4gKw0KPiArDQo+ICszLiBSdW4gZHBkayB0ZXN0cG1kIGluIFZNOjoNCj4gKw0KPiArICAgICAu LzxkcGRrX2ZvbGRlcj4vdG9vbHMvZHBka19uaWNfYmluZC5weSAtLWJpbmQgaWdiX3VpbyAwMDow My4wDQo+ICsNCj4gKyAgICAgLi88ZHBka19mb2xkZXI+L3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2FwcC90ZXN0LXBtZC90ZXN0cG1kIC1jDQo+IDB4MyAtbiA0IC0tIC1pIC0tdHhxZmxhZ3Mg MHgwZjAwIC0tZGlzYWJsZS1ody12bGFuIC0tbWF4LXBrdC1sZW49OTAwMA0KPiArDQo+ICsgICAg ICQgPnNldCBmd2QgbWFjDQo+ICsNCj4gKyAgICAgJCA+c3RhcnQgdHhfZmlyc3QNCj4gKw0KPiAr NC4gU2VuZCB0cmFmZmljIHRvIHZpcnRpbzEoTUFDMT01Mjo1NDowMDowMDowMDowMSkgd2l0aCBW TEFOIElEPTEwMDAuDQo+IENoZWNrIGlmIHZpcnRpbyBwYWNrZXQgY2FuIGJlIFJYL1RYIGFuZCBh bHNvIGNoZWNrIHRoZSBUWCBwYWNrZXQgc2l6ZSBpcw0KPiBzYW1lIGFzIHRoZSBSWCBwYWNrZXQg c2l6ZS4gQ2hlY2sgcGFja2V0IHNpemUoNjQtMTUxOCkgYXMgd2VsbCBhcyB0aGUNCj4ganVtYm8g ZnJhbWUoMzAwMCw5MDAwKSBjYW4gYmUgUlgvVFguDQo+ICsNCj4gKw0KPiArVGVzdCBDYXNlNDog dGVzdF9mdW5jX3Zob3N0X3VzZXJfb25lLXZtLXZpcnRpbzEuMC1vbmUtdm0tdmlydGlvMC45NQ0K PiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KPiArDQo+ICsxLiBMYXVuY2ggdGhlIFZob3N0IHNhbXBsZSBieSBiZWxv dyBjb21tYW5kcywgc29ja2V0LW1lbSBpcyBzZXQgZm9yIHRoZQ0KPiB2aG9zdCBzYW1wbGUgdG8g dXNlLCBuZWVkIGVuc3VyZSB0aGF0IHRoZSBQQ0kgcG9ydCBsb2NhdGVkIHNvY2tldCBoYXMgdGhl DQo+IG1lbW9yeS4gSW4gb3VyIGNhc2UsIHRoZSBQQ0kgQkRGIGlzIDgxOjAwLjAsIHNvIHdlIG5l ZWQgYXNzaWduIG1lbW9yeSBmb3INCj4gc29ja2V0MS46Og0KPiArDQo+ICsgICAgdGFza3NldCAt YyAxOC0yMCAuL2V4YW1wbGVzL3Zob3N0L2J1aWxkL3Zob3N0LXN3aXRjaCAtYyAweDFjMDAwMCAt bg0KPiA0IC0taHVnZS1kaXIgL21udC9odWdlIC0tc29ja2V0LW1lbSAwLDIwNDggLS0gLXAgMSAt LW1lcmdlYWJsZSAwIC0temVyby0NCj4gY29weSAwIC0tdm0ydm0gMQ0KPiArDQo+ICsyLiBTdGFy dCBWTTEgd2l0aCAxIHZpcnRpbywgbm90ZTogd2UgbmVlZCBhZGQgImRpc2FibGUtbW9kZXJuPWZh bHNlIiB0bw0KPiBlbmFibGUgdmlydGlvIDEuMC4NCj4gKw0KPiArICAgIHRhc2tzZXQgLWMgMjIt MjMgXA0KPiArICAgIC9yb290L3FlbXUtdmVyc2lvbnMvcWVtdS0yLjUuMC94ODZfNjQtc29mdG1t dS9xZW11LXN5c3RlbS14ODZfNjQgLQ0KPiBuYW1lIHVzLXZob3N0LXZtMSBcDQo+ICsgICAgIC1j cHUgaG9zdCAtZW5hYmxlLWt2bSAtbSAyMDQ4IC1vYmplY3QgbWVtb3J5LWJhY2tlbmQtDQo+IGZp bGUsaWQ9bWVtLHNpemU9MjA0OE0sbWVtLXBhdGg9L21udC9odWdlLHNoYXJlPW9uIC1udW1hIG5v ZGUsbWVtZGV2PW1lbQ0KPiAtbWVtLXByZWFsbG9jIFwNCj4gKyAgICAgLXNtcCBjb3Jlcz0yLHNv Y2tldHM9MSAtZHJpdmUgZmlsZT0vaG9tZS9pbWcvdm0xLmltZyAgXA0KPiArICAgICAtY2hhcmRl diBzb2NrZXQsaWQ9Y2hhcjAscGF0aD0vaG9tZS9xeHUxMC92aXJ0aW8tMS4wL2RwZGsvdmhvc3Qt bmV0DQo+IC1uZXRkZXYgdHlwZT12aG9zdC11c2VyLGlkPW15bmV0MSxjaGFyZGV2PWNoYXIwLHZo b3N0Zm9yY2UgXA0KPiArICAgICAtZGV2aWNlIHZpcnRpby1uZXQtcGNpLG1hYz01Mjo1NDowMDow MDowMDowMSxuZXRkZXY9bXluZXQxLGRpc2FibGUtDQo+IG1vZGVybj1mYWxzZSBcDQo+ICsgICAg IC1uZXRkZXYgdGFwLGlkPWlwdm0xLGlmbmFtZT10YXAzLHNjcmlwdD0vZXRjL3FlbXUtaWZ1cCAt ZGV2aWNlDQo+IHJ0bDgxMzksbmV0ZGV2PWlwdm0xLGlkPW5ldDAsbWFjPTAwOjAwOjAwOjAwOjEw OjAxIC1ub2dyYXBoaWMNCj4gKw0KPiArMy4gU3RhcnQgVk0yIHdpdGggMSB2aXJ0aW8sIG5vdGU6 DQo+ICsNCj4gKyAgICB0YXNrc2V0IC1jIDI0LTI1IFwNCj4gKyAgICAvcm9vdC9xZW11LXZlcnNp b25zL3FlbXUtMi41LjAveDg2XzY0LXNvZnRtbXUvcWVtdS1zeXN0ZW0teDg2XzY0IC0NCj4gbmFt ZSB1cy12aG9zdC12bTEgXA0KPiArICAgICAtY3B1IGhvc3QgLWVuYWJsZS1rdm0gLW0gMjA0OCAt b2JqZWN0IG1lbW9yeS1iYWNrZW5kLQ0KPiBmaWxlLGlkPW1lbSxzaXplPTIwNDhNLG1lbS1wYXRo PS9tbnQvaHVnZSxzaGFyZT1vbiAtbnVtYSBub2RlLG1lbWRldj1tZW0NCj4gLW1lbS1wcmVhbGxv YyBcDQo+ICsgICAgIC1zbXAgY29yZXM9Mixzb2NrZXRzPTEgLWRyaXZlIGZpbGU9L2hvbWUvaW1n L3ZtMi5pbWcgIFwNCj4gKyAgICAgLWNoYXJkZXYgc29ja2V0LGlkPWNoYXIwLHBhdGg9L2hvbWUv cXh1MTAvdmlydGlvLTEuMC9kcGRrL3Zob3N0LW5ldA0KPiAtbmV0ZGV2IHR5cGU9dmhvc3QtdXNl cixpZD1teW5ldDIsY2hhcmRldj1jaGFyMCx2aG9zdGZvcmNlIFwNCj4gKyAgICAgLWRldmljZSB2 aXJ0aW8tbmV0LXBjaSxtYWM9NTI6NTQ6MDA6MDA6MDA6MDIsbmV0ZGV2PW15bmV0MixkaXNhYmxl LQ0KPiBtb2Rlcm49dHJ1ZSBcDQo+ICsgICAgIC1uZXRkZXYgdGFwLGlkPWlwdm0yLGlmbmFtZT10 YXA0LHNjcmlwdD0vZXRjL3FlbXUtaWZ1cCAtZGV2aWNlDQo+IHJ0bDgxMzksbmV0ZGV2PWlwdm0y LGlkPW5ldDEsbWFjPTAwOjAwOjAwOjAwOjEwOjAyIC1ub2dyYXBoaWMNCj4gKw0KPiArMy4gUnVu IGRwZGsgdGVzdHBtZCBpbiBWTTEgYW5kIFZNMjo6DQo+ICsNCj4gKyAgICAgVk0xOg0KPiArDQo+ ICsgICAgIC4vPGRwZGtfZm9sZGVyPi90b29scy9kcGRrX25pY19iaW5kLnB5IC0tYmluZCBpZ2Jf dWlvIDAwOjAzLjANCj4gKw0KPiArICAgICAuLzxkcGRrX2ZvbGRlcj4veDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQgLWMNCj4gMHgzIC1uIDQgLS0gLWkgLS10 eHFmbGFncyAweDBmMDAgLS1kaXNhYmxlLWh3LXZsYW4gLS1ldGgtDQo+IHBlZXI9MCw1Mjo1NDow MDowMDowMDowMg0KPiArDQo+ICsgICAgICQgPnNldCBmd2QgbWFjDQo+ICsNCj4gKyAgICAgJCA+ c3RhcnQgdHhfZmlyc3QNCj4gKw0KPiArICAgICBWTTI6DQo+ICsNCj4gKyAgICAgLi88ZHBka19m b2xkZXI+L3Rvb2xzL2RwZGtfbmljX2JpbmQucHkgLS1iaW5kIGlnYl91aW8gMDA6MDMuMA0KPiAr DQo+ICsgICAgIC4vPGRwZGtfZm9sZGVyPi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9hcHAv dGVzdC1wbWQvdGVzdHBtZCAtYw0KPiAweDMgLW4gNCAtLSAtaSAtLXR4cWZsYWdzIDB4MGYwMCAt LWRpc2FibGUtaHctdmxhbg0KPiArDQo+ICsgICAgICQgPnNldCBmd2QgbWFjDQo+ICsNCj4gKyAg ICAgJCA+c3RhcnQgdHhfZmlyc3QNCj4gKw0KPiArNC4gU2VuZCAxMDAgcGFja2V0cyBhdCBsb3cg cmF0ZSB0byB2aXJ0aW8xLCBhbmQgdGhlIGV4cGVjdGVkIGZsb3cgaXMNCj4gaXhpYS0tPk5JQy0t PlZIT1NULS0+VmlydGlvMS0tPlZpcnRpbzItLT5WaG9zdC0tPk5JQy0+aXhpYSBwb3J0LiBDaGVj aw0KPiB0aGUgcGFja2V0IGJhY2sgYXQgaXhpYSBwb3J0IGlzIGNvbnRlbnQgY29ycmVjdCwgbm8g c2l6ZSBjaGFuZ2UgYW5kDQo+IHBheWxvYWQgY2hhbmdlLg0KPiArDQo+ICtUZXN0IENhc2U1OiB0 ZXN0X3BlcmZfdmhvc3RfdXNlcl9vbmUtdm0tdmlydGlvMS4wLXBtZA0KPiArPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gKw0KPiArTm90ZTog Rm9yIHZpcnRpbzEuMCB1c2FnZSwgd2UgbmVlZCB1c2UgcWVtdSB2ZXJzaW9uID4yLjQsIHN1Y2gg YXMgMi40LjENCj4gb3IgMi41LjAuDQo+ICsNCj4gKzEuIExhdW5jaCB0aGUgVmhvc3Qgc2FtcGxl IGJ5IGJlbG93IGNvbW1hbmRzLCBzb2NrZXQtbWVtIGlzIHNldCBmb3IgdGhlDQo+IHZob3N0IHNh bXBsZSB0byB1c2UsIG5lZWQgZW5zdXJlIHRoYXQgdGhlIFBDSSBwb3J0IGxvY2F0ZWQgc29ja2V0 IGhhcyB0aGUNCj4gbWVtb3J5LiBJbiBvdXIgY2FzZSwgdGhlIFBDSSBCREYgaXMgODE6MDAuMCwg c28gd2UgbmVlZCBhc3NpZ24gbWVtb3J5IGZvcg0KPiBzb2NrZXQxLjo6DQo+ICsNCj4gKyAgICB0 YXNrc2V0IC1jIDE4LTIwIC4vZXhhbXBsZXMvdmhvc3QvYnVpbGQvdmhvc3Qtc3dpdGNoIC1jIDB4 MWMwMDAwIC1uDQo+IDQgLS1odWdlLWRpciAvbW50L2h1Z2UgLS1zb2NrZXQtbWVtIDAsMjA0OCAt LSAtcCAxIC0tbWVyZ2VhYmxlIDAgLS16ZXJvLQ0KPiBjb3B5IDAgLS12bTJ2bSAwDQo+ICsNCj4g KzIuIFN0YXJ0IFZNIHdpdGggMSB2aXJ0aW8sIG5vdGU6IHdlIG5lZWQgYWRkICJkaXNhYmxlLW1v ZGVybj1mYWxzZSIgdG8NCj4gZW5hYmxlIHZpcnRpbyAxLjAuDQo+ICsNCj4gKyAgICB0YXNrc2V0 IC1jIDIyLTIzIFwNCj4gKyAgICAvcm9vdC9xZW11LXZlcnNpb25zL3FlbXUtMi41LjAveDg2XzY0 LXNvZnRtbXUvcWVtdS1zeXN0ZW0teDg2XzY0IC0NCj4gbmFtZSB1cy12aG9zdC12bTEgXA0KPiAr ICAgICAtY3B1IGhvc3QgLWVuYWJsZS1rdm0gLW0gMjA0OCAtb2JqZWN0IG1lbW9yeS1iYWNrZW5k LQ0KPiBmaWxlLGlkPW1lbSxzaXplPTIwNDhNLG1lbS1wYXRoPS9tbnQvaHVnZSxzaGFyZT1vbiAt bnVtYSBub2RlLG1lbWRldj1tZW0NCj4gLW1lbS1wcmVhbGxvYyBcDQo+ICsgICAgIC1zbXAgY29y ZXM9Mixzb2NrZXRzPTEgLWRyaXZlIGZpbGU9L2hvbWUvaW1nL3ZtMS5pbWcgIFwNCj4gKyAgICAg LWNoYXJkZXYgc29ja2V0LGlkPWNoYXIwLHBhdGg9L2hvbWUvcXh1MTAvdmlydGlvLTEuMC9kcGRr L3Zob3N0LW5ldA0KPiAtbmV0ZGV2IHR5cGU9dmhvc3QtdXNlcixpZD1teW5ldDEsY2hhcmRldj1j aGFyMCx2aG9zdGZvcmNlIFwNCj4gKyAgICAgLWRldmljZSB2aXJ0aW8tbmV0LXBjaSxtYWM9NTI6 NTQ6MDA6MDA6MDA6MDEsbmV0ZGV2PW15bmV0MSxkaXNhYmxlLQ0KPiBtb2Rlcm49ZmFsc2UgXA0K PiArICAgICAtbmV0ZGV2IHRhcCxpZD1pcHZtMSxpZm5hbWU9dGFwMyxzY3JpcHQ9L2V0Yy9xZW11 LWlmdXAgLWRldmljZQ0KPiBydGw4MTM5LG5ldGRldj1pcHZtMSxpZD1uZXQwLG1hYz0wMDowMDow MDowMDoxMDowMSAtbm9ncmFwaGljDQo+ICsNCj4gKw0KPiArMy4gSW4gdGhlIFZNLCBydW4gZHBk ayB0ZXN0cG1kIGluIFZNOjoNCj4gKw0KPiArICAgICAuLzxkcGRrX2ZvbGRlcj4vdG9vbHMvZHBk a19uaWNfYmluZC5weSAtLWJpbmQgaWdiX3VpbyAwMDowMy4wDQo+ICsNCj4gKyAgICAgLi88ZHBk a19mb2xkZXI+L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2FwcC90ZXN0LXBtZC90ZXN0cG1k IC1jDQo+IDB4MyAtbiA0IC0tIC1pIC0tdHhxZmxhZ3MgMHgwZjAwIC0tZGlzYWJsZS1ody12bGFu DQo+ICsNCj4gKyAgICAgJCA+c2V0IGZ3ZCBtYWMNCj4gKw0KPiArICAgICAkID5zdGFydCB0eF9m aXJzdA0KPiArDQo+ICA0LiBTZW5kIHRyYWZmaWMgYXQgbGluZSByYXRlIHRvIHZpcnRpbzEoTUFD MT01Mjo1NDowMDowMDowMDowMSkgd2l0aA0KPiBWTEFOIElEPTEwMDAuIENoZWNrIHRoZSBwZXJm b3JtYW5jZSBhdCBkaWZmZXJlbnQgcGFja2V0DQo+IHNpemUoNjgsMTI4LDI1Niw1MTIsMTAyNCwx MjgwLDE1MTgpIGFuZCByZWNvcmQgaXQgYXMgdGhlIHBlcmZvcm1hbmNlIGRhdGEuDQo+IFRoZSBy ZXN1bHQgc2hvdWxkIGJlIHNpbWlsYXIgYXMgdmlydGlvMC45NS4NCj4gXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlDQo+IC0tDQo+IDIuMS4wDQoNCg==