From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 00/11] TDR/watchdog timeout support for gen8 Date: Tue, 23 Jun 2015 17:20:57 +0200 Message-ID: <20150623152057.GE25769@phenom.ffwll.local> References: <1433783009-17251-1-git-send-email-tomas.elf@intel.com> <20150623100551.GT25769@phenom.ffwll.local> <55893934.4080105@intel.com> <20150623113829.GU25769@phenom.ffwll.local> <558967F9.40008@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by gabe.freedesktop.org (Postfix) with ESMTP id 63D3D6E9D2 for ; Tue, 23 Jun 2015 08:18:12 -0700 (PDT) Received: by wicnd19 with SMTP id nd19so109144036wic.1 for ; Tue, 23 Jun 2015 08:18:11 -0700 (PDT) Content-Disposition: inline In-Reply-To: <558967F9.40008@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomas Elf Cc: "Intel-GFX@Lists.FreeDesktop.Org" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdW4gMjMsIDIwMTUgYXQgMDM6MDY6NDlQTSArMDEwMCwgVG9tYXMgRWxmIHdyb3Rl Ogo+IE9uIDIzLzA2LzIwMTUgMTI6MzgsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPk9uIFR1ZSwg SnVuIDIzLCAyMDE1IGF0IDExOjQ3OjE2QU0gKzAxMDAsIFRvbWFzIEVsZiB3cm90ZToKPiA+Pk9u IDIzLzA2LzIwMTUgMTE6MDUsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPj4+WW91ciBwYXRjaGVz IGRvbid0IGFwcGx5IGNsZWFubHkgYW55IG1vcmUgYW5kIEkgY2FuJ3QgZmluZCBhIHN1aXRhYmxl Cj4gPj4+YmFzZWxpbmUgd2hlcmUgdGhleSB3b3VsZC4gQnV0IEknZCBsaWtlIHRvIHNlZSBpdCBh bGwgaW4gY29udGV4dCB0byBjaGVjawo+ID4+PmEgZmV3IHRoaW5ncy4KPiA+Pj4KPiA+Pj5DYW4g eW91IHBscyBwdXNoIGEgZ2l0IGJyYW5jaCB3aXRoIHRoZXNlIHNvbWV3aGVyZT8KPiA+Pj4KPiA+ Pgo+ID4+SGVyZSdzIHRoZSBiYXNlbGluZSBmb3IgbXkgbG9jYWwgdHJlZToKPiA+PmNkMDc2Mzcg LSAgZHJtLWludGVsLW5pZ2h0bHk6IDIwMTV5LTA0bS0xM2QtMDloLTQ2bS01OXMgVVRDIGludGVn cmF0aW9uCj4gPj5tYW5pZmVzdCA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiA+Cj4gPkkgZG9u J3QgaGF2ZSB0aGF0IGJhc2VsaW5lIGFyb3VuZCBoZXJlIChhbnkgbW9yZSBhdCBsZWFzdCkuIEhh cHBlbnMKPiA+cmVndWxhcmx5IHdpdGggcmViYXNpbmcgdHJlZXMuCj4gPgo+ID4+SSBoYXZlbid0 IHVwZGF0ZWQgaXQgaW4gYSB3aGlsZSBvYnZpb3VzbHkgc2luY2UgSSB0aG91Z2h0IHRoYXQgY291 bGQgd2FpdAo+ID4+dW50aWwgd2UnZCB3b3JrZWQgb3VyIHdheSB0aHJvdWdoIHRoZSBSRkMgc2Vy aWVzIGFuZCBJIGNvdWxkIGdldCB0byB3b3JrIG9uCj4gPj50aGUgZmlyc3QgcmVhbCBwYXRjaCBz ZXJpZXMuCj4gPj4KPiA+PklzIGl0IHBvc3NpYmxlIGZvciB5b3UgdG8gc2V0IHVwIGEgbG9jYWwg dHJlZSBvZiB5b3VyIG93biB3aXRoIG15IGJhc2VsaW5lCj4gPj5hbmQgbXkgUkZDIHBhdGNoZXMg b24gdG9wIG9yIHdvdWxkIHlvdSBwcmVmZXIgaXQgaWYgSSBwdXNoIG15IGJyYW5jaCB0bwo+ID4+ ZHJtLXByaXZhdGU/Cj4gPgo+ID5TbyB5ZWFoIEkgbmVlZCB5b3VyIGJyYW5jaCA7LSkKPiAKPiBJ IHB1c2hlZCBteSBicmFuY2gsIDIwMTUwNjA4X1REUl91cHN0cmVhbV9hZGFwdGF0aW9uX3Npbmds ZS10aHJlYWRfaGFuZ2NoZWNraW5nX1JGQ19kZWxpdmVyeV9zZW5kbWFpbF8xLAo+IHRvIGRybS1w cml2YXRlIDoKPiAKPiBodHRwczovL2dpdC1hbXItMi5kZXZ0b29scy5pbnRlbC5jb20vZ2Vycml0 L2dpdHdlYj9wPW90Y19nZW5fZ3JhcGhpY3MtZHJtLXByaXZhdGUuZ2l0O2E9c2hvcnRsb2c7aD1y ZWZzL2hlYWRzLzIwMTUwNjA4X1REUl91cHN0cmVhbV9hZGFwdGF0aW9uX3NpbmdsZS10aHJlYWRf aGFuZ2NoZWNraW5nX1JGQ19kZWxpdmVyeV9zZW5kbWFpbF8xCgpGb3IgcHVibGljIHN0dWZmIHNv bWV0aGluZyBwdWJsaWMgaXMgcHJlZmVycmVkIHNpbmNlIHRoZW4gSSBkb24ndCBoYXZlIHRvCm5l ZWRsZSBpdCB0aHJvdWdoIHRoZSBmaXJld2FsbCwgd2hpY2ggdGVuZHMgdG8gYmUgYSBwYWluIGFu ZCBhbGwgdGhhdC4KUGVyc29uYWxseSBJIGp1c3QgaGF2ZSBhIHByaXYgcmVtb3RlIHBvaW50aW5n IHRvIHNvbWV0aGluZyBwdWJsaWMsIGFuZAp3aGVuZXZlciBJIG5lZWQgdG8gdXBsb2FkIHNvbWV0 aGluZyBmb3Igc29tZW9uZSBJIGRvIGEKCiQgZ2l0IHB1c2ggcHJpdiArSEVBRDpmb3ItJHBlcnNv bgoKVGhlIHBvaW50IG9mIGFsbCB0aGlzIGlzIHRoYXQgSSBjYW4gZG8gYQoKJCBnaXQgZmV0Y2gg JHVybCAkYnJhbmNoCiQgZ2l0IGNoZWNrb3V0IEZFVENIX0hFQUQKCmFuZCBsb29rIGF0IHRoZSB0 cmVlIHdpdGggdGhlIGZ1bGwgcG93ZXIgb2YgbG9jYWwgZWRpdG9ycy4gSSdsbCB0cnkgYW5kCnNl ZSB3aGV0aGVyIEkgY2FuIGNvYXggZ2Vycml0IGludG8gY29vcGVyYXRpb24gLi4uCi1EYW5pZWwK Cj4gCj4gV2lsbCB0aGF0IHdvcmsgb3IgZG8geW91IG5lZWQgc29tZXRoaW5nIGVsc2U/Cj4gCj4g VGhhbmtzLAo+IFRvbWFzCj4gCj4gPi1EYW5pbAo+ID4+Cj4gPj5UaGFua3MsCj4gPj5Ub21hcwo+ ID4+Cj4gPj4+VGhhbmtzLCBEYW5pZWwKPiA+Pj4KPiA+Pj5PbiBNb24sIEp1biAwOCwgMjAxNSBh dCAwNjowMzoxOFBNICswMTAwLCBUb21hcyBFbGYgd3JvdGU6Cj4gPj4+PlRoaXMgcGF0Y2ggc2Vy aWVzIGludHJvZHVjZXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKPiA+Pj4+Cj4gPj4+PiogRmVh dHVyZSAxOiBURFIgKFRpbWVvdXQgRGV0ZWN0aW9uIGFuZCBSZWNvdmVyeSkgZm9yIGdlbjggZXhl Y2xpc3QgbW9kZS4KPiA+Pj4+Cj4gPj4+PlREUiBpcyBhbiB1bWJyZWxsYSB0ZXJtIGZvciBhbnl0 aGluZyB0aGF0IGdvZXMgaW50byBkZXRlY3RpbmcgYW5kIHJlY292ZXJpbmcKPiA+Pj4+ZnJvbSBH UFUgaGFuZ3MgYW5kIGlzIGEgdGVybSBtb3JlIHdpZGVseSB1c2VkIG91dHNpZGUgb2YgdGhlIHVw c3RyZWFtIGRyaXZlci4KPiA+Pj4+VGhpcyBmZWF0dXJlIGludHJvZHVjZXMgYW4gZXh0ZW5zaWJs ZSBmcmFtZXdvcmsgdGhhdCBjdXJyZW50bHkgc3VwcG9ydHMgZ2VuOAo+ID4+Pj5idXQgdGhhdCBj YW4gYmUgZWFzaWx5IGV4dGVuZGVkIHRvIHN1cHBvcnQgZ2VuNyBhcyB3ZWxsICh3aGljaCBpcyBh bHJlYWR5IHRoZQo+ID4+Pj5jYXNlIGluIEdNSU4gYnV0IHVuZm9ydHVuYXRlbHkgaW4gYSBub3Qg cXVpdGUgdXBzdHJlYW1hYmxlIGZvcm0pLiBUaGUgY29kZQo+ID4+Pj5jb250YWluZWQgaW4gdGhp cyBzdWJtaXNzaW9uIHJlcHJlc2VudHMgdGhlIGVzc2VudGlhbHMgb2Ygd2hhdCBpcyBjdXJyZW50 bHkgaW4KPiA+Pj4+R01JTiBtZXJnZWQgd2l0aCB3aGF0IGlzIGN1cnJlbnRseSBpbiB1cHN0cmVh bSAoYXMgb2YgdGhlIHRpbWUgd2hlbiB0aGlzIHdvcmsKPiA+Pj4+Y29tbWVuY2VkIGEgZmV3IG1v bnRocyBiYWNrKS4KPiA+Pj4+Cj4gPj4+PlRoaXMgZmVhdHVyZSBhZGRzIGEgbmV3IGhhbmcgcmVj b3ZlcnkgcGF0aCBhbG9uZ3NpZGUgdGhlIGxlZ2FjeSBHUFUgcmVzZXQgcGF0aCwKPiA+Pj4+d2hp Y2ggdGFrZXMgY2FyZSBvZiBlbmdpbmUgcmVjb3Zlcnkgb25seS4gQXNpZGUgZnJvbSBhZGRpbmcg c3VwcG9ydCBmb3IKPiA+Pj4+cGVyLWVuZ2luZSByZWNvdmVyeSB0aGlzIGZlYXR1cmUgYWxzbyBp bnRyb2R1Y2VzIHJ1bGVzIGZvciBob3cgdG8gcHJvbW90ZSBhCj4gPj4+PnBvdGVudGlhbCBwZXIt ZW5naW5lIHJlc2V0IHRvIGEgbGVnYWN5LCBmdWxsIEdQVSByZXNldC4KPiA+Pj4+Cj4gPj4+PlRo ZSBoYW5nIGNoZWNrZXIgbm93IGludGVncmF0ZXMgd2l0aCB0aGUgZXJyb3IgaGFuZGxlciBpbiBh IHNsaWdodGx5IGRpZmZlcmVudAo+ID4+Pj53YXkgaW4gdGhhdCBpdCBhbGxvd3MgaGFuZyByZWNv dmVyeSBvbiBtdWx0aXBsZSBlbmdpbmVzIGF0IHRoZSBzYW1lIHRpbWUgYnkKPiA+Pj4+cGFzc2lu ZyBhbiBlbmdpbmUgZmxhZyBtYXNrIHRvIHRoZSBlcnJvciBoYW5kbGVyIHdoZXJlIGZsYWdzIHJl cHJlc2VudGluZyBhbGwKPiA+Pj4+b2YgdGhlIGh1bmcgZW5naW5lcyBhcmUgc2V0LiBUaGlzIGFs bG93cyB1cyB0byBzY2hlZHVsZSBoYW5nIHJlY292ZXJ5IG9uY2UgZm9yCj4gPj4+PmFsbCBjdXJy ZW50bHkgaHVuZyBlbmdpbmVzIGluc3RlYWQgb2Ygb25lIGhhbmcgcmVjb3ZlcnkgcGVyIGRldGVj dGVkIGVuZ2luZQo+ID4+Pj5oYW5nLiBQcmV2aW91c2x5LCB3aGVuIG9ubHkgZnVsbCBHUFUgcmVz ZXQgd2FzIHN1cHBvcnRlZCB0aGlzIHdhcyBhbGwgdGhlIHNhbWUKPiA+Pj4+c2luY2UgaXQgd291 bGRuJ3QgbWF0dGVyIGlmIG9uZSBvciBmb3VyIGVuZ2luZXMgd2VyZSBodW5nIGF0IGFueSBnaXZl biBwb2ludAo+ID4+Pj5zaW5jZSBpdCB3b3VsZCBhbGwgYW1vdW50IHRvIHRoZSBzYW1lIHRoaW5n IC0gdGhlIEdQVSBnZXR0aW5nIHJlc2V0LiBBcyBpdAo+ID4+Pj5zdGFuZHMgbm93IHRoZSBiZWhh dmlvdXIgaXMgZGlmZmVyZW50IGRlcGVuZGluZyBvbiB3aGljaCBlbmdpbmUgaXMgaHVuZyBzaW5j ZQo+ID4+Pj5lYWNoIGVuZ2luZSBpcyByZXNldCBzZXBhcmF0ZWx5IGZyb20gYWxsIHRoZSBvdGhl ciBlbmdpbmVzLCB0aGVyZWZvcmUgd2UgaGF2ZQo+ID4+Pj50byB0aGluayBhYm91dCB0aGlzIGlu IHRlcm1zIG9mIHNjaGVkdWxpbmcgY29zdCBhbmQgcmVjb3ZlcnkgbGF0ZW5jeS4gKHNlZQo+ID4+ Pj5vcGVuIHF1ZXN0aW9uIGJlbG93KQo+ID4+Pj4KPiA+Pj4+T1BFTiBRVUVTVElPTlM6Cj4gPj4+ Pgo+ID4+Pj4JMS4gRG8gd2Ugd2FudCB0byBpbnZlc3RpZ2F0ZSB0aGUgcG9zc2liaWxpdHkgb2Yg cGVyLWVuZ2luZSBoYW5nCj4gPj4+PglkZXRlY3Rpb24/IEluIHRoZSBjdXJyZW50IHVwc3RyZWFt IGRyaXZlciB0aGVyZSBpcyBvbmx5IG9uZSB3b3JrIHF1ZXVlCj4gPj4+Pgl0aGF0IGhhbmRsZXMg dGhlIGhhbmcgY2hlY2tlciBhbmQgZXZlcnl0aGluZyBmcm9tIGluaXRpYWwgaGFuZwo+ID4+Pj4J ZGV0ZWN0aW9uIHRvIGZpbmFsIGhhbmcgcmVjb3ZlcnkgcnVucyBpbiB0aGlzIHRocmVhZC4gVGhp cyBtYWtlcyBzZW5zZQo+ID4+Pj4JaWYgeW91J3JlIG9ubHkgc3VwcG9ydGluZyBvbmUgZm9ybSBv ZiBoYW5nIHJlY292ZXJ5IC0gdXNpbmcgZnVsbCBHUFUKPiA+Pj4+CXJlc2V0IGFuZCBub3RoaW5n IHRpZWQgdG8gYW55IHBhcnRpY3VsYXIgZW5naW5lLiBIb3dldmVyLCBhcyBwYXJ0Cj4gPj4+Pglv ZiB0aGlzIHBhdGNoIHNlcmllcyB3ZSdyZSBjaGFuZ2luZyB0aGF0IGJ5IGludHJvZHVjaW5nIHBl ci1lbmdpbmUKPiA+Pj4+CWhhbmcgcmVjb3ZlcnkuIEl0IGNvdWxkIG1ha2Ugc2Vuc2UgdG8gaW50 cm9kdWNlIG11bHRpcGxlIHdvcmsKPiA+Pj4+CXF1ZXVlcyAtIG9uZSBwZXIgZW5naW5lIC0gdG8g cnVuIG11bHRpcGxlIGhhbmcgY2hlY2tpbmcgdGhyZWFkcyBpbgo+ID4+Pj4JcGFyYWxsZWwuCj4g Pj4+Pgo+ID4+Pj4JVGhpcyB3b3VsZCBwb3RlbnRpYWxseSBhbGxvdyBzYXZpbmdzIGluIHRlcm1z IG9mIHJlY292ZXJ5IGxhdGVuY3kgc2luY2UKPiA+Pj4+CXdlIGRvbid0IGhhdmUgdG8gc2NhbiBh bGwgZW5naW5lcyBldmVyeSB0aW1lIHRoZSBoYW5nIGNoZWNrZXIgaXMKPiA+Pj4+CXNjaGVkdWxl ZCBhbmQgdGhlIGVycm9yIGhhbmRsZXIgZG9lcyBub3QgaGF2ZSB0byBzY2FuIGFsbCBlbmdpbmVz IGV2ZXJ5Cj4gPj4+Pgl0aW1lIGl0IGlzIHNjaGVkdWxlZC4gSW5zdGVhZCwgd2UgY291bGQgaW1w bGVtZW50IG9uZSB3b3JrIHF1ZXVlIHBlcgo+ID4+Pj4JZW5naW5lIHRoYXQgd291bGQgaW52b2tl IHRoZSBoYW5nIGNoZWNrZXIgdGhhdCBvbmx5IGNoZWNrcyBfdGhhdF8KPiA+Pj4+CXBhcnRpY3Vs YXIgZW5naW5lIGFuZCB0aGVuIHRoZSBlcnJvciBoYW5kbGVyIGlzIGludm9rZWQgZm9yIF90aGF0 Xwo+ID4+Pj4JcGFydGljdWxhciBlbmdpbmUuIElmIG9uZSBlbmdpbmUgaGFzIGh1bmcgdGhlIGxh dGVuY3kgZm9yIGdldHRpbmcgdG8KPiA+Pj4+CXRoZSBoYW5nIHJlY292ZXJ5IHBhdGggZm9yIHRo YXQgcGFydGljdWxhciBlbmdpbmUgd291bGQgYmUgKFRpbWUgRm9yCj4gPj4+PglIYW5nIENoZWNr aW5nIE9uZSBFbmdpbmUpICsgKFRpbWUgRm9yIEVycm9yIEhhbmRsaW5nIE9uZSBFbmdpbmUpIHJh dGhlcgo+ID4+Pj4JdGhhbiB0aGUgdGltZSBpdCB0YWtlcyB0byBkbyBoYW5nIGNoZWNraW5nIGZv ciBhbGwgZW5naW5lcyArIHRoZSB0aW1lCj4gPj4+PglpdCB0YWtlcyB0byBkbyBlcnJvciBoYW5k bGluZyBmb3IgYWxsIGVuZ2luZXMgdGhhdCBoYXZlIGJlZW4gZGV0ZWN0ZWQKPiA+Pj4+CWFzIGh1 bmcgKHdoaWNoIGluIHRoZSB3b3JzdCBjYXNlIHdvdWxkIGJlIGFsbCBlbmdpbmVzKS4gVGhlcmUg d291bGQKPiA+Pj4+CXBvdGVudGlhbGx5IGJlIGFzIG1hbnkgaGFuZyBjaGVja2VyIGFuZCBlcnJv ciBoYW5kbGluZyB0aHJlYWRzIGdvaW5nIG9uCj4gPj4+Pgljb25jdXJyZW50bHkgYXMgdGhlcmUg YXJlIGVuZ2luZXMgaW4gdGhlIGhhcmR3YXJlIGJ1dCB0aGV5IHdvdWxkIGFsbCBiZQo+ID4+Pj4J cnVubmluZyBpbiBwYXJhbGxlbCB3aXRob3V0IGFueSBzaWduaWZpY2FudCBsb2NraW5nLiBUaGUg Zmlyc3QgdGltZQo+ID4+Pj4Jd2hlcmUgYW55IHRocmVhZCBuZWVkcyBleGNsdXNpdmUgYWNjZXNz IHRvIHRoZSBkcml2ZXIgaXMgYXQgdGhlIHBvaW50Cj4gPj4+PglvZiB0aGUgYWN0dWFsIGhhbmcg cmVjb3ZlcnkgYnV0IHRoZSB0aW1lIGl0IHRha2VzIHRvIGdldCB0aGVyZSB3b3VsZAo+ID4+Pj4J dGhlb3JldGljYWxseSBiZSBsb3dlciBhbmQgdGhlIHRpbWUgaXQgYWN0dWFsbHkgdGFrZXMgdG8g ZG8gcGVyLWVuZ2luZQo+ID4+Pj4JaGFuZyByZWNvdmVyeSBpcyBxdWl0ZSBhIGxvdCBsb3dlciB0 aGFuIHRoZSB0aW1lIGl0IHRha2VzIHRvIGFjdHVhbGx5Cj4gPj4+PglkZXRlY3QgYSBoYW5nIHJl bGlhYmx5Lgo+ID4+Pj4KPiA+Pj4+CUhvdyBtdWNoIHdlIHdvdWxkIHNhdmUgYnkgc3VjaCBhIGNo YW5nZSBzdGlsbCBuZWVkcyB0byBiZSBhbmFseXNlZCBhbmQKPiA+Pj4+CWNvbXBhcmVkIGFnYWlu c3QgdGhlIGN1cnJlbnQgc2luZ2xlLXRocmVhZCBtb2RlbCBidXQgaXQgbWFrZXMgc2Vuc2UKPiA+ Pj4+CWZyb20gYSB0aGVvcmV0aWNhbCBkZXNpZ24gcG9pbnQgb2Ygdmlldy4KPiA+Pj4+Cj4gPj4+ PgkyLiBIb3cgZG9lcyBwZXItZW5naW5lIHJlc2V0IGludGVncmF0ZSB3aXRoIHRoZSBwdWJsaWMg cmVzZXQgc3RhdHMKPiA+Pj4+CUlPQ1RMPyBUaGVzZSBzdGF0cyBhcmUgdXNlZCBmb3IgdGhlIEdM IHJvYnVzdG5lc3MgaW50ZXJmYWNlIGFuZAo+ID4+Pj4JY3VycmVudGx5IHRoZXNlIHRlc3RzIGFy ZSBmYWlsaW5nIHdoZW4gcnVubmluZyBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkKPiA+Pj4+CXNp bmNlIHdlIHRyZWF0IHBlci1lbmdpbmUgcmVjb3ZlcnkgZGlmZmVyZW50bHkgZnJvbSBmdWxsIEdQ VSByZWNvdmVyeSwKPiA+Pj4+CXdoaWNoIGlzIG5vdGhpbmcgdGhhdCB1c2VybGFuZCBrbm93cyBh bnl0aGluZyBhYm91dC4gV2hlbiB1c2VybGFuZAo+ID4+Pj4JZXhwZWN0cyB0byBoYW5nIHRoZSBo YXJkd2FyZSBpdCBleHBlY3RzIHRoZSByZXNldCBzdGF0IGludGVyZmFjZSB0bwo+ID4+Pj4JcmVm bGVjdCB0aGlzLCB3aGljaCBpcyBzb21ldGhpbmcgdGhhdCBoYXMgY2hhbmdlZCBhcyBwYXJ0IG9m IHRoaXMgY29kZQo+ID4+Pj4Jc3VibWlzc2lvbi4gVGhlcmUncyBtb3JlIHRoYW4gb25lIHdheSB0 byBzb2x2ZSB0aGlzLiBIZXJlIGFyZSB0d28gb3B0aW9uczoKPiA+Pj4+Cj4gPj4+PgkJMS4gRXhw b3NlIHBlci1lbmdpbmUgcmVzZXQgc3RhdGlzdGljcyBhbmQgc2V0IGNvbnRleHRzIGFzCj4gPj4+ PgkJZ3VpbHR5IHRoZSBzYW1lIHdheSBmb3IgcGVyLWVuZ2luZSByZXNldCBhcyBmb3IgZnVsbCBH UFUKPiA+Pj4+CQlyZXNldHMuCj4gPj4+Pgo+ID4+Pj4JCVRoYXQgd291bGQgbWFrZSB0aGlzIGNo YW5nZSB0byB0aGUgaGFuZyByZWNvdmVyeSBtZWNoYW5pc20KPiA+Pj4+CQl0cmFuc3BhcmVudCB0 byB1c2VybGFuZCBidXQgaXQgd291bGQgY2hhbmdlIHRoZSBzZW1hbnRpY3Mgc2luY2UKPiA+Pj4+ CQlhbiBhY3RpdmUgY29udGV4dCBpbiB0aGUgcmVzZXQgc3RhdHMgbm8gbG9uZ2VyIGltcGxpZXMg dGhhdCB0aGUKPiA+Pj4+CQlHUFUgd2FzIGZ1bGx5IHJlc2V0Lgo+ID4+Pj4KPiA+Pj4+CQkyLiBB ZGQgYSBuZXcgc2V0IG9mIHN0YXRpc3RpY3MgZm9yIHBlci1lbmdpbmUgcmVzZXQgKG9uZSBncm91 cAo+ID4+Pj4JCW9mIHN0YXRpc3RpY3MgZm9yIGVhY2ggZW5naW5lKSB0byByZWZsZWN0IHRoZSBl eHRlbmRlZAo+ID4+Pj4JCWNhcGFiaWxpdGllcyB0aGF0IHBlci1lbmdpbmUgaGFuZyByZWNvdmVy eSBvZmZlcnMuCj4gPj4+Pgo+ID4+Pj4JCVdvdWxkIHRoYXQgYmUgYnJlYWtpbmcgdGhlIEFCST8K PiA+Pj4+Cj4gPj4+PgkJLi4uIE9yIGFyZSB0aGVyZSBhbnkgb3RoZXIgd2F5IG9mIGRvaW5nIHRo aXM/Cj4gPj4+Pgo+ID4+Pj4qIEZlYXR1cmUgMjogV2F0Y2hkb2cgVGltZW91dCAoYS5rLmEgIm1l ZGlhIGVuZ2luZSByZXNldCIpIGZvciBnZW44Lgo+ID4+Pj4KPiA+Pj4+VGhpcyBmZWF0dXJlIGFs bG93cyB1c2VybGFuZCBhcHBsaWNhdGlvbnMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBpbmRp dmlkdWFsCj4gPj4+PmJhdGNoIGJ1ZmZlcnMgc2hvdWxkIGhhdmUgYSBmaXJzdC1sZXZlbCwgZmlu ZS1ncmFpbmVkLCBoYXJkd2FyZS1iYXNlZCBoYW5nCj4gPj4+PmRldGVjdGlvbiBtZWNoYW5pc20g b24gdG9wIG9mIHRoZSBvcmRpbmFyeSwgc29mdHdhcmUtYmFzZWQgcGVyaW9kaWMgaGFuZwo+ID4+ Pj5jaGVja2VyIHRoYXQgaXMgYWxyZWFkeSBpbiB0aGUgZHJpdmVyLiBUaGUgYWR2YW50YWdlIG92 ZXIgcmVseWluZyBzb2xlbHkgb24gdGhlCj4gPj4+PmN1cnJlbnQgc29mdHdhcmUtYmFzZWQgaGFu ZyBjaGVja2VyIGlzIHRoYXQgdGhlIHdhdGNoZG9nIHRpbWVvdXQgbWVjaGFuaXNtIGlzCj4gPj4+ PmFib3V0IDEwMDB4IHF1aWNrZXIgYW5kIG1vcmUgcHJlY2lzZS4gU2luY2UgaXQncyBub3QgYSBm dWxsIGRyaXZlci1sZXZlbCBoYW5nCj4gPj4+PmRldGVjdGlvbiBtZWNoYW5pc20gYnV0IG9ubHkg dGFyZ2V0dGluZyBvbmUgaW5kaXZpZHVhbCBiYXRjaCBidWZmZXIgYXQgYSB0aW1lCj4gPj4+Pml0 IGNhbiBhZmZvcmQgdG8gYmUgdGhhdCBxdWljayB3aXRob3V0IHJpc2tpbmcgYW4gaW5jcmVhc2Ug aW4gZmFsc2UgcG9zaXRpdmUKPiA+Pj4+aGFuZyBkZXRlY3Rpb24uCj4gPj4+Pgo+ID4+Pj5UaGlz IGZlYXR1cmUgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgo+ID4+Pj4KPiA+Pj4+YSkg V2F0Y2hkb2cgdGltZW91dCBpbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lIGZvciBoYW5kbGluZyB3 YXRjaGRvZyBpbnRlcnJ1cHRzCj4gPj4+PmFuZCBjb25uZWN0aW5nIHRoZXNlIHRvIHBlci1lbmdp bmUgaGFuZyByZWNvdmVyeS4KPiA+Pj4+Cj4gPj4+PmIpIEluamVjdGlvbiBvZiB3YXRjaGRvZyB0 aW1lciBlbmFibGVtZW50L2NhbmNlbGxhdGlvbiBpbnN0cnVjdGlvbnMKPiA+Pj4+YmVmb3JlL2Fm dGVyIHRoZSBiYXRjaCBidWZmZXIgc3RhcnQgaW5zdHJ1Y3Rpb24gaW4gdGhlIHJpbmcgYnVmZmVy IHNvIHRoYXQKPiA+Pj4+d2F0Y2hkb2cgdGltZW91dCBpcyBjb25uZWN0ZWQgdG8gdGhlIHN1Ym1p c3Npb24gb2YgYW4gaW5kaXZpZHVhbCBiYXRjaCBidWZmZXIuCj4gPj4+Pgo+ID4+Pj5jKSBFeHRl bnNpb24gb2YgdGhlIERSTSBiYXRjaCBidWZmZXIgaW50ZXJmYWNlLCBleHBvc2luZyB0aGUgd2F0 Y2hkb2cgdGltZW91dAo+ID4+Pj5mZWF0dXJlIHRvIHVzZXJsYW5kLiBXZSd2ZSBnb3QgdHdvIG9w ZW4gc291cmNlIGdyb3VwcyBpbiBWUEcgY3VycmVudGx5IGluIHRoZQo+ID4+Pj5wcm9jZXNzIG9m IGludGVncmF0aW5nIHN1cHBvcnQgZm9yIHRoaXMgZmVhdHVyZSwgd2hpY2ggc2hvdWxkIG1ha2Ug aXQKPiA+Pj4+cHJpbmNpcGFsbHkgcG9zc2libGUgdG8gdXBzdHJlYW0gdGhpcyBleHRlbnNpb24u Cj4gPj4+Pgo+ID4+Pj5UaGVyZSBpcyBjdXJyZW50bHkgZnVsbCB3YXRjaGRvZyB0aW1lb3V0IHN1 cHBvcnQgZm9yIGdlbjcgaW4gR01JTiBhbmQgaXQgaXMKPiA+Pj4+cXVpdGUgc2ltaWxhciB0byB0 aGUgZ2VuOCBpbXBsZW1lbnRhdGlvbiBzbyB0aGVyZSBpcyBub3RoaW5nIG9idmlvdXMgdGhhdAo+ ID4+Pj5wcmV2ZW50cyB1cyBmcm9tIHVwc3RyZWFtaW5nIHRoYXQgY29kZSBhbG9uZyB3aXRoIHRo ZSBnZW44IGNvZGUuIEhvd2V2ZXIsCj4gPj4+PndhdGNoZG9nIHRpbWVvdXQgaXMgZnVsbHkgZGVw ZW5kZW50IG9uIHRoZSBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkgcGF0aCBhbmQKPiA+Pj4+dGhh dCBpcyBub3QgcGFydCBvZiB0aGlzIGNvZGUgc3VibWlzc2lvbiBmb3IgZ2VuNy4gVGhlcmVmb3Jl IHdhdGNoZG9nIHRpbWVvdXQKPiA+Pj4+c3VwcG9ydCBmb3IgZ2VuNyBoYXMgYmVlbiBleGNsdWRl ZCB1bnRpbCBwZXItZW5naW5lIGhhbmcgcmVjb3Zlcnkgc3VwcG9ydCBmb3IKPiA+Pj4+Z2VuNyBo YXMgbGFuZGVkIHVwc3RyZWFtLgo+ID4+Pj4KPiA+Pj4+QXMgcGFydCBvZiB0aGlzIHN1Ym1pc3Np b24gd2UndmUgaGFkIHRvIHJlaW5zdGF0ZSB0aGUgd29yayBxdWV1ZSB0aGF0IHdhcwo+ID4+Pj5w cmV2aW91c2x5IGluIHBsYWNlIGJldHdlZW4gdGhlIGVycm9yIGhhbmRsZXIgYW5kIHRoZSBoYW5n IHJlY292ZXJ5IHBhdGguIFRoZQo+ID4+Pj5yZWFzb24gZm9yIHRoaXMgaXMgdGhhdCB0aGUgcGVy LWVuZ2luZSByZWNvdmVyeSBwYXRoIGlzIGNhbGxlZCBkaXJlY3RseSBmcm9tCj4gPj4+PnRoZSBp bnRlcnJ1cHQgaGFuZGxlciBpbiB0aGUgY2FzZSBvZiB3YXRjaGRvZyB0aW1lb3V0LiBJbiB0aGF0 IHNpdHVhdGlvbgo+ID4+Pj50aGVyZSdzIG5vIHdheSBvZiBncmFiYmluZyB0aGUgc3RydWN0X211 dGV4LCB3aGljaCBpcyBhIHJlcXVpcmVtZW50IGZvciB0aGUKPiA+Pj4+aGFuZyByZWNvdmVyeSBw YXRoLiBUaGVyZWZvcmUsIGJ5IHJlaW5zdGF0aW5nIHRoZSB3b3JrIHF1ZXVlIHdlIHByb3ZpZGUg YQo+ID4+Pj51bmlmaWVkIGV4ZWN1dGlvbiBjb250ZXh0IGZvciB0aGUgaGFuZyByZWNvdmVyeSBj b2RlIHRoYXQgYWxsb3dzIHRoZSBoYW5nCj4gPj4+PnJlY292ZXJ5IGNvZGUgdG8gZ3JhYiB3aGF0 ZXZlciBsb2NrcyBpdCBuZWVkcyB3aXRob3V0IHNhY3JpZmljaW5nIGludGVycnVwdAo+ID4+Pj5s YXRlbmN5IHRvbyBtdWNoIG9yIHNsZWVwaW5nIGluZGVmaW5pdGVseSBpbiBoYXJkIGludGVycnVw dCBjb250ZXh0Lgo+ID4+Pj4KPiA+Pj4+KiBGZWF0dXJlIDMuIENvbnRleHQgU3VibWlzc2lvbiBT dGF0dXMgQ29uc2lzdGVuY3kgY2hlY2tpbmcKPiA+Pj4+Cj4gPj4+PlNvbWV0aGluZyB0aGF0IGJl Y29tZXMgYXBwYXJlbnQgd2hlbiB5b3UgcnVuIGxvbmctZHVyYXRpb24gb3BlcmF0aW9ucyB0ZXN0 cwo+ID4+Pj53aXRoIGNvbmN1cnJlbnQgcmVuZGVyaW5nIHByb2Nlc3NlcyB3aXRoIGludGVybWl0 dGVudGx5IGluamVjdGVkIGhhbmdzIGlzIHRoYXQKPiA+Pj4+aXQgc2VlbXMgbGlrZSB0aGUgR1BV IGZvcmdldHMgdG8gc2VuZCBjb250ZXh0IGNvbXBsZXRpb24gaW50ZXJydXB0cyB0byB0aGUKPiA+ Pj4+ZHJpdmVyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcy4gV2hhdCB0aGlzIG1lYW5zIGlzIHRo YXQgdGhlIGRyaXZlciBzb21ldGltZXMKPiA+Pj4+Z2V0cyBzdHVjayBvbiBhIGNvbnRleHQgdGhh dCBuZXZlciBzZWVtcyB0byBmaW5pc2gsIGFsbCB0aGUgd2hpbGUgdGhlIGhhcmR3YXJlCj4gPj4+ PmhhcyBjb21wbGV0ZWQgYW5kIGlzIHdhaXRpbmcgZm9yIG1vcmUgd29yay4KPiA+Pj4+Cj4gPj4+ PlRoZSBwcm9ibGVtIHdpdGggdGhpcyBpcyB0aGF0IHRoZSBwZXItZW5naW5lIGhhbmcgcmVjb3Zl cnkgcGF0aCByZWxpZXMgb24KPiA+Pj4+Y29udGV4dCByZXN1Ym1pc3Npb24gdG8ga2ljayBvZmYg dGhlIGhhcmR3YXJlIGFnYWluIGZvbGxvd2luZyBhbiBlbmdpbmUgcmVzZXQuCj4gPj4+PlRoaXMg Y2FuIG9ubHkgYmUgZG9uZSBzYWZlbHkgaWYgdGhlIGhhcmR3YXJlIGFuZCBkcml2ZXIgc2hhcmUg dGhlIHNhbWUgb3Bpbmlvbgo+ID4+Pj5hYm91dCB0aGUgY3VycmVudCBzdGF0ZS4gVGhlcmVmb3Jl IHdlJ3ZlIGV4dGVuZGVkIHRoZSBwZXJpb2RpYyBoYW5nIGNoZWNrZXIgdG8KPiA+Pj4+Y2hlY2sg Zm9yIGNvbnRleHQgc3VibWlzc2lvbiBzdGF0ZSBpbmNvbnNpc3RlbmNpZXMgYXNpZGUgZnJvbSB0 aGUgaGFuZyBjaGVja2luZwo+ID4+Pj5pdCBhbHJlYWR5IGRvZXMuCj4gPj4+Pgo+ID4+Pj5JZiBz dWNoIGEgc3RhdGUgaXMgZGV0ZWN0ZWQgaXQgaXMgYXNzdW1lZCAoYmFzZWQgb24gZXhwZXJpZW5j ZSkgdGhhdCBhIGNvbnRleHQKPiA+Pj4+Y29tcGxldGlvbiBpbnRlcnJ1cHQgaGFzIGJlZW4gbG9z dCBzb21laG93LiBJZiB0aGlzIHN0YXRlIHBlcnNpc3RzIGZvciBzb21lCj4gPj4+PnRpbWUgYW4g YXR0ZW1wdCB0byBjb3JyZWN0IGl0IGlzIG1hZGUgYnkgZmFraW5nIHRoZSBwcmVzdW1hYmx5IGxv c3QgY29udGV4dAo+ID4+Pj5jb21wbGV0aW9uIGludGVycnVwdCBieSBtYW51YWxseSBjYWxsaW5n IHRoZSBleGVjbGlzdCBpbnRlcnJ1cHQgaGFuZGxlciwgd2hpY2gKPiA+Pj4+aXMgbm9ybWFsbHkg Y2FsbGVkIGZyb20gdGhlIG1haW4gaW50ZXJydXB0IGhhbmRsZXIgY3VlZCBieSBhIHJlY2VpdmVk IGNvbnRleHQKPiA+Pj4+ZXZlbnQgaW50ZXJydXB0LiBKdXN0IGJlY2F1c2UgYW4gaW50ZXJydXB0 IGdvZXMgbWlzc2luZyBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlCj4gPj4+PmNvbnRleHQgc3RhdHVz IGJ1ZmZlciAoQ1NCKSBkb2VzIG5vdCBnZXQgYXBwcm9wcmlhdGVseSB1cGRhdGVkIGJ5IHRoZSBo YXJkd2FyZSwKPiA+Pj4+d2hpY2ggbWVhbnMgdGhhdCB3ZSBjYW4gZXhwZWN0IHRvIGZpbmQgYWxs IHRoZSByZWNlbnQgY2hhbmdlcyB0byB0aGUgY29udGV4dAo+ID4+Pj5zdGF0ZXMgZm9yIGVhY2gg ZW5naW5lIGNhcHR1cmVkIHRoZXJlLiBJZiB0aGVyZSBhcmUgb3V0c3RhbmRpbmcgY29udGV4dCBz dGF0dXMKPiA+Pj4+Y2hhbmdlcyBpbiBzdG9yZSB0aGVyZSB0aGVuIHRoZSBmYWtlZCBjb250ZXh0 IGV2ZW50IGludGVycnVwdCB3aWxsIGFsbG93IHRoZQo+ID4+Pj5pbnRlcnJ1cHQgaGFuZGxlciB0 byBhY3Qgb24gdGhlbS4gSW4gdGhlIGNhc2Ugb2YgbG9zdCBjb250ZXh0IGNvbXBsZXRpb24KPiA+ Pj4+aW50ZXJydXB0cyB0aGlzIHdpbGwgcHJvbXB0IHRoZSBkcml2ZXIgdG8gcmVtb3ZlIHRoZSBh bHJlYWR5IGNvbXBsZXRlZCBjb250ZXh0Cj4gPj4+PmZyb20gdGhlIGV4ZWNsaXN0IHF1ZXVlIGFu ZCBtb3ZlIG9uIHRvIHRoZSBuZXh0IHBlbmRpbmcgcGllY2Ugb2Ygd29yayBhbmQKPiA+Pj4+dGhl cmVieSBlbGltaW5hdGluZyB0aGUgaW5jb25zaXN0ZW5jeS4KPiA+Pj4+Cj4gPj4+PiogRmVhdHVy ZSA0LiBEZWJ1Z2ZzIGV4dGVuc2lvbnMgZm9yIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBhbmQg VERSL3dhdGNoZG9nIHRyYWNlCj4gPj4+PnBvaW50cy4KPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj5Ub21h cyBFbGYgKDExKToKPiA+Pj4+ICAgZHJtL2k5MTU6IEVhcmx5IGV4aXQgZnJvbSBzZW1hcGhvcmVf d2FpdHNfZm9yIGZvciBleGVjbGlzdCBtb2RlLgo+ID4+Pj4gICBkcm0vaTkxNTogSW50cm9kdWNl IHVldmVudCBmb3IgZnVsbCBHUFUgcmVzZXQuCj4gPj4+PiAgIGRybS9pOTE1OiBBZGQgcmVzZXQg c3RhdHMgZW50cnkgcG9pbnQgZm9yIHBlci1lbmdpbmUgcmVzZXQuCj4gPj4+PiAgIGRybS9pOTE1 OiBBZGRpbmcgVERSIC8gcGVyLWVuZ2luZSByZXNldCBzdXBwb3J0IGZvciBnZW44Lgo+ID4+Pj4g ICBkcm0vaTkxNTogRXh0ZW5kaW5nIGk5MTVfZ2VtX2NoZWNrX3dlZGdlIHRvIGNoZWNrIGVuZ2lu ZSByZXNldCBpbgo+ID4+Pj4gICAgIHByb2dyZXNzCj4gPj4+PiAgIGRybS9pOTE1OiBEaXNhYmxl IHdhcm5pbmdzIGZvciBURFIgaW50ZXJydXB0aW9ucyBpbiB0aGUgZGlzcGxheQo+ID4+Pj4gICAg IGRyaXZlci4KPiA+Pj4+ICAgZHJtL2k5MTU6IFJlaW5zdGF0ZSBoYW5nIHJlY292ZXJ5IHdvcmsg cXVldWUuCj4gPj4+PiAgIGRybS9pOTE1OiBXYXRjaGRvZyB0aW1lb3V0IHN1cHBvcnQgZm9yIGdl bjguCj4gPj4+PiAgIGRybS9pOTE1OiBGYWtlIGxvc3QgY29udGV4dCBpbnRlcnJ1cHRzIHRocm91 Z2ggZm9yY2VkIENTQiBjaGVjay4KPiA+Pj4+ICAgZHJtL2k5MTU6IERlYnVnZnMgaW50ZXJmYWNl IGZvciBwZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkuCj4gPj4+PiAgIGRybS9pOTE1OiBURFIvd2F0 Y2hkb2cgdHJhY2UgcG9pbnRzLgo+ID4+Pj4KPiA+Pj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyAgICAgfCAgMTQ2ICsrKysrLQo+ID4+Pj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZG1hLmMgICAgICAgICB8ICAgNzkgKysrCj4gPj4+PiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuYyAgICAgICAgIHwgIDIwMSArKysrKysrKwo+ID4+Pj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAgOTEgKysrLQo+ID4+Pj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8ICAgOTMgKysrLQo+ID4+Pj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICB8ICAgIDIgKy0KPiA+Pj4+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgfCAgMzc4ICsrKysrKysrKysr Ky0tCj4gPj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyAgICAgIHwgICAx MCArCj4gPj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgIHwgICAx MyArCj4gPj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oICAgICAgIHwgIDI5 OCArKysrKysrKysrKwo+ID4+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyAgICB8ICAgMTYgKy0KPiA+Pj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAg ICAgICAgfCAgODU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiA+Pj4+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCAgICAgICAgfCAgIDE2ICstCj4gPj4+PiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjX3Rkci5oICAgIHwgICA0MCArKwo+ID4+Pj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8ICAgODcgKysrLQo+ID4+Pj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICAxMDkgKysrKwo+ID4+ Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jICAgICB8ICAyNDEgKysrKysr KystCj4gPj4+PiAgaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oICAgICAgICAgICAgIHwgICAg NSArLQo+ID4+Pj4gIDE4IGZpbGVzIGNoYW5nZWQsIDI1ODkgaW5zZXJ0aW9ucygrKSwgOTQgZGVs ZXRpb25zKC0pCj4gPj4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyY190ZHIuaAo+ID4+Pj4KPiA+Pj4+LS0KPiA+Pj4+MS43LjkuNQo+ID4+Pj4KPiA+ Pj4+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+Pj4+ SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4+Pj5JbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4gPj4+Pmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngKPiA+Pj4KPiA+Pgo+ID4KPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVu Z2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=