From mboxrd@z Thu Jan 1 00:00:00 1970 From: Srinivas Pandruvada Subject: Re: [PATCH 0/9] GPU-bound energy efficiency improvements for the intel_pstate driver. Date: Mon, 16 Apr 2018 10:27:50 -0700 Message-ID: <1523899670.5918.2.camel@linux.intel.com> References: <20180328063845.4884-1-currojerez@riseup.net> <87604ybssf.fsf@riseup.net> <1523416474.2700.2.camel@linux.intel.com> <87vacx7mh3.fsf@riseup.net> <87muy97lr0.fsf@riseup.net> <1523513825.9016.1.camel@linux.intel.com> <878t9q1ra0.fsf@riseup.net> <1523678464.4195.2.camel@linux.intel.com> <02b7ceeb-f9d2-04fe-d9b5-d6749c5411fe@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <02b7ceeb-f9d2-04fe-d9b5-d6749c5411fe@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Eero Tamminen , Francisco Jerez , linux-pm@vger.kernel.org, intel-gfx@lists.freedesktop.org Cc: Peter Zijlstra , "Rafael J. Wysocki" List-Id: linux-pm@vger.kernel.org T24gTW9uLCAyMDE4LTA0LTE2IGF0IDE3OjA0ICswMzAwLCBFZXJvIFRhbW1pbmVuIHdyb3RlOgo+ IEhpLAo+IAo+IE9uIDE0LjA0LjIwMTggMDc6MDEsIFNyaW5pdmFzIFBhbmRydXZhZGEgd3JvdGU6 Cj4gPiBIaSBGcmFuY2lzY28sCj4gPiAKPiA+IFsuLi5dCj4gPiAKPiA+ID4gQXJlIHlvdSBubyBs b25nZXIgaW50ZXJlc3RlZCBpbiBpbXByb3ZpbmcgdGhvc2UgYXNwZWN0cyBvZiB0aGUKPiA+ID4g bm9uLQo+ID4gPiBIV1AKPiA+ID4gZ292ZXJub3I/wqDCoElzIGl0IHRoYXQgeW91J3JlIHBsYW5u aW5nIHRvIGRlbGV0ZSBpdCBhbmQgbW92ZSBiYWNrCj4gPiA+IHRvIGEKPiA+ID4gZ2VuZXJpYyBj cHVmcmVxIGdvdmVybm9yIGZvciBub24tSFdQIHBsYXRmb3JtcyBpbiB0aGUgbmVhcgo+ID4gPiBm dXR1cmU/Cj4gPiAKPiA+IFllcyB0aGF0IGlzIHRoZSBwbGFuIGZvciBBdG9tIHBsYXRmb3Jtcywg d2hpY2ggYXJlIG9ubHkgbm9uIEhXUAo+ID4gcGxhdGZvcm1zIHRpbGwgbm93LiBZb3UgaGF2ZSB0 byBzaG93IGdvb2QgZ2FpbiBmb3IgcGVyZm9ybWFuY2UgYW5kCj4gPiBwZXJmb3JtYW5jZS93YXR0 IHRvIGNhcnJ5IGFuZCBtYWludGFpbiBzdWNoIGJpZyBjaGFuZ2UuIFNvIHdlIGhhdmUKPiA+IHRv Cj4gPiBzZWUgeW91ciBwZXJmb3JtYW5jZSBhbmQgcG93ZXIgbnVtYmVycy4KPiAKPiBGb3IgdGhl IGFjdGl2ZSBjYXNlcywgeW91IGNhbiBsb29rIGF0IHRoZSBsaW5rcyBhdCB0aGUgYmVnaW5uaW5n IC/CoAo+IGJvdHRvbSBvZiB0aGlzIG1haWwgdGhyZWFkLsKgwqBGcmFuY2lzY28gcHJvdmlkZWQg cGVyZm9ybWFuY2UgcmVzdWx0cwo+IGZvcsKgCj4gwqA+MTAwIGJlbmNobWFya3MuCkxvb2tzIGxp a2UgeW91IGRpZG4ndCB0ZXN0IHRoZSBpZGxlIGNhc2VzLCB3aGljaCBhcmUgbW9yZSBpbXBvcnRh bnQuClN5c3RlbXMgd2lsbCB0ZW5kIHRvIGJlIG1vcmUgaWRsZSAoaW5jcmVhc2VkICs1MCUgYnkg dGhlIHBhdGNoZXMpLiBPbmNlCnlvdSBmaXggdGhlIGlkbGUsIHlvdSBoYXZlIHRvIHJldGVzdCBh bmQgdGhlbiByZXN1bHRzIHdpbGwgYmUKaW50ZXJlc3RpbmcuCgpPbmNlIHlvdSBmaXggdGhpcywg dGhlbiBpdCBpcyBwdXJlIGFsZ29yaXRobSwgd2hldGhlciBpdCBpcyBkb25lIGluCmludGVsLXBz dGF0ZSBvciBzY2hlZC11dGlsIGdvdmVybm9yIGlzIG5vdCBhIGJpZyBkaWZmZXJlbnQuIEl0IGlz CmJldHRlciB0byBkbyBpbiBzY2hlZC11dGlsIGFzIHRoaXMgd2lsbCBiZW5lZml0IGFsbCBhcmNo aXRlY3R1cmVzIGFuZAp3aWxsIGdldCBiZXR0ZXIgdGVzdCBjb3ZlcmFnZSBhbmQgbWFpbnRhaW5l ZC4KClRoYW5rcywKU3Jpbml2YXMKCgoKPiAKPiAKPiBBdCB0aGlzIHNpZGUgb2YgQXRsYW50aWMs IHdlJ3ZlIGJlZW4gdGVzdGluZyBkaWZmZXJlbnQgdmVyc2lvbnMgb2YKPiB0aGXCoAo+IHBhdGNo c2V0IGluIHBhc3QgZmV3IG1vbnRocyBmb3IgPjUwIExpbnV4IDNEIGJlbmNobWFya3Mgb24gNgo+ IGRpZmZlcmVudMKgCj4gcGxhdGZvcm1zLgo+IAo+IE9uIEdlbWluaWxha2UgYW5kIGZldyBCWFQg Y29uZmlndXJhdGlvbnMgKHdoZXJlIDNEIGJlbmNobWFya3MgYXJlCj4gVERQwqAKPiBsaW1pdGVk KSwgbWFueSB0ZXN0cycgcGVyZm9ybWFuY2UgaW1wcm92ZXMgYnkgNS0xNSUsIGFsc28gY29tcGxl eAo+IG9uZXMuwqAKPiBBbmQgbW9yZSBpbXBvcnRhbnRseSwgdGhlcmUgd2VyZSBubyByZWdyZXNz aW9ucy4KPiAKPiAoWW91IGNhbiBzZWUgZGV0YWlscyArIGxpbmtzIHRvIG1vcmUgaW5mbyBpbiBK aXJhIHRpY2tldCBWSVotMTIwNzguKQo+IAo+ICpPbiAoZnVsbHkpIFREUCBsaW1pdGVkIGNhc2Vz LCBwb3dlciB1c2FnZSAob2J2aW91c2x5KSBrZWVwcyB0aGUKPiBzYW1lLMKgCj4gc28gcGVyZm9y bWFuY2Uvd2F0dCBpbXByb3ZlbWVudHMgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgbWVhc3VyZWTC oAo+IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cy4qCj4gCj4gCj4gV2UgaGF2ZSBkYXRhIGFsc28g Zm9yIGVhcmxpZXIgcGxhdGZvcm1zIGZyb20gc2xpZ2h0bHkgb2xkZXIgdmVyc2lvbnMKPiBvZsKg Cj4gdGhlIHBhdGNoc2V0LCBidXQgb24gdGhvc2UgaXQgZGlkbid0IGhhdmUgYW55IHNpZ25pZmlj YW50IGltcGFjdCBvbsKgCj4gcGVyZm9ybWFuY2UuCj4gCj4gSSB0aGluayB0aGUgbWFpbiByZWFz b24gZm9yIHRoaXMgaXMgdGhhdCBCWVQgJiBCU1cgTlVDcyB0aGF0IHdlCj4gaGF2ZSzCoAo+IGhh dmUgc3BhY2Ugb25seSBmb3Igc2luZ2xlIG1lbW9yeSBtb2R1bGUuwqDCoFdpdGhvdXQgZHVhbC1t ZW1vcnkKPiBjaGFubmVswqAKPiBjb25maWd1cmF0aW9uLCBiZW5jaG1hcmtzIGFyZSB0b28gbWVt b3J5LWJvdHRsZW5lY2tlZCB0byB1dGlsaXplZAo+IEdQVcKgCj4gZW5vdWdoIHRvIG1ha2UgdGhp bmdzIFREUCBsaW1pdGVkIG9uIHRob3NlIHBsYXRmb3Jtcy4KPiAKPiBIb3dldmVyLCBub3cgdGhh dCBJIGxvb2sgYXQgdGhlIG9sZCBCWVQgJiBCU1cgZGF0YSAoZm9yIGZldwo+IGJlbmNobWFya3PC oAo+IHdoaWNoIGltcHJvdmVkIG1vc3Qgb24gQlhUICYgR0xLKSwgSSBzZWUgdGhhdCB0aGVyZSdz IGEgcmVkdWN0aW9uIGluCj4gdGhlwqAKPiBDUFUgcG93ZXIgdXRpbGl6YXRpb24gYWNjb3JkaW5n IHRvIFJBUEwsIGF0IGxlYXN0IG9uIEJTVy4KPiAKPiAKPiAJLSBFZXJvCj4gCj4gCj4gPiA+ID4g VGhpcyB3aWxsIGJlbmVmaXQgYWxsIGFyY2hpdGVjdHVyZXMgaW5jbHVkaW5nIHg4NiArIG5vbiBp OTE1Lgo+ID4gPiA+IAo+ID4gPiAKPiA+ID4gVGhlIGN1cnJlbnQgZGVzaWduIGVuY291cmFnZXMg cmUtdXNlIG9mIHRoZSBJTyB1dGlsaXphdGlvbgo+ID4gPiBzdGF0aXN0aWMKPiA+ID4gKHNlZSBQ QVRDSCAxKSBieSBvdGhlciBnb3Zlcm5vcnMgYXMgYSBtZWNoYW5pc20gZHJpdmluZyB0aGUKPiA+ ID4gdHJhZGUtb2ZmCj4gPiA+IGJldHdlZW4gZW5lcmd5IGVmZmljaWVuY3kgYW5kIHJlc3BvbnNp dmVuZXNzIGJhc2VkIG9uIHdoZXRoZXIgdGhlCj4gPiA+IHN5c3RlbQo+ID4gPiBpcyBjbG9zZSB0 byBDUFUtYm91bmQsIGluIHdoYXRldmVyIHdheSBpcyBhcHBsaWNhYmxlIHRvIGVhY2gKPiA+ID4g Z292ZXJub3IKPiA+ID4gKGUuZy4gaXQgd291bGQgbWFrZSBzZW5zZSBmb3IgaXQgdG8gYmUgaG9v a2VkIHVwIHRvIHRoZSBFUFAKPiA+ID4gcHJlZmVyZW5jZQo+ID4gPiBrbm9iIGluIHRoZSBjYXNl IG9mIHRoZSBpbnRlbF9wc3RhdGUgSFdQIGdvdmVybm9yLCB3aGljaCB3b3VsZAo+ID4gPiBhbGxv dwo+ID4gPiBpdAo+ID4gPiB0byBhY2hpZXZlIGJldHRlciBlbmVyZ3kgZWZmaWNpZW5jeSBpbiBJ Ty1ib3VuZCBzaXR1YXRpb25zIGp1c3QKPiA+ID4gbGlrZQo+ID4gPiB0aGlzIHNlcmllcyBkb2Vz IGZvciBub24tSFdQIHBhcnRzKS7CoMKgVGhlcmUncyBub3RoaW5nIHJlYWxseSB4ODYtCj4gPiA+ IG5vcgo+ID4gPiBpOTE1LXNwZWNpZmljIGFib3V0IGl0Lgo+ID4gPiAKPiA+ID4gPiBCVFcgaW50 ZWwtcHN0YXRlIGNhbiBiZSBkcml2ZW4gYnkgc2NoZWQtdXRpbCBnb3Zlcm5vciAocGFzc2l2ZQo+ ID4gPiA+IG1vZGUpLAo+ID4gPiA+IHNvIGlmIHlvdXIgcHJvdmUgYmVuZWZpdHMgdG8gQnJveHRv biwgdGhpcyBjYW4gYmUgYSBkZWZhdWx0Lgo+ID4gPiA+IEFzIGJlZm9yZToKPiA+ID4gPiAtIE5v IHJlZ3Jlc3Npb24gdG8gaWRsZSBwb3dlciBhdCBhbGwuIFRoaXMgaXMgbW9yZSBpbXBvcnRhbnQK PiA+ID4gPiB0aGFuCj4gPiA+ID4gYmVuY2htYXJrcwo+ID4gPiA+IC0gTm90IGp1c3Qgc2NvcmUs IHBlcmZvcm1hbmNlL3dhdHQgaXMgaW1wb3J0YW50Cj4gPiA+ID4gCj4gPiA+IAo+ID4gPiBJcyBz Y2hlZHV0aWwgYWN0dWFsbHkgb24gcGFyIHdpdGggdGhlIGludGVsX3BzdGF0ZSBub24tSFdQCj4g PiA+IGdvdmVybm9yCj4gPiA+IGFzCj4gPiA+IG9mIHRvZGF5LCBhY2NvcmRpbmcgdG8gdGhlc2Ug bWV0cmljcyBhbmQgdGhlIG92ZXJhbGwgYmVuY2htYXJrCj4gPiA+IG51bWJlcnM/Cj4gPiAKPiA+ IFllcywgZXhjZXB0IGZvciBmZXcgY2FzZXMuIEkgaGF2ZSBub3QgdGVzdGVkIHJlY2VudGx5LCBz byBtYXkgYmUKPiA+IGJldHRlci4KPiA+IAo+ID4gVGhhbmtzLAo+ID4gU3Jpbml2YXMKPiA+IAo+ ID4gCj4gPiA+ID4gVGhhbmtzLAo+ID4gPiA+IFNyaW5pdmFzCj4gPiA+ID4gCj4gPiA+ID4gCj4g PiA+ID4gPiA+IGNvbnRyb2xsZXIgZG9lcywgZXZlbiB0aG91Z2ggdGhlIGZyZXF1ZW50IElPIHdh aXRzIG1heQo+ID4gPiA+ID4gPiBhY3R1YWxseQo+ID4gPiA+ID4gPiBiZQo+ID4gPiA+ID4gPiBh bgo+ID4gPiA+ID4gPiBpbmRpY2F0aW9uIHRoYXQgdGhlIHN5c3RlbSBpcyBJTy1ib3VuZCAod2hp Y2ggbWVhbnMgdGhhdAo+ID4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+ID4gbGFyZ2UKPiA+ID4gPiA+ ID4gZW5lcmd5IHVzYWdlIGluY3JlYXNlIG1heSBub3QgYmUgdHJhbnNsYXRlZCBpbiBhbnkKPiA+ ID4gPiA+ID4gcGVyZm9ybWFuY2UKPiA+ID4gPiA+ID4gYmVuZWZpdAo+ID4gPiA+ID4gPiBpbiBw cmFjdGljZSwgbm90IHRvIHNwZWFrIG9mIHBlcmZvcm1hbmNlIGJlaW5nIGltcGFjdGVkCj4gPiA+ ID4gPiA+IG5lZ2F0aXZlbHkKPiA+ID4gPiA+ID4gaW4KPiA+ID4gPiA+ID4gVERQLWJvdW5kIHNj ZW5hcmlvcyBsaWtlIEdQVSByZW5kZXJpbmcpLgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gUmVn YXJkaW5nIHJ1bi10aW1lIGNvbXBsZXhpdHksIEkgaGF2ZW4ndCBvYnNlcnZlZCB0aGlzCj4gPiA+ ID4gPiA+IGdvdmVybm9yCj4gPiA+ID4gPiA+IHRvCj4gPiA+ID4gPiA+IGJlCj4gPiA+ID4gPiA+ IG1lYXN1cmFibHkgbW9yZSBjb21wdXRhdGlvbmFsbHkgaW50ZW5zaXZlIHRoYW4gdGhlIHByZXNl bnQKPiA+ID4gPiA+ID4gb25lLsKgwqBJdCdzIGEKPiA+ID4gPiA+ID4gYnVuY2ggbW9yZSBpbnN0 cnVjdGlvbnMgaW5kZWVkLCBidXQgc3RpbGwgd2l0aGluIHRoZSBzYW1lCj4gPiA+ID4gPiA+IGJh bGxwYXJrCj4gPiA+ID4gPiA+IGFzCj4gPiA+ID4gPiA+IHRoZSBjdXJyZW50IGdvdmVybm9yLsKg wqBUaGUgYXZlcmFnZSBpbmNyZWFzZSBpbiBDUFUKPiA+ID4gPiA+ID4gdXRpbGl6YXRpb24KPiA+ ID4gPiA+ID4gb24KPiA+ID4gPiA+ID4gbXkgQlhUCj4gPiA+ID4gPiA+IHdpdGggdGhpcyBzZXJp ZXMgaXMgbGVzcyB0aGFuIDAuMDMlIChzYW1wbGVkIHZpYSBmdHJhY2UgZm9yCj4gPiA+ID4gPiA+ IHYxLAo+ID4gPiA+ID4gPiBJCj4gPiA+ID4gPiA+IGNhbgo+ID4gPiA+ID4gPiByZXBlYXQgdGhl IG1lYXN1cmVtZW50IGZvciB0aGUgdjIgSSBoYXZlIGluIHRoZSB3b3JrcywKPiA+ID4gPiA+ID4g dGhvdWdoIEkKPiA+ID4gPiA+ID4gZG9uJ3QKPiA+ID4gPiA+ID4gZXhwZWN0IHRoZSByZXN1bHQg dG8gYmUgc3Vic3RhbnRpYWxseSBkaWZmZXJlbnQpLsKgwqBJZiB0aGlzCj4gPiA+ID4gPiA+IGlz IGEKPiA+ID4gPiA+ID4gcHJvYmxlbQo+ID4gPiA+ID4gPiBmb3IgeW91IHRoZXJlIGFyZSBzZXZl cmFsIG9wdGltaXphdGlvbiBvcHBvcnR1bml0aWVzIHRoYXQKPiA+ID4gPiA+ID4gd291bGQKPiA+ ID4gPiA+ID4gY3V0Cj4gPiA+ID4gPiA+IGRvd24KPiA+ID4gPiA+ID4gdGhlIG51bWJlciBvZiBD UFUgY3ljbGVzIGdldF90YXJnZXRfcHN0YXRlX2xwKCkgdGFrZXMgdG8KPiA+ID4gPiA+ID4gZXhl Y3V0ZSBieQo+ID4gPiA+ID4gPiBhCj4gPiA+ID4gPiA+IGxhcmdlIHBlcmNlbnQgKG1vc3Qgb2Yg dGhlIG9wdGltaXphdGlvbiBpZGVhcyBJIGNhbiB0aGluawo+ID4gPiA+ID4gPiBvZgo+ID4gPiA+ ID4gPiByaWdodAo+ID4gPiA+ID4gPiBub3cKPiA+ID4gPiA+ID4gdGhvdWdoIHdvdWxkIGNvbWUg YXQgc29tZQo+ID4gPiA+ID4gPiBhY2N1cmFjeS9tYWludGFpbmFiaWxpdHkvZGVidWdnYWJpbGl0 eQo+ID4gPiA+ID4gPiBjb3N0LAo+ID4gPiA+ID4gPiBidXQgbWF5IHN0aWxsIGJlIHdvcnRoIHB1 cnN1aW5nKSwgYnV0IHRoZSBjb21wdXRhdGlvbmFsCj4gPiA+ID4gPiA+IG92ZXJoZWFkIGlzCj4g PiA+ID4gPiA+IGxvdwo+ID4gPiA+ID4gPiBlbm91Z2ggYXQgdGhpcyBwb2ludCB0aGF0IHRoZSBp bXBhY3Qgb24gYW55IGJlbmNobWFyayBvcgo+ID4gPiA+ID4gPiByZWFsCj4gPiA+ID4gPiA+IHdv cmtsb2FkCj4gPiA+ID4gPiA+IHdvdWxkIGJlIG9yZGVycyBvZiBtYWduaXR1ZGUgbG93ZXIgdGhh biBpdHMgdmFyaWFuY2UsIHdoaWNoCj4gPiA+ID4gPiA+IG1ha2VzCj4gPiA+ID4gPiA+IGl0Cj4g PiA+ID4gPiA+IGtpbmQgb2YgZGlmZmljdWx0IHRvIGtlZXAgdGhlIGRpc2N1c3Npb24gZGF0YS1k cml2ZW4gW2FzCj4gPiA+ID4gPiA+IHBvc3NpYmx5Cj4gPiA+ID4gPiA+IGFueQo+ID4gPiA+ID4g PiBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gZGlzY3Vzc2lvbiBzaG91bGQgZXZlciBiZSA7KV0u Cj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IFRoYW5rcywKPiA+ID4g PiA+ID4gPiBTcmluaXZhcwo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4g PiA+IAo+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IFtBYnNvbHV0ZSBiZW5jaG1h cmsgcmVzdWx0cyBhcmUgdW5mb3J0dW5hdGVseSBvbWl0dGVkCj4gPiA+ID4gPiA+ID4gPiA+IGZy b20KPiA+ID4gPiA+ID4gPiA+ID4gdGhpcwo+ID4gPiA+ID4gPiA+ID4gPiBsZXR0ZXIKPiA+ID4g PiA+ID4gPiA+ID4gZHVlIHRvIGNvbXBhbnkgcG9saWNpZXMsIGJ1dCB0aGUgcGVyY2VudCBjaGFu Z2UgYW5kCj4gPiA+ID4gPiA+ID4gPiA+IFN0dWRlbnQncwo+ID4gPiA+ID4gPiA+ID4gPiBUCj4g PiA+ID4gPiA+ID4gPiA+IHAtdmFsdWUgYXJlIGluY2x1ZGVkIGFib3ZlIGFuZCBpbiB0aGUgcmVm ZXJlbmNlZAo+ID4gPiA+ID4gPiA+ID4gPiBiZW5jaG1hcmsKPiA+ID4gPiA+ID4gPiA+ID4gcmVz dWx0c10KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IFRoZSBtb3N0IG9idmlv dXMgaW1wYWN0IG9mIHRoaXMgc2VyaWVzIHdpbGwgbGlrZWx5IGJlCj4gPiA+ID4gPiA+ID4gPiA+ IHRoZQo+ID4gPiA+ID4gPiA+ID4gPiBvdmVyYWxsCj4gPiA+ID4gPiA+ID4gPiA+IGltcHJvdmVt ZW50IGluIGdyYXBoaWNzIHBlcmZvcm1hbmNlIG9uIHN5c3RlbXMgd2l0aAo+ID4gPiA+ID4gPiA+ ID4gPiBhbgo+ID4gPiA+ID4gPiA+ID4gPiBJR1AKPiA+ID4gPiA+ID4gPiA+ID4gaW50ZWdyYXRl ZAo+ID4gPiA+ID4gPiA+ID4gPiBpbnRvIHRoZSBwcm9jZXNzb3IgcGFja2FnZSAodGhvdWdoIGZv ciB0aGUgbW9tZW50Cj4gPiA+ID4gPiA+ID4gPiA+IHRoaXMgaXMKPiA+ID4gPiA+ID4gPiA+ID4g b25seQo+ID4gPiA+ID4gPiA+ID4gPiBlbmFibGVkCj4gPiA+ID4gPiA+ID4gPiA+IG9uIEJYVCsp LCBiZWNhdXNlIHRoZSBURFAgYnVkZ2V0IHNoYXJlZCBhbW9uZyBDUFUgYW5kCj4gPiA+ID4gPiA+ ID4gPiA+IEdQVQo+ID4gPiA+ID4gPiA+ID4gPiBjYW4KPiA+ID4gPiA+ID4gPiA+ID4gZnJlcXVl bnRseSBiZWNvbWUgYSBsaW1pdGluZyBmYWN0b3IgaW4gbG93LXBvd2VyCj4gPiA+ID4gPiA+ID4g PiA+IGRldmljZXMuwqDCoE9uCj4gPiA+ID4gPiA+ID4gPiA+IGhlYXZpbHkKPiA+ID4gPiA+ID4g PiA+ID4gVERQLWJvdW5kIGRldmljZXMgdGhpcyBzZXJpZXMgaW1wcm92ZXMgcGVyZm9ybWFuY2Ug b2YKPiA+ID4gPiA+ID4gPiA+ID4gdmlydHVhbGx5IGFueQo+ID4gPiA+ID4gPiA+ID4gPiBub24t dHJpdmlhbCBncmFwaGljcyByZW5kZXJpbmcgYnkgYSBzaWduaWZpY2FudAo+ID4gPiA+ID4gPiA+ ID4gPiBhbW91bnQKPiA+ID4gPiA+ID4gPiA+ID4gKG9mCj4gPiA+ID4gPiA+ID4gPiA+IHRoZQo+ ID4gPiA+ID4gPiA+ID4gPiBvcmRlcgo+ID4gPiA+ID4gPiA+ID4gPiBvZiB0aGUgZW5lcmd5IGVm ZmljaWVuY3kgaW1wcm92ZW1lbnQgZm9yIHRoYXQKPiA+ID4gPiA+ID4gPiA+ID4gd29ya2xvYWQK PiA+ID4gPiA+ID4gPiA+ID4gYXNzdW1pbmcgdGhlCj4gPiA+ID4gPiA+ID4gPiA+IG9wdGltaXph dGlvbiBkaWRuJ3QgY2F1c2UgaXQgdG8gYmVjb21lIG5vbi1URFAtCj4gPiA+ID4gPiA+ID4gPiA+ IGJvdW5kKS4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IFNlZSBbMV0tWzVd IGZvciBkZXRhaWxlZCBudW1iZXJzIGluY2x1ZGluZyB2YXJpb3VzCj4gPiA+ID4gPiA+ID4gPiA+ IGdyYXBoaWNzCj4gPiA+ID4gPiA+ID4gPiA+IGJlbmNobWFya3MKPiA+ID4gPiA+ID4gPiA+ID4g YW5kIGEgc2FtcGxlIG9mIHRoZSBQaG9yb25peCBkYWlseS1zeXN0ZW0tCj4gPiA+ID4gPiA+ID4g PiA+IHRyYWNrZXIuwqDCoFNvbWUKPiA+ID4gPiA+ID4gPiA+ID4gcG9wdWxhcgo+ID4gPiA+ID4g PiA+ID4gPiBncmFwaGljcyBiZW5jaG1hcmtzIGxpa2UgR2Z4QmVuY2ggZ2xfbWFuaGF0dGFuMzEg YW5kCj4gPiA+ID4gPiA+ID4gPiA+IGdsXzQKPiA+ID4gPiA+ID4gPiA+ID4gaW1wcm92ZQo+ID4g PiA+ID4gPiA+ID4gPiBiZXR3ZWVuIDUlIGFuZCAxMSUgb24gb3VyIHN5c3RlbXMuwqDCoFRoZSBl eGFjdAo+ID4gPiA+ID4gPiA+ID4gPiBpbXByb3ZlbWVudAo+ID4gPiA+ID4gPiA+ID4gPiBjYW4K PiA+ID4gPiA+ID4gPiA+ID4gdmFyeQo+ID4gPiA+ID4gPiA+ID4gPiBzdWJzdGFudGlhbGx5IGJl dHdlZW4gc3lzdGVtcyAoY29tcGFyZSB0aGUgYmVuY2htYXJrCj4gPiA+ID4gPiA+ID4gPiA+IHJl c3VsdHMKPiA+ID4gPiA+ID4gPiA+ID4gZnJvbQo+ID4gPiA+ID4gPiA+ID4gPiB0aGUKPiA+ID4g PiA+ID4gPiA+ID4gdHdvIGRpZmZlcmVudCBKMzQ1NSBzeXN0ZW1zIFsxXSBhbmQgWzNdKSBkdWUg dG8gYQo+ID4gPiA+ID4gPiA+ID4gPiBudW1iZXIKPiA+ID4gPiA+ID4gPiA+ID4gb2YKPiA+ID4g PiA+ID4gPiA+ID4gZmFjdG9ycywKPiA+ID4gPiA+ID4gPiA+ID4gaW5jbHVkaW5nIHRoZSByYXRp byBiZXR3ZWVuIENQVSBhbmQgR1BVIHByb2Nlc3NpbmcKPiA+ID4gPiA+ID4gPiA+ID4gcG93ZXIs Cj4gPiA+ID4gPiA+ID4gPiA+IHRoZQo+ID4gPiA+ID4gPiA+ID4gPiBiZWhhdmlvcgo+ID4gPiA+ ID4gPiA+ID4gPiBvZiB0aGUgdXNlcnNwYWNlIGdyYXBoaWNzIGRyaXZlciwgdGhlIHdpbmRvd2lu Zwo+ID4gPiA+ID4gPiA+ID4gPiBzeXN0ZW0KPiA+ID4gPiA+ID4gPiA+ID4gYW5kCj4gPiA+ID4g PiA+ID4gPiA+IHJlc29sdXRpb24sCj4gPiA+ID4gPiA+ID4gPiA+IHRoZSBCSU9TICh3aGljaCBo YXMgYW4gaW5mbHVlbmNlIG9uIHRoZSBwYWNrYWdlIFREUCksCj4gPiA+ID4gPiA+ID4gPiA+IHRo ZQo+ID4gPiA+ID4gPiA+ID4gPiB0aGVybWFsCj4gPiA+ID4gPiA+ID4gPiA+IGNoYXJhY3Rlcmlz dGljcyBvZiB0aGUgc3lzdGVtLCBldGMuCj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ ID4gPiBVbmlnaW5lIFZhbGxleSBhbmQgSGVhdmVuIGltcHJvdmUgYnkgYSBzaW1pbGFyIGZhY3Rv cgo+ID4gPiA+ID4gPiA+ID4gPiBvbgo+ID4gPiA+ID4gPiA+ID4gPiBzb21lCj4gPiA+ID4gPiA+ ID4gPiA+IHN5c3RlbXMKPiA+ID4gPiA+ID4gPiA+ID4gKHNlZSB0aGUgSjM0NTUgcmVzdWx0cyBb MV0pLCBidXQgb24gb3RoZXJzIHRoZQo+ID4gPiA+ID4gPiA+ID4gPiBpbXByb3ZlbWVudCBpcwo+ ID4gPiA+ID4gPiA+ID4gPiBsb3dlcgo+ID4gPiA+ID4gPiA+ID4gPiBiZWNhdXNlIHRoZSBiZW5j aG1hcmsgZmFpbHMgdG8gZnVsbHkgdXRpbGl6ZSB0aGUgR1BVLAo+ID4gPiA+ID4gPiA+ID4gPiB3 aGljaAo+ID4gPiA+ID4gPiA+ID4gPiBjYXVzZXMKPiA+ID4gPiA+ID4gPiA+ID4gdGhlCj4gPiA+ ID4gPiA+ID4gPiA+IGhldXJpc3RpYyB0byByZW1haW4gaW4gbG93LWxhdGVuY3kgc3RhdGUgZm9y IGxvbmdlciwKPiA+ID4gPiA+ID4gPiA+ID4gd2hpY2gKPiA+ID4gPiA+ID4gPiA+ID4gbGVhdmVz IGEKPiA+ID4gPiA+ID4gPiA+ID4gcmVkdWNlZCBURFAgYnVkZ2V0IGF2YWlsYWJsZSB0byB0aGUg R1BVLCB3aGljaAo+ID4gPiA+ID4gPiA+ID4gPiBwcmV2ZW50cwo+ID4gPiA+ID4gPiA+ID4gPiBw ZXJmb3JtYW5jZQo+ID4gPiA+ID4gPiA+ID4gPiBmcm9tIGluY3JlYXNpbmcgZnVydGhlci7CoMKg VGhpcyBjYW4gYmUgYXZvaWRlZCBieQo+ID4gPiA+ID4gPiA+ID4gPiB1c2luZwo+ID4gPiA+ID4g PiA+ID4gPiB0aGUKPiA+ID4gPiA+ID4gPiA+ID4gYWx0ZXJuYXRpdmUKPiA+ID4gPiA+ID4gPiA+ ID4gaGV1cmlzdGljIHBhcmFtZXRlcnMgc3VnZ2VzdGVkIGluIHRoZSBjb21taXQgbWVzc2FnZQo+ ID4gPiA+ID4gPiA+ID4gPiBvZgo+ID4gPiA+ID4gPiA+ID4gPiBQQVRDSAo+ID4gPiA+ID4gPiA+ ID4gPiA4LAo+ID4gPiA+ID4gPiA+ID4gPiB3aGljaAo+ID4gPiA+ID4gPiA+ID4gPiBwcm92aWRl IGEgbG93ZXIgSU8gdXRpbGl6YXRpb24gdGhyZXNob2xkIGFuZAo+ID4gPiA+ID4gPiA+ID4gPiBo eXN0ZXJlc2lzCj4gPiA+ID4gPiA+ID4gPiA+IGZvcgo+ID4gPiA+ID4gPiA+ID4gPiB0aGUKPiA+ ID4gPiA+ID4gPiA+ID4gY29udHJvbGxlciB0byBhdHRlbXB0IHRvIHNhdmUgZW5lcmd5LsKgwqBJ J20gbm90Cj4gPiA+ID4gPiA+ID4gPiA+IHByb3Bvc2luZwo+ID4gPiA+ID4gPiA+ID4gPiB0aG9z ZSBmb3IKPiA+ID4gPiA+ID4gPiA+ID4gdXBzdHJlYW0gKHlldCkgYmVjYXVzZSB0aGV5IHdvdWxk IGFsc28gaW5jcmVhc2UgdGhlCj4gPiA+ID4gPiA+ID4gPiA+IHJpc2sKPiA+ID4gPiA+ID4gPiA+ ID4gZm9yCj4gPiA+ID4gPiA+ID4gPiA+IGxhdGVuY3ktc2Vuc2l0aXZlIElPLWhlYXZ5IHdvcmts b2FkcyB0byByZWdyZXNzIChsaWtlCj4gPiA+ID4gPiA+ID4gPiA+IFN5bk1hcmsyCj4gPiA+ID4g PiA+ID4gPiA+IE9nbFRlcnJhaW5GbHkqIGFuZCBzb21lIGFyZ3VhYmx5IHBvb3JseSBkZXNpZ25l ZCBJUEMtCj4gPiA+ID4gPiA+ID4gPiA+IGJvdW5kCj4gPiA+ID4gPiA+ID4gPiA+IFgxMQo+ID4g PiA+ID4gPiA+ID4gPiBiZW5jaG1hcmtzKS4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ ID4gPiA+IERpc2NyZXRlIGdyYXBoaWNzIGFyZW4ndCBsaWtlbHkgdG8gZXhwZXJpZW5jZSB0aGF0 Cj4gPiA+ID4gPiA+ID4gPiA+IG11Y2gKPiA+ID4gPiA+ID4gPiA+ID4gb2YgYQo+ID4gPiA+ID4g PiA+ID4gPiB2aXNpYmxlCj4gPiA+ID4gPiA+ID4gPiA+IGltcHJvdmVtZW50IGZyb20gdGhpcywg ZXZlbiB0aG91Z2ggbWFueSBub24tSUdQCj4gPiA+ID4gPiA+ID4gPiA+IHdvcmtsb2Fkcwo+ID4g PiA+ID4gPiA+ID4gPiAqY291bGQqCj4gPiA+ID4gPiA+ID4gPiA+IGJlbmVmaXQgYnkgcmVkdWNp bmcgdGhlIHN5c3RlbSdzIGVuZXJneSB1c2FnZSB3aGlsZQo+ID4gPiA+ID4gPiA+ID4gPiB0aGUK PiA+ID4gPiA+ID4gPiA+ID4gZGlzY3JldGUKPiA+ID4gPiA+ID4gPiA+ID4gR1BVCj4gPiA+ID4g PiA+ID4gPiA+IChvciByZWFsbHksIGFueSBvdGhlciBJTyBkZXZpY2UpIGJlY29tZXMgYQo+ID4g PiA+ID4gPiA+ID4gPiBib3R0bGVuZWNrLAo+ID4gPiA+ID4gPiA+ID4gPiBidXQKPiA+ID4gPiA+ ID4gPiA+ID4gdGhpcyBpcwo+ID4gPiA+ID4gPiA+ID4gPiBub3QKPiA+ID4gPiA+ID4gPiA+ID4g YXR0ZW1wdGVkIGluIHRoaXMgc2VyaWVzLCBzaW5jZSB0aGF0IHdvdWxkIGludm9sdmUKPiA+ID4g PiA+ID4gPiA+ID4gbWFraW5nCj4gPiA+ID4gPiA+ID4gPiA+IGFuCj4gPiA+ID4gPiA+ID4gPiA+ IGVuZXJneQo+ID4gPiA+ID4gPiA+ID4gPiBlZmZpY2llbmN5L2xhdGVuY3kgdHJhZGUtb2ZmIHRo YXQgb25seSB0aGUKPiA+ID4gPiA+ID4gPiA+ID4gbWFpbnRhaW5lcnMgb2YKPiA+ID4gPiA+ID4g PiA+ID4gdGhlCj4gPiA+ID4gPiA+ID4gPiA+IHJlc3BlY3RpdmUgZHJpdmVycyBhcmUgaW4gYSBw b3NpdGlvbiB0byBtYWtlLsKgwqBUaGUKPiA+ID4gPiA+ID4gPiA+ID4gY3B1ZnJlcQo+ID4gPiA+ ID4gPiA+ID4gPiBpbnRlcmZhY2UKPiA+ID4gPiA+ID4gPiA+ID4gaW50cm9kdWNlZCBpbiBQQVRD SCAxIHRvIGFjaGlldmUgdGhpcyBpcyBsZWZ0IGFzIGFuCj4gPiA+ID4gPiA+ID4gPiA+IG9wdC0K PiA+ID4gPiA+ID4gPiA+ID4gaW4KPiA+ID4gPiA+ID4gPiA+ID4gZm9yIHRoYXQKPiA+ID4gPiA+ ID4gPiA+ID4gcmVhc29uLCBvbmx5IHRoZSBpOTE1IERSTSBkcml2ZXIgaXMgaG9va2VkIHVwIHNp bmNlCj4gPiA+ID4gPiA+ID4gPiA+IGl0Cj4gPiA+ID4gPiA+ID4gPiA+IHdpbGwKPiA+ID4gPiA+ ID4gPiA+ID4gZ2V0IHRoZQo+ID4gPiA+ID4gPiA+ID4gPiBtb3N0IGRpcmVjdCBwYXktb2ZmIGR1 ZSB0byB0aGUgaW5jcmVhc2VkIGVuZXJneQo+ID4gPiA+ID4gPiA+ID4gPiBidWRnZXQKPiA+ID4g PiA+ID4gPiA+ID4gYXZhaWxhYmxlIHRvCj4gPiA+ID4gPiA+ID4gPiA+IHRoZSBHUFUsIGJ1dCBv dGhlciBwb3dlci1odW5ncnkgdGhpcmQtcGFydHkgZ2FkZ2V0cwo+ID4gPiA+ID4gPiA+ID4gPiBi dWlsdAo+ID4gPiA+ID4gPiA+ID4gPiBpbnRvIHRoZQo+ID4gPiA+ID4gPiA+ID4gPiBzYW1lIHBh Y2thZ2UgKCpjb3VnaCogQU1EICpjb3VnaCogTWFsaSAqY291Z2gqCj4gPiA+ID4gPiA+ID4gPiA+ IFBvd2VyVlIKPiA+ID4gPiA+ID4gPiA+ID4gKmNvdWdoKikgbWF5Cj4gPiA+ID4gPiA+ID4gPiA+ IGJlCj4gPiA+ID4gPiA+ID4gPiA+IGFibGUgdG8gYmVuZWZpdCBmcm9tIHRoaXMgaW50ZXJmYWNl IGV2ZW50dWFsbHkgYnkKPiA+ID4gPiA+ID4gPiA+ID4gaW5zdHJ1bWVudGluZyB0aGUKPiA+ID4g PiA+ID4gPiA+ID4gZHJpdmVyIGluIGEgc2ltaWxhciB3YXkuCj4gPiA+ID4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiA+ID4gPiBUaGUgY3B1ZnJlcSBpbnRlcmZhY2UgaXMgbm90IGV4Y2x1c2l2ZWx5 IHRpZWQgdG8gdGhlCj4gPiA+ID4gPiA+ID4gPiA+IGludGVsX3BzdGF0ZQo+ID4gPiA+ID4gPiA+ ID4gPiBkcml2ZXIsIGJlY2F1c2Ugb3RoZXIgZ292ZXJub3JzIGNhbiBtYWtlIHVzZSBvZiB0aGUK PiA+ID4gPiA+ID4gPiA+ID4gc3RhdGlzdGljCj4gPiA+ID4gPiA+ID4gPiA+IGNhbGN1bGF0ZWQg YXMgcmVzdWx0IHRvIGF2b2lkIG92ZXItb3B0aW1pemluZyBmb3IKPiA+ID4gPiA+ID4gPiA+ID4g bGF0ZW5jeQo+ID4gPiA+ID4gPiA+ID4gPiBpbgo+ID4gPiA+ID4gPiA+ID4gPiBzY2VuYXJpb3MK PiA+ID4gPiA+ID4gPiA+ID4gd2hlcmUgYSBsb3dlciBmcmVxdWVuY3kgd291bGQgYmUgYWJsZSB0 byBhY2hpZXZlCj4gPiA+ID4gPiA+ID4gPiA+IHNpbWlsYXIKPiA+ID4gPiA+ID4gPiA+ID4gdGhy b3VnaHB1dAo+ID4gPiA+ID4gPiA+ID4gPiB3aGlsZSB1c2luZyBsZXNzIGVuZXJneS7CoMKgVGhl IGludGVycHJldGF0aW9uIG9mIHRoaXMKPiA+ID4gPiA+ID4gPiA+ID4gc3RhdGlzdGljCj4gPiA+ ID4gPiA+ID4gPiA+IHJlbGllcwo+ID4gPiA+ID4gPiA+ID4gPiBvbiB0aGUgb2JzZXJ2YXRpb24g dGhhdCBmb3IgYXMgbG9uZyBhcyB0aGUgc3lzdGVtIGlzCj4gPiA+ID4gPiA+ID4gPiA+IENQVS0K PiA+ID4gPiA+ID4gPiA+ID4gYm91bmQsIGFueQo+ID4gPiA+ID4gPiA+ID4gPiBJTwo+ID4gPiA+ ID4gPiA+ID4gPiBsb2FkIG9jY3VycmluZyBhcyBhIHJlc3VsdCBvZiB0aGUgZXhlY3V0aW9uIG9m IGEKPiA+ID4gPiA+ID4gPiA+ID4gcHJvZ3JhbQo+ID4gPiA+ID4gPiA+ID4gPiB3aWxsCj4gPiA+ ID4gPiA+ID4gPiA+IHNjYWxlCj4gPiA+ID4gPiA+ID4gPiA+IHJvdWdobHkgbGluZWFybHkgd2l0 aCB0aGUgY2xvY2sgZnJlcXVlbmN5IHRoZSBwcm9ncmFtCj4gPiA+ID4gPiA+ID4gPiA+IGlzCj4g PiA+ID4gPiA+ID4gPiA+IHJ1bgo+ID4gPiA+ID4gPiA+ID4gPiBhdCwgc28KPiA+ID4gPiA+ID4g PiA+ID4gKGFzc3VtaW5nIHRoYXQgdGhlIENQVSBoYXMgZW5vdWdoIHByb2Nlc3NpbmcgcG93ZXIp IGEKPiA+ID4gPiA+ID4gPiA+ID4gcG9pbnQKPiA+ID4gPiA+ID4gPiA+ID4gd2lsbCBiZQo+ID4g PiA+ID4gPiA+ID4gPiByZWFjaGVkIGF0IHdoaWNoIHRoZSBwcm9ncmFtIHdvbid0IGJlIGFibGUg dG8gZXhlY3V0ZQo+ID4gPiA+ID4gPiA+ID4gPiBmYXN0ZXIKPiA+ID4gPiA+ID4gPiA+ID4gd2l0 aAo+ID4gPiA+ID4gPiA+ID4gPiBpbmNyZWFzaW5nIENQVSBmcmVxdWVuY3kgYmVjYXVzZSB0aGUg dGhyb3VnaHB1dAo+ID4gPiA+ID4gPiA+ID4gPiBsaW1pdHMgb2YKPiA+ID4gPiA+ID4gPiA+ID4g c29tZQo+ID4gPiA+ID4gPiA+ID4gPiBkZXZpY2UKPiA+ID4gPiA+ID4gPiA+ID4gd2lsbCBoYXZl IGJlZW4gYXR0YWluZWQuwqDCoEluY3JlYXNpbmcgZnJlcXVlbmNpZXMgcGFzdAo+ID4gPiA+ID4g PiA+ID4gPiB0aGF0Cj4gPiA+ID4gPiA+ID4gPiA+IHBvaW50Cj4gPiA+ID4gPiA+ID4gPiA+IG9u bHkKPiA+ID4gPiA+ID4gPiA+ID4gcGVzc2ltaXplcyBlbmVyZ3kgdXNhZ2UgZm9yIG5vIHJlYWwg YmVuZWZpdCAtLSBUaGUKPiA+ID4gPiA+ID4gPiA+ID4gb3B0aW1hbAo+ID4gPiA+ID4gPiA+ID4g PiBiZWhhdmlvcgo+ID4gPiA+ID4gPiA+ID4gPiBpcwo+ID4gPiA+ID4gPiA+ID4gPiBmb3IgdGhl IENQVSB0byBsb2NrIHRvIHRoZSBtaW5pbXVtIGZyZXF1ZW5jeSB0aGF0IGlzCj4gPiA+ID4gPiA+ ID4gPiA+IGFibGUKPiA+ID4gPiA+ID4gPiA+ID4gdG8KPiA+ID4gPiA+ID4gPiA+ID4ga2VlcAo+ ID4gPiA+ID4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+ID4gPiA+ID4gSU8gZGV2aWNlcyBpbnZvbHZl ZCBmdWxseSB1dGlsaXplZCAoYXNzdW1pbmcgd2UgYXJlCj4gPiA+ID4gPiA+ID4gPiA+IHBhc3QK PiA+ID4gPiA+ID4gPiA+ID4gdGhlCj4gPiA+ID4gPiA+ID4gPiA+IG1heGltdW0tZWZmaWNpZW5j eSBpbmZsZWN0aW9uIHBvaW50IG9mIHRoZSBDUFUncwo+ID4gPiA+ID4gPiA+ID4gPiBwb3dlci0K PiA+ID4gPiA+ID4gPiA+ID4gdG8tCj4gPiA+ID4gPiA+ID4gPiA+IGZyZXF1ZW5jeQo+ID4gPiA+ ID4gPiA+ID4gPiBjdXJ2ZSksIHdoaWNoIGlzIHJvdWdobHkgdGhlIGdvYWwgb2YgdGhpcyBzZXJp ZXMuCj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gPiBQRUxUIGNvdWxkIGJlIGEg dXNlZnVsIGV4dGVuc2lvbiBmb3IgdGhpcyBtb2RlbCBzaW5jZQo+ID4gPiA+ID4gPiA+ID4gPiBp dHMKPiA+ID4gPiA+ID4gPiA+ID4gbGFyZ2VseQo+ID4gPiA+ID4gPiA+ID4gPiBoZXVyaXN0aWMg YXNzdW1wdGlvbnMgd291bGQgYmVjb21lIG1vcmUgYWNjdXJhdGUgaWYKPiA+ID4gPiA+ID4gPiA+ ID4gdGhlCj4gPiA+ID4gPiA+ID4gPiA+IElPCj4gPiA+ID4gPiA+ID4gPiA+IGFuZCBDUFUKPiA+ ID4gPiA+ID4gPiA+ID4gbG9hZCBjb3VsZCBiZSB0cmFja2VkIHNlcGFyYXRlbHkgZm9yIGVhY2gg c2NoZWR1bGluZwo+ID4gPiA+ID4gPiA+ID4gPiBlbnRpdHksCj4gPiA+ID4gPiA+ID4gPiA+IGJ1 dAo+ID4gPiA+ID4gPiA+ID4gPiB0aGlzCj4gPiA+ID4gPiA+ID4gPiA+IGlzIG5vdCBhdHRlbXB0 ZWQgaW4gdGhpcyBzZXJpZXMgYmVjYXVzZSB0aGUKPiA+ID4gPiA+ID4gPiA+ID4gYWRkaXRpb25h bAo+ID4gPiA+ID4gPiA+ID4gPiBjb21wbGV4aXR5Cj4gPiA+ID4gPiA+ID4gPiA+IGFuZAo+ID4g PiA+ID4gPiA+ID4gPiBjb21wdXRhdGlvbmFsIGNvc3Qgb2Ygc3VjaCBhbiBhcHByb2FjaCBpcyBo YXJkIHRvCj4gPiA+ID4gPiA+ID4gPiA+IGp1c3RpZnkKPiA+ID4gPiA+ID4gPiA+ID4gYXQKPiA+ ID4gPiA+ID4gPiA+ID4gdGhpcwo+ID4gPiA+ID4gPiA+ID4gPiBzdGFnZSwgcGFydGljdWxhcmx5 IHNpbmNlIHRoZSBjdXJyZW50IGdvdmVybm9yIGhhcwo+ID4gPiA+ID4gPiA+ID4gPiBzaW1pbGFy Cj4gPiA+ID4gPiA+ID4gPiA+IGxpbWl0YXRpb25zLgo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4g PiA+ID4gPiA+ID4gVmFyaW91cyBmcmVxdWVuY3kgYW5kIHN0ZXAtZnVuY3Rpb24gcmVzcG9uc2Ug Z3JhcGhzCj4gPiA+ID4gPiA+ID4gPiA+IGFyZQo+ID4gPiA+ID4gPiA+ID4gPiBhdmFpbGFibGUK PiA+ID4gPiA+ID4gPiA+ID4gaW4KPiA+ID4gPiA+ID4gPiA+ID4gWzZdLVs5XSBmb3IgY29tcGFy aXNvbiAob2J0YWluZWQgZW1waXJpY2FsbHkgb24gYSBCWFQKPiA+ID4gPiA+ID4gPiA+ID4gSjM0 NTUKPiA+ID4gPiA+ID4gPiA+ID4gc3lzdGVtKS4KPiA+ID4gPiA+ID4gPiA+ID4gVGhlIHJlc3Bv bnNlIGN1cnZlcyBmb3IgdGhlIGxvdy1sYXRlbmN5IGFuZCBsb3ctcG93ZXIKPiA+ID4gPiA+ID4g PiA+ID4gc3RhdGVzCj4gPiA+ID4gPiA+ID4gPiA+IG9mIHRoZQo+ID4gPiA+ID4gPiA+ID4gPiBo ZXVyaXN0aWMgYXJlIHNob3duIHNlcGFyYXRlbHkgLS0gQXMgeW91IGNhbiBzZWUgdGhleQo+ID4g PiA+ID4gPiA+ID4gPiByb3VnaGx5Cj4gPiA+ID4gPiA+ID4gPiA+IGJyYWNrZXQKPiA+ID4gPiA+ ID4gPiA+ID4gdGhlIGZyZXF1ZW5jeSByZXNwb25zZSBjdXJ2ZSBvZiB0aGUgY3VycmVudAo+ID4g PiA+ID4gPiA+ID4gPiBnb3Zlcm5vci7CoMKgVGhlCj4gPiA+ID4gPiA+ID4gPiA+IHN0ZXAKPiA+ ID4gPiA+ID4gPiA+ID4gcmVzcG9uc2Ugb2YgdGhlIGFnZ3Jlc3NpdmUgaGV1cmlzdGljIGlzIHdp dGhpbiBhCj4gPiA+ID4gPiA+ID4gPiA+IHNpbmdsZQo+ID4gPiA+ID4gPiA+ID4gPiB1cGRhdGUK PiA+ID4gPiA+ID4gPiA+ID4gcGVyaW9kCj4gPiA+ID4gPiA+ID4gPiA+IChldmVuIHRob3VnaCBp dCdzIG5vdCBxdWl0ZSBvYnZpb3VzIGZyb20gdGhlIGdyYXBoCj4gPiA+ID4gPiA+ID4gPiA+IHdp dGgKPiA+ID4gPiA+ID4gPiA+ID4gdGhlCj4gPiA+ID4gPiA+ID4gPiA+IGxldmVscwo+ID4gPiA+ ID4gPiA+ID4gPiBvZgo+ID4gPiA+ID4gPiA+ID4gPiB6b29tIHByb3ZpZGVkKS7CoMKgSSdsbCBh dHRhY2ggYmVuY2htYXJrIHJlc3VsdHMgZnJvbSBhCj4gPiA+ID4gPiA+ID4gPiA+IHNsb3dlcgo+ ID4gPiA+ID4gPiA+ID4gPiBidXQKPiA+ID4gPiA+ID4gPiA+ID4gbm9uLVREUC1saW1pdGVkIG1h Y2hpbmUgKHdoaWNoIG1lYW5zIHRoZXJlIHdpbGwgYmUgbm8KPiA+ID4gPiA+ID4gPiA+ID4gVERQ Cj4gPiA+ID4gPiA+ID4gPiA+IGJ1ZGdldAo+ID4gPiA+ID4gPiA+ID4gPiBpbmNyZWFzZSB0aGF0 IGNvdWxkIHBvc3NpYmx5IG1hc2sgYSBwZXJmb3JtYW5jZQo+ID4gPiA+ID4gPiA+ID4gPiByZWdy ZXNzaW9uIG9mCj4gPiA+ID4gPiA+ID4gPiA+IG90aGVyCj4gPiA+ID4gPiA+ID4gPiA+IGtpbmQp IGFzIHNvb24gYXMgdGhleSBjb21lIG91dC4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ ID4gPiA+IFRoYW5rcyB0byBFZXJvIGFuZCBWYWx0dGVyaSBmb3IgdGVzdGluZyBhIG51bWJlciBv Zgo+ID4gPiA+ID4gPiA+ID4gPiBpbnRlcm1lZGlhdGUKPiA+ID4gPiA+ID4gPiA+ID4gcmV2aXNp b25zIG9mIHRoaXMgc2VyaWVzIChhbmQgdGhlcmUgd2VyZSBxdWl0ZSBhIGZldwo+ID4gPiA+ID4g PiA+ID4gPiBvZgo+ID4gPiA+ID4gPiA+ID4gPiB0aGVtKQo+ID4gPiA+ID4gPiA+ID4gPiBpbgo+ ID4gPiA+ID4gPiA+ID4gPiBtb3JlCj4gPiA+ID4gPiA+ID4gPiA+IHRoYW4gaGFsZiBhIGRvemVu IHN5c3RlbXMsIHRoZXkgaGVscGVkIHNwb3QgcXVpdGUgYQo+ID4gPiA+ID4gPiA+ID4gPiBmZXcK PiA+ID4gPiA+ID4gPiA+ID4gaXNzdWVzIG9mCj4gPiA+ID4gPiA+ID4gPiA+IGVhcmxpZXIgdmVy c2lvbnMgb2YgdGhpcyBoZXVyaXN0aWMuCj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ ID4gPiBbUEFUQ0ggMS85XSBjcHVmcmVxOiBJbXBsZW1lbnQgaW5mcmFzdHJ1Y3R1cmUga2VlcGlu Zwo+ID4gPiA+ID4gPiA+ID4gPiB0cmFjawo+ID4gPiA+ID4gPiA+ID4gPiBvZgo+ID4gPiA+ID4g PiA+ID4gPiBhZ2dyZWdhdGVkIElPIGFjdGl2ZSB0aW1lLgo+ID4gPiA+ID4gPiA+ID4gPiBbUEFU Q0ggMi85XSBSZXZlcnQgImNwdWZyZXE6IGludGVsX3BzdGF0ZTogUmVwbGFjZQo+ID4gPiA+ID4g PiA+ID4gPiBieHRfZnVuY3MKPiA+ID4gPiA+ID4gPiA+ID4gd2l0aAo+ID4gPiA+ID4gPiA+ID4g PiBjb3JlX2Z1bmNzIgo+ID4gPiA+ID4gPiA+ID4gPiBbUEFUQ0ggMy85XSBSZXZlcnQgImNwdWZy ZXE6IGludGVsX3BzdGF0ZTogU2hvcnRlbiBhCj4gPiA+ID4gPiA+ID4gPiA+IGNvdXBsZQo+ID4g PiA+ID4gPiA+ID4gPiBvZiBsb25nCj4gPiA+ID4gPiA+ID4gPiA+IG5hbWVzIgo+ID4gPiA+ID4g PiA+ID4gPiBbUEFUQ0ggNC85XSBSZXZlcnQgImNwdWZyZXE6IGludGVsX3BzdGF0ZTogU2ltcGxp ZnkKPiA+ID4gPiA+ID4gPiA+ID4gaW50ZWxfcHN0YXRlX2FkanVzdF9wc3RhdGUoKSIKPiA+ID4g PiA+ID4gPiA+ID4gW1BBVENIIDUvOV0gUmV2ZXJ0ICJjcHVmcmVxOiBpbnRlbF9wc3RhdGU6IERy b3AKPiA+ID4gPiA+ID4gPiA+ID4gLT51cGRhdGVfdXRpbAo+ID4gPiA+ID4gPiA+ID4gPiBmcm9t Cj4gPiA+ID4gPiA+ID4gPiA+IHBzdGF0ZV9mdW5jcyIKPiA+ID4gPiA+ID4gPiA+ID4gW1BBVENI IDYvOV0gY3B1ZnJlcS9pbnRlbF9wc3RhdGU6IEltcGxlbWVudCB2YXJpYWJseQo+ID4gPiA+ID4g PiA+ID4gPiBsb3ctCj4gPiA+ID4gPiA+ID4gPiA+IHBhc3MKPiA+ID4gPiA+ID4gPiA+ID4gZmls dGVyaW5nIGNvbnRyb2xsZXIgZm9yIHNtYWxsIGNvcmUuCj4gPiA+ID4gPiA+ID4gPiA+IFtQQVRD SCA3LzldIFNRVUFTSDogY3B1ZnJlcS9pbnRlbF9wc3RhdGU6IEVuYWJsZSBMUAo+ID4gPiA+ID4g PiA+ID4gPiBjb250cm9sbGVyCj4gPiA+ID4gPiA+ID4gPiA+IGJhc2VkIG9uIEFDUEkgRkFEVCBw cm9maWxlLgo+ID4gPiA+ID4gPiA+ID4gPiBbUEFUQ0ggOC85XSBPUFRJT05BTDogY3B1ZnJlcS9p bnRlbF9wc3RhdGU6IEV4cG9zZSBMUAo+ID4gPiA+ID4gPiA+ID4gPiBjb250cm9sbGVyCj4gPiA+ ID4gPiA+ID4gPiA+IHBhcmFtZXRlcnMgdmlhIGRlYnVnZnMuCj4gPiA+ID4gPiA+ID4gPiA+IFtQ QVRDSCA5LzldIGRybS9pOTE1L2V4ZWNsaXN0czogUmVwb3J0IEdQVSByZW5kZXJpbmcKPiA+ID4g PiA+ID4gPiA+ID4gYXMKPiA+ID4gPiA+ID4gPiA+ID4gSU8KPiA+ID4gPiA+ID4gPiA+ID4gYWN0 aXZpdHkKPiA+ID4gPiA+ID4gPiA+ID4gdG8gY3B1ZnJlcS4KPiA+ID4gPiA+ID4gPiA+ID4gCj4g PiA+ID4gPiA+ID4gPiA+IFsxXSBodHRwOi8vcGVvcGxlLmZyZWVkZXNrdG9wLm9yZy9+Y3Vycm9q ZXJlei9pbnRlbF9wCj4gPiA+ID4gPiA+ID4gPiA+IHN0YXQKPiA+ID4gPiA+ID4gPiA+ID4gZS1s cAo+ID4gPiA+ID4gPiA+ID4gPiAvYmVuY2gKPiA+ID4gPiA+ID4gPiA+ID4gbWFyay1wZXJmLWNv bXBhcmlzb24tSjM0NTUubG9nCj4gPiA+ID4gPiA+ID4gPiA+IFsyXSBodHRwOi8vcGVvcGxlLmZy ZWVkZXNrdG9wLm9yZy9+Y3Vycm9qZXJlei9pbnRlbF9wCj4gPiA+ID4gPiA+ID4gPiA+IHN0YXQK PiA+ID4gPiA+ID4gPiA+ID4gZS1scAo+ID4gPiA+ID4gPiA+ID4gPiAvYmVuY2gKPiA+ID4gPiA+ ID4gPiA+ID4gbWFyay1wZXJmLXBlci13YXR0LWNvbXBhcmlzb24tSjM0NTUubG9nCj4gPiA+ID4g PiA+ID4gPiA+IFszXSBodHRwOi8vcGVvcGxlLmZyZWVkZXNrdG9wLm9yZy9+Y3Vycm9qZXJlei9p bnRlbF9wCj4gPiA+ID4gPiA+ID4gPiA+IHN0YXQKPiA+ID4gPiA+ID4gPiA+ID4gZS1scAo+ID4g PiA+ID4gPiA+ID4gPiAvYmVuY2gKPiA+ID4gPiA+ID4gPiA+ID4gbWFyay1wZXJmLWNvbXBhcmlz b24tSjM0NTUtMS5sb2cKPiA+ID4gPiA+ID4gPiA+ID4gWzRdIGh0dHA6Ly9wZW9wbGUuZnJlZWRl c2t0b3Aub3JnL35jdXJyb2plcmV6L2ludGVsX3AKPiA+ID4gPiA+ID4gPiA+ID4gc3RhdAo+ID4g PiA+ID4gPiA+ID4gPiBlLWxwCj4gPiA+ID4gPiA+ID4gPiA+IC9iZW5jaAo+ID4gPiA+ID4gPiA+ ID4gPiBtYXJrLXBlcmYtY29tcGFyaXNvbi1KNDIwNS5sb2cKPiA+ID4gPiA+ID4gPiA+ID4gWzVd IGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35jdXJyb2plcmV6L2ludGVsX3AKPiA+ID4g PiA+ID4gPiA+ID4gc3RhdAo+ID4gPiA+ID4gPiA+ID4gPiBlLWxwCj4gPiA+ID4gPiA+ID4gPiA+ IC9iZW5jaAo+ID4gPiA+ID4gPiA+ID4gPiBtYXJrLXBlcmYtY29tcGFyaXNvbi1KNTAwNS5sb2cK PiA+ID4gPiA+ID4gPiA+ID4gWzZdIGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35jdXJy b2plcmV6L2ludGVsX3AKPiA+ID4gPiA+ID4gPiA+ID4gc3RhdAo+ID4gPiA+ID4gPiA+ID4gPiBl LWxwCj4gPiA+ID4gPiA+ID4gPiA+IC9mcmVxdQo+ID4gPiA+ID4gPiA+ID4gPiBlbmN5LXJlc3Bv bnNlLW1hZ25pdHVkZS1jb21wYXJpc29uLnN2Zwo+ID4gPiA+ID4gPiA+ID4gPiBbN10gaHR0cDov L3Blb3BsZS5mcmVlZGVza3RvcC5vcmcvfmN1cnJvamVyZXovaW50ZWxfcAo+ID4gPiA+ID4gPiA+ ID4gPiBzdGF0Cj4gPiA+ID4gPiA+ID4gPiA+IGUtbHAKPiA+ID4gPiA+ID4gPiA+ID4gL2ZyZXF1 Cj4gPiA+ID4gPiA+ID4gPiA+IGVuY3ktcmVzcG9uc2UtcGhhc2UtY29tcGFyaXNvbi5zdmcKPiA+ ID4gPiA+ID4gPiA+ID4gWzhdIGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35jdXJyb2pl cmV6L2ludGVsX3AKPiA+ID4gPiA+ID4gPiA+ID4gc3RhdAo+ID4gPiA+ID4gPiA+ID4gPiBlLWxw Cj4gPiA+ID4gPiA+ID4gPiA+IC9zdGVwLQo+ID4gPiA+ID4gPiA+ID4gPiByZXNwb25zZS1jb21w YXJpc29uLTEuc3ZnCj4gPiA+ID4gPiA+ID4gPiA+IFs5XSBodHRwOi8vcGVvcGxlLmZyZWVkZXNr dG9wLm9yZy9+Y3Vycm9qZXJlei9pbnRlbF9wCj4gPiA+ID4gPiA+ID4gPiA+IHN0YXQKPiA+ID4g PiA+ID4gPiA+ID4gZS1scAo+ID4gPiA+ID4gPiA+ID4gPiAvc3RlcC0KPiA+ID4gPiA+ID4gPiA+ ID4gcmVzcG9uc2UtY29tcGFyaXNvbi0yLnN2Zwo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gPiA+ID4g SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiA+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPiA+ID4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=