From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC] drm/amdgpu: Add macros and documentation for format modifiers. Date: Tue, 4 Sep 2018 23:39:37 +0200 Message-ID: <20180904213937.GT21634@phenom.ffwll.local> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Bas Nieuwenhuizen Cc: Nicolai =?iso-8859-1?Q?H=E4hnle?= , Marek =?utf-8?B?T2zFocOhaw==?= , ML dri-devel , christian.koenig-5C7GfCeVMHo@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, daniel-/w4YWyX8dFk@public.gmane.org, Alex Deucher , Dave Airlie , Chad Versace List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBTZXAgMDQsIDIwMTggYXQgMDk6MzY6MDFQTSArMDIwMCwgQmFzIE5pZXV3ZW5odWl6 ZW4gd3JvdGU6Cj4gT24gVHVlLCBTZXAgNCwgMjAxOCBhdCA5OjI4IFBNIERhbmllbCBWZXR0ZXIg PGRhbmllbEBmZndsbC5jaD4gd3JvdGU6Cj4gPgo+ID4gT24gVHVlLCBTZXAgNCwgMjAxOCBhdCA4 OjMxIFBNLCBCYXMgTmlldXdlbmh1aXplbgo+ID4gPGJhc0BiYXNuaWV1d2VuaHVpemVuLm5sPiB3 cm90ZToKPiA+ID4gT24gVHVlLCBTZXAgNCwgMjAxOCBhdCA4OjI3IFBNIERhbmllbCBWZXR0ZXIg PGRhbmllbEBmZndsbC5jaD4gd3JvdGU6Cj4gPiA+Pgo+ID4gPj4gT24gVHVlLCBTZXAgNCwgMjAx OCBhdCA3OjU3IFBNLCBCYXMgTmlldXdlbmh1aXplbgo+ID4gPj4gPGJhc0BiYXNuaWV1d2VuaHVp emVuLm5sPiB3cm90ZToKPiA+ID4+ID4gT24gVHVlLCBTZXAgNCwgMjAxOCBhdCA3OjQ4IFBNIENo cmlzdGlhbiBLw7ZuaWcKPiA+ID4+ID4gPGNrb2VuaWcubGVpY2h0enVtZXJrZW5AZ21haWwuY29t PiB3cm90ZToKPiA+ID4+ID4+Cj4gPiA+PiA+PiBBbSAwNC4wOS4yMDE4IHVtIDE4OjM3IHNjaHJp ZWIgRGFuaWVsIFZldHRlcjoKPiA+ID4+ID4+ID4gT24gVHVlLCBTZXAgNCwgMjAxOCBhdCA1OjUy IFBNLCBCYXMgTmlldXdlbmh1aXplbgo+ID4gPj4gPj4gPiA8YmFzQGJhc25pZXV3ZW5odWl6ZW4u bmw+IHdyb3RlOgo+ID4gPj4gPj4gPj4gT24gVHVlLCBTZXAgNCwgMjAxOCBhdCA0OjQzIFBNIERh bmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4gd3JvdGU6Cj4gPiA+PiA+PiA+Pj4gT24gVHVl LCBTZXAgNCwgMjAxOCBhdCAzOjMzIFBNLCBCYXMgTmlldXdlbmh1aXplbgo+ID4gPj4gPj4gPj4+ IDxiYXNAYmFzbmlldXdlbmh1aXplbi5ubD4gd3JvdGU6Cj4gPiA+PiA+PiA+Pj4+IE9uIFR1ZSwg U2VwIDQsIDIwMTggYXQgMzowNCBQTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IHdy b3RlOgo+ID4gPj4gPj4gPj4+Pj4gT24gVHVlLCBTZXAgMDQsIDIwMTggYXQgMDI6MzM6MDJQTSAr MDIwMCwgQmFzIE5pZXV3ZW5odWl6ZW4gd3JvdGU6Cj4gPiA+PiA+PiA+Pj4+Pj4gT24gVHVlLCBT ZXAgNCwgMjAxOCBhdCAyOjI2IFBNIERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4gd3Jv dGU6Cj4gPiA+PiA+PiA+Pj4+Pj4+IE9uIFR1ZSwgU2VwIDA0LCAyMDE4IGF0IDEyOjQ0OjE5UE0g KzAyMDAsIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4gPiA+PiA+PiA+Pj4+Pj4+PiBBbSAwNC4w OS4yMDE4IHVtIDEyOjE1IHNjaHJpZWIgRGFuaWVsIFN0b25lOgo+ID4gPj4gPj4gPj4+Pj4+Pj4+ IEhpLAo+ID4gPj4gPj4gPj4+Pj4+Pj4+Cj4gPiA+PiA+PiA+Pj4+Pj4+Pj4gT24gVHVlLCA0IFNl cCAyMDE4IGF0IDExOjA1LCBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPiB3 cm90ZToKPiA+ID4+ID4+ID4+Pj4+Pj4+Pj4gT24gVHVlLCBTZXAgNCwgMjAxOCBhdCAzOjAwIEFN LCBCYXMgTmlldXdlbmh1aXplbiA8YmFzQGJhc25pZXV3ZW5odWl6ZW4ubmw+IHdyb3RlOgo+ID4g Pj4gPj4gPj4+Pj4+Pj4+Pj4gKy8qIFRoZSBjaGlwIHRoaXMgaXMgY29tcGF0aWJsZSB3aXRoLgo+ ID4gPj4gPj4gPj4+Pj4+Pj4+Pj4gKyAqCj4gPiA+PiA+PiA+Pj4+Pj4+Pj4+PiArICogSWYgY29t cHJlc3Npb24gaXMgZGlzYWJsZWQsIHVzZQo+ID4gPj4gPj4gPj4+Pj4+Pj4+Pj4gKyAqICAgLSBB TURHUFVfQ0hJUF9UQUhJVEkgZm9yIEdGWDYtR0ZYOAo+ID4gPj4gPj4gPj4+Pj4+Pj4+Pj4gKyAq ICAgLSBBTURHUFVfQ0hJUF9WRUdBMTAgZm9yIEdGWDkrCj4gPiA+PiA+PiA+Pj4+Pj4+Pj4+PiAr ICoKPiA+ID4+ID4+ID4+Pj4+Pj4+Pj4+ICsgKiBXaXRoIGNvbXByZXNzaW9uIGVuYWJsZWQgcGxl YXNlIHVzZSB0aGUgZXhhY3QgY2hpcC4KPiA+ID4+ID4+ID4+Pj4+Pj4+Pj4+ICsgKgo+ID4gPj4g Pj4gPj4+Pj4+Pj4+Pj4gKyAqIFRPRE86IERvIHNvbWUgZ2VuZXJhdGlvbnMgc2hhcmUgRENDIGZv cm1hdD8KPiA+ID4+ID4+ID4+Pj4+Pj4+Pj4+ICsgKi8KPiA+ID4+ID4+ID4+Pj4+Pj4+Pj4+ICsj ZGVmaW5lIEFNREdQVV9NT0RJRklFUl9DSElQX0dFTl9TSElGVCAgICAgICAgICAgICAgICAgNDAK PiA+ID4+ID4+ID4+Pj4+Pj4+Pj4+ICsjZGVmaW5lIEFNREdQVV9NT0RJRklFUl9DSElQX0dFTl9N QVNLICAgICAgICAgICAgICAgICAgMHhmZgo+ID4gPj4gPj4gPj4+Pj4+Pj4+PiBEbyB5b3UgcmVh bGx5IG5lZWQgYWxsIHRoZSBjb21iaW5hdGlvbnMgaGVyZSBvZiBEQ0MgKyBncHUgZ2VuICsgdGls aW5nCj4gPiA+PiA+PiA+Pj4+Pj4+Pj4+IGRldGFpbHM/IFdoZW4gd2UgaGFkIHRoZSBlbnRpcmUg ZGlzY3Vzc2lvbiB3aXRoIG52aWRpYSBmb2xrcyB0aGV5Cj4gPiA+PiA+PiA+Pj4+Pj4+Pj4+IGV2 ZW50dWFsbHkgYWdyZWVkIHRoYXQgdGhleSBkb24ndCBuZWVkIHRoZSBtYXNzaXZlIHBpbGUgd2l0 aCBldmVyeQo+ID4gPj4gPj4gPj4+Pj4+Pj4+PiBwb3NzaWJsZSBjb21iaW5hdGlvbi4gRG8geW91 IHJlYWxseSBwbGFuIHRvIHNoYXJlIGFsbCB0aGVzZSBkaWZmZXJlbnQKPiA+ID4+ID4+ID4+Pj4+ Pj4+Pj4gdGhpbmdzPwo+ID4gPj4gPj4gPj4+Pj4+Pj4+Pgo+ID4gPj4gPj4gPj4+Pj4+Pj4+PiBO b3RlIHRoYXQgZS5nLiBvbiBpOTE1IHdlIHNwZWMgc29tZSBvZiB0aGUgdGlsaW5nIGRlcGVuZGlu ZyB1cG9uCj4gPiA+PiA+PiA+Pj4+Pj4+Pj4+IGJ1ZmZlciBzaXplIGFuZCBidWZmZXIgZm9ybWF0 IChiZWNhdXNlIHRoYXQncyBob3cgdGhlIGh3IHdvcmtzKSwgbm90Cj4gPiA+PiA+PiA+Pj4+Pj4+ Pj4+IHVzaW5nIGV4cGxpY2l0IG1vZGlmaWVyIGZsYWdzIGZvciBldmVyeXRoaW5nLgo+ID4gPj4g Pj4gPj4+Pj4+Pj4+IFJpZ2h0LiBUaGUgY29uY2x1c2lvbiwgYWZ0ZXIgcGVvcGxlIHdlbnQgdGhy b3VnaCBhbmQgc3RhcnRlZCBzb3J0aW5nCj4gPiA+PiA+PiA+Pj4+Pj4+Pj4gb3V0IHRoZSBraW5k cyBvZiBmb3JtYXRzIGZvciB3aGljaCB0aGV5IHdvdWxkIF9hY3R1YWxseV8gZXhwb3J0IHJlYWwK PiA+ID4+ID4+ID4+Pj4+Pj4+PiBjb2xvdXIgYnVmZmVycyBmb3IsIHRoYXQgbW9zdCB2ZW5kb3Jz IGRlZmluaXRlbHkgaGF2ZSBmZXdlciB0aGFuCj4gPiA+PiA+PiA+Pj4+Pj4+Pj4gMTE1LDc5Miww ODksMjM3LDMxNiwxOTUsNDIzLDU3MCw5ODUsMDA4LDY4Nyw5MDcsODUzLDI2OSw5ODQsNjY1LDY0 MCw1NjQsMDM5LDQ1Nyw1ODQsMDA3LDkxMywxMjksNjM5LDkzNgo+ID4gPj4gPj4gPj4+Pj4+Pj4+ IHBvc3NpYmxlIGZvcm1hdHMgdG8gcmVwcmVzZW50LCB2ZXJ5IGxpa2VseSBmZXdlciB0aGFuCj4g PiA+PiA+PiA+Pj4+Pj4+Pj4gMzQwLDI4MiwzNjYsOTIwLDkzOCw0NjMsNDYzLDM3NCw2MDcsNDMx LDc2OCwyMTEsNDU2IGZvcm1hdHMsIHByb2JhYmx5Cj4gPiA+PiA+PiA+Pj4+Pj4+Pj4gZmV3ZXIg dGhhbiA3MiwwNTcsNTk0LDAzNyw5MjcsOTM2IGZvcm1hdHMsIGFuZCBldmVuIHN0aWxsIGdlbmVy YWxseQo+ID4gPj4gPj4gPj4+Pj4+Pj4+IGZld2VyIHRoYW4gMjgxLDQ3NCw5NzYsNzEwLDY1NiBp ZiB5b3Ugd2FudCB0byBiZSBnZW5lcm91cyBhbmQgbGVhdmUgOAo+ID4gPj4gPj4gPj4+Pj4+Pj4+ IGJpdHMgb2YgdGhlIDU2IGF2YWlsYWJsZS4KPiA+ID4+ID4+ID4+Pj4+Pj4+IFRoZSBwcm9ibGVt IGhlcmUgaXMgdGhhdCBhdCBsZWFzdCBmb3Igc29tZSBwYXJhbWV0ZXJzIHdlIGFjdHVhbGx5IGRv bid0IGtub3cKPiA+ID4+ID4+ID4+Pj4+Pj4+IHdoaWNoIGZvcm1hdHMgYXJlIGFjdHVhbGx5IHVz ZWQuCj4gPiA+PiA+PiA+Pj4+Pj4+Pgo+ID4gPj4gPj4gPj4+Pj4+Pj4gVGhlIGZvbGxvd2luZyBh cmUgbm90IHJlYWwgd29ybGQgZXhhbXBsZXMsIGJ1dCBqdXN0IHRvIGV4cGxhaW4gdGhlIGdlbmVy YWwKPiA+ID4+ID4+ID4+Pj4+Pj4+IHByb2JsZW0uCj4gPiA+PiA+PiA+Pj4+Pj4+Pgo+ID4gPj4g Pj4gPj4+Pj4+Pj4gVGhlIG1lbW9yeSBjb25maWd1cmF0aW9uIGZvciBleGFtcGxlIGNhbiBiZSBu b3QgQVNJQyBzcGVjaWZpYywgYnV0IHJhdGhlcgo+ID4gPj4gPj4gPj4+Pj4+Pj4gZGV0ZXJtaW5l ZCBieSB3aG9ldmVyIHRvb2sgdGhlIEFTSUMgYW5kIGdsdWVkIGl0IHRvZ2V0aGVyIHdpdGggVlJB TSBvbiBhCj4gPiA+PiA+PiA+Pj4+Pj4+PiBib2FyZC4gSXQgaXMgbm90IGxpa2VseSB0aGF0IHNv bWVib2R5IHB1dHMgYWxsIHRoZSBWUkFNIGNoaXBzIG9uIG9uZQo+ID4gPj4gPj4gPj4+Pj4+Pj4g Y2hhbm5lbCwgYnV0IGl0IGlzIHN0aWxsIHBlcmZlY3RseSBwb3NzaWJsZS4KPiA+ID4+ID4+ID4+ Pj4+Pj4+Cj4gPiA+PiA+PiA+Pj4+Pj4+PiBTYW1lIGlzIHRydWUgZm9yIHRoaW5ncyBsaWtlIGhh cnZlc3RpbmcsIGUuZy4gb2YgMTYgY2hhbm5lbHMgaGFsdmUgb2YgdGhlbQo+ID4gPj4gPj4gPj4+ Pj4+Pj4gY291bGQgYmUgYmFkIGFuZCB3ZSBuZWVkIHRvIGtub3cgd2hpY2ggdG8gYWN0dWFsbHkg dXNlLgo+ID4gPj4gPj4gPj4+Pj4+PiBGb3IgbXkgdW5kZXJzdGFuZGluZzogVGhpcyBsZWFrcyBv dXRzaWRlIHRoZSBjaGlwIHdoZW4gc2hhcmluZyBidWZmZXJzPwo+ID4gPj4gPj4gPj4+Pj4+PiBB bGwgdGhlIGluZm9ybWF0aW9uIHlvdSBvbmx5IG5lZWQgbG9jYWxseSB0byBhIGdpdmVuIGFtZGdw dSBpbnN0YW5jZQo+ID4gPj4gPj4gPj4+Pj4+PiBkb24ndCByZWFsbHkgbmVlZCB0byBiZSBlbmNv ZGVkIGluIG1vZGlmaWVycy4KPiA+ID4+ID4+ID4+Pj4+Pj4KPiA+ID4+ID4+ID4+Pj4+Pj4gUG9p bnRlcnMgdG8gY29kZSB3aGVyZSB0aGlzIGlzIGFsbCBkZWNpZGVkIChrZXJuZWwgYW5kIHJhZGVv bnNpIHdvdWxkIGJlCj4gPiA+PiA+PiA+Pj4+Pj4+IGdvb2Qgc3RhcnRlcnMgSSBndWVzcykgd291 bGQgYmUgcmVhbGx5IGdvb2QgaGVyZS4KPiA+ID4+ID4+ID4+Pj4+PiBJIGV4dHJhY3RlZCB0aGUg aW5mb3JtYXRpb24gb24gd2hpY2ggYml0cyBhcmUgcmVsZXZhbnQgbW9zdGx5IGZyb20gdGhlCj4g PiA+PiA+PiA+Pj4+Pj4gQWRkckZyb21Db29yZCBmdW5jdGlvbnMgaW4gYWRkcmxpYiBpbiBtZXNh Ogo+ID4gPj4gPj4gPj4+Pj4+Cj4gPiA+PiA+PiA+Pj4+Pj4gZm9yIG1hY3JvLXRpbGVzOgo+ID4g Pj4gPj4gPj4+Pj4+IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9tZXNhL21lc2EvYmxv Yi9tYXN0ZXIvc3JjL2FtZC9hZGRybGliL3I4MDAvZWdiYWRkcmxpYi5jcHAjTDE1ODcKPiA+ID4+ ID4+ID4+Pj4+Pgo+ID4gPj4gPj4gPj4+Pj4+IGZvciBtaWNyby10aWxlcyAob3IgdGhlIG1pY3Jv LXRpbGVzIGluIG1hY3JvLXRpbGVzKToKPiA+ID4+ID4+ID4+Pj4+Pgo+ID4gPj4gPj4gPj4+Pj4+ IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9tZXNhL21lc2EvYmxvYi9tYXN0ZXIvc3Jj L2FtZC9hZGRybGliL2NvcmUvYWRkcmxpYjEuY3BwI0wzMDE2Cj4gPiA+PiA+PiA+Pj4+PiBTbyB0 aGlzIGlzIHRoZSBkZWNvZGluZyB0aGluZy4gSG93IG1hbnkgb2YgdGhlc2UgYWN0dWFsbHkgZXhp c3QsIGV2ZW4gd2hlbgo+ID4gPj4gPj4gPj4+Pj4gdGFraW5nIGFsbCB0aGUgb3RoZXIgaW5mb3Jt YXRpb24gaW50byBhY2NvdW50Pwo+ID4gPj4gPj4gPj4+Pj4KPiA+ID4+ID4+ID4+Pj4+IEUuZy4g Z2l2ZW4gYSBwbGF0Zm9ybSArIG1lbW9yeSBjb25maWcgKHNlZW1zIG5lZWRlZCkgKyBkcm1fZm91 cmNjICsgc3RyaWRlCj4gPiA+PiA+PiA+Pj4+PiArIGhlaWdodCArIHdpZHRoLCBob3cgbXVjaCBv ZiBhbGwgdGhlc2UgYml0cyBkbyB5b3UgYWN0dWFsbHkgc3RpbGwgZnJlZWx5Cj4gPiA+PiA+PiA+ Pj4+PiBwaWNrPwo+ID4gPj4gPj4gPj4+PiBCYXNpY2FsbHkgeW91IHBpY2sgQVJSQVlfTU9ERSAo bGluZWFyLCBtaWNyby10aWxlLCBtYWNyby10aWxlLCBzcGFyc2UsCj4gPiA+PiA+PiA+Pj4+IHRo aWNrIHZhcmlhbnRzIG9mIG1hY3JvLXRpbGUpLCBNSUNST19USUxFX01PREUoZGlzcGxheSwgbm9u LWRpc3BsYXksCj4gPiA+PiA+PiA+Pj4+IGRlcHRoLCBkaXNwbGF5LXJvdGF0ZWQpICsgd2hldGhl ciB0byB1c2UgY29tcHJlc3Npb24sIGV2ZXJ5dGhpbmcgZWxzZQo+ID4gPj4gPj4gPj4+PiBpcyBm aXhlZCBnaXZlbiB0aG9zZSBvcHRpb24sIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlwIGFuZCB0 aGUKPiA+ID4+ID4+ID4+Pj4gZm9ybWF0Lgo+ID4gPj4gPj4gPj4+Pgo+ID4gPj4gPj4gPj4+Pgo+ ID4gPj4gPj4gPj4+Pj4gSXQgbWlnaHQgYmUgdGhhdCBhbGwgdGhlIHRoaW5ncyB5b3UgbmVlZCB0 byBrbm93IGZyb20gdGhlIG1lbW9yeSBjb25maWcKPiA+ID4+ID4+ID4+Pj4+IGRvbid0IGVuY29k ZSBzbWFsbGVyIHRoYW4gdGhlIG1hY3JvL21pY3JvL3doYXRldmVyIGVsc2Ugc3R1ZmYuIEJ1dCB0 aGF0J3MKPiA+ID4+ID4+ID4+Pj4+IGtpbmRhIHRoZSBhbmdsZSB0aGF0IHdlIGxvb2tlZCBhdCB0 aGlzIGZvciBldmVyeW9uZSBlbHNlLgo+ID4gPj4gPj4gPj4+Pj4KPiA+ID4+ID4+ID4+Pj4+IEUu Zy4gZm9yIG11bHRpLXBsYW5lIHN0dWZmLCBpZiBldmVyeW9uZSBwaWNrcyB0aGUgc2FtZSBjb25m aWcgZm9yIHRoZQo+ID4gPj4gPj4gPj4+Pj4gMm5kLzNyZCBwbGFuZSwgdGhlbiB5b3UgZG9uJ3Qg YWN0dWFsbHkgbmVlZCB0byBlbmNvZGUgdGhhdC4gSXQganVzdAo+ID4gPj4gPj4gPj4+Pj4gYmVj b21lcyBwYXJ0IG9mIHRoZSBpbXBsaWVkIHN0dWZmIGluIHRoZSBtb2RpZmllci4KPiA+ID4+ID4+ ID4+Pj4gVGhlIHByb2JsZW0gaXMgc29tZSBHUFVzIGFyZSBjb21wYXRpYmxlIGZvciBzYXkgOC1i cHAgaW1hZ2VzLCBidXQgbm90Cj4gPiA+PiA+PiA+Pj4+IGZvciAzMi1icHAgc3VyZmFjZXMuIGUu Zy4gbGV0cyBsb29rIGF0IHRoZSBmb2xsb3dpbmcgdGFibGUgc2hvd2luZyB0aGUKPiA+ID4+ID4+ ID4+Pj4gY3VycmVudCBjb25maWd1cmF0aW9uIGZvciBhbGwgR0ZYNi1HRlg4IEdQVToKPiA+ID4+ ID4+ID4+Pj4KPiA+ID4+ID4+ID4+Pj4gZm9ybWF0OiAoYmFuayB3aWR0aCwgYmFuayBoZWlnaHQs IG1hY3JvIHRpbGUgYXNwZWN0LCBudW0gYmFua3MpIGZvcgo+ID4gPj4gPj4gPj4+PiA4LWJwcCwg MTYtYnBwIGFuZCAzMiBicHAgc2luZ2xlLXNhbXBsZSBmb2xsb3dlZCBieSB0aGUgUElQRV9DT05G SUcKPiA+ID4+ID4+ID4+Pj4KPiA+ID4+ID4+ID4+Pj4gdmVyZGU6ICgxLCA0LCAyLCAxNikgKDEs IDIsIDIsIDE2KSAoMSwgMSwgMiwgMTYpIEFERFJfU1VSRl9QNF84eDE2Cj4gPiA+PiA+PiA+Pj4+ IG9sYW5kOiAoMSwgNCwgMiwgMTYpICgxLCAyLCAyLCAxNikgKDEsIDEsIDIsIDE2KSBBRERSX1NV UkZfUDRfOHgxNgo+ID4gPj4gPj4gPj4+PiBoYWluYW46ICgxLCA0LCAyLCAxNikgKDEsIDIsIDIs IDE2KSAoMSwgMSwgMiwgMTYpIEFERFJfU1VSRl9QMgo+ID4gPj4gPj4gPj4+PiB0YWhpdGkvcGl0 Y2Fpcm46ICgxLCA0LCAxLCAxNikgKDEsIDIsIDEsIDE2KSAoMSwgMSwgMSwgMTYpCj4gPiA+PiA+ PiA+Pj4+IEFERFJfU1VSRl9QOF8zMngzMl84eDE2Cj4gPiA+PiA+PiA+Pj4+IGJvbmFpcmU6ICgx LDQsNCwxNikgKDEsIDIsIDQsIDE2KSAoMSwgMSwgMiwgMTYpIEFERFJfU1VSRl9QNF8xNngxNgo+ ID4gPj4gPj4gPj4+PiBoYXdhaWk6ICgxLCA0LCAyLCAxNikgKDEsIDIsIDIsIDE2KSAoMSwgMSwg MSwgMTYpIEFERFJfU1VSRl9QMTZfMzJ4MzJfMTZ4MTYKPiA+ID4+ID4+ID4+Pj4gQ0lLIEFQVXM6 ICgxLDQsNCwgOCksICgxLDIsNCw4KSwgICgxLCAyLCAyLCA4KSBBRERSX1NVUkZfUDIKPiA+ID4+ ID4+ID4+Pj4gdG9wYXo6ICg0LCA0LCAyLCA4KSAoNCwgNCwgMiwgOCkgKDIsIDQsIDIsIDgpIEFE RFJfU1VSRl9QMgo+ID4gPj4gPj4gPj4+PiBmaWppOiAoMSwgNCwgMiwgOCkgKDEsIDQsIDIsIDgp ICgxLCA0LCAyLCA4KSBBRERSX1NVUkZfUDE2XzMyeDMyXzE2eDE2Cj4gPiA+PiA+PiA+Pj4+IHRv bmdhOjogKDEsIDQsIDQsIDE2KSwgKDEsIDQsIDQsIDE2KSAoMSwgNCwgNCwgMTYpIEFERFJfU1VS Rl9QOF8zMngzMl8xNngxNgo+ID4gPj4gPj4gPj4+PiBwb2xhcmlzMTEvMTI6ICgxLCA0LCA0LCAx NiksICgxLCA0LCA0LCAxNikgKDEsIDQsIDQsIDE2KSBBRERSX1NVUkZfUDRfMTZ4MTYKPiA+ID4+ ID4+ID4+Pj4gcG9sYXJpczEwOiAoMSwgNCwgNCwgMTYpLCAoMSwgNCwgNCwgMTYpICgxLCA0LCA0 LCAxNikgQUREUl9TVVJGX1A4XzMyeDMyXzE2eDE2Cj4gPiA+PiA+PiA+Pj4+IHN0b25leSxjYXJy aXpvOiAoMSwgNCwgNCwgOCkgKDEsIDIsIDQsIDgpLCAoMSwgMSwgMiwgOCkgQUREUl9TVVJGX1Ay Cj4gPiA+PiA+PiA+Pj4+Cj4gPiA+PiA+PiA+Pj4+IFdlIHNlZSBoZXJlIHRoYXQgZS5nLiBTdG9u ZXkgYW5kIHRoZSBDSUsgQVBVcyBhcmUgY29tcGF0aWJsZSBmb3IgOC1icHAKPiA+ID4+ID4+ID4+ Pj4gYW5kIDE2LWJwcCwgYnV0IG5vdCAzMi1icHAuIG9yIGJvbmFpcmUgYW5kIHBvbGFyaXMxMS8x MiBhcmUgb25seQo+ID4gPj4gPj4gPj4+PiBjb21wYXRpYmxlIGZvciA4LWJwcC4KPiA+ID4+ID4+ ID4+Pj4KPiA+ID4+ID4+ID4+Pj4gU28gd2UgY2FuJ3QganVzdCBhc3N1bWUgdGhhdCBpZiB0aGUg Zmlyc3QgcGxhbmUgcHJvcGVydGllcyBtYXRjaCB0aGF0Cj4gPiA+PiA+PiA+Pj4+IHRoZXkgZG8g c28gZm9yIHRoZSBzZWNvbmQgcGxhbmUsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGF0IEdQVSBp dCBpcwo+ID4gPj4gPj4gPj4+PiBjb21pbmcgZnJvbS4KPiA+ID4+ID4+ID4+Pj4KPiA+ID4+ID4+ ID4+Pj4gQW5kIHdlIGNhbiBtYWtlIGEgY2Fub25pY2FsIHRhYmxlIGZyb20gdGhpcyBidXQgdGhl biBpZiB3ZSBjaGFuZ2UgdGhlCj4gPiA+PiA+PiA+Pj4+IGFib3ZlIHRhYmxlcyBpbiB0aGUga2Vy bmVsIHRoYXQgcnVucyBpbnRvIGNvbXBhdGliaWxpdHkgaXNzdWVzLgo+ID4gPj4gPj4gPj4+Cj4g PiA+PiA+PiA+Pj4gSSB0aGluayB0aGF0J3Mgcm91Z2hseSB3aGF0IG52aWRpYSBlbmRlZCB1cCBk b2luZyAobm90IHN1cmUgdGhleQo+ID4gPj4gPj4gPj4+IHB1Ymxpc2hlZCBhbnl0aGluZywgaGF2 ZW4ndCBzZWVuIGFueSBwYXRjaGVzIG9uIGRyaS1kZXZlbCkuIFR3byBwYXJ0czoKPiA+ID4+ID4+ ID4+PiAtIEJ1bmNoIG9mIGZsYWdzL2JpdHMgZm9yIHRoZSBtYWpvciBtb2RlLCBsaWtlIHtkaXNw bGF5LCBub24tZGlzcGxheSwKPiA+ID4+ID4+ID4+PiBEQ0N9IGFuZCBzbyBvbi4KPiA+ID4+ID4+ ID4+PiAtIEZvciBlYWNoIG9mIHRoZSBtYWpvciBtb2RlcyBhIGxpc3Qgb2YgZW51bWVyYXRlZCBt b2RlcyBhY3R1YWxseSB1c2VkCj4gPiA+PiA+PiA+Pj4gaW4gcmVhbGl0eS4gRm9yIERDQyB0aGlz IHdvdWxkIGJlIHRoZSBnZW5lcmF0aW9uLCBmb3IgbW9yZSBwbGFpbgo+ID4gPj4gPj4gPj4+IGZv cm1hdHMgaXQgd291bGQgYmUgdGhlIGFib3ZlIHRhYmxlLiBUYWJsZSBlbnRyaWVzIHdvdWxkIGJl IHBlci1icHAKPiA+ID4+ID4+ID4+PiAoaW4gY2FzZSB0aGF0IG1hdHRlcnMsIG9yIHdoYXRldmVy IG1hdHRlcnMgZm9yIGFtZCBncHVzKS4KPiA+ID4+ID4+ID4+Pgo+ID4gPj4gPj4gPj4+IEltbyB3 b3VsZCBiZSB0b3RhbGx5IG9rIHRvIHB1dCB0aGUgcmVsZXZhbnQgbG9va3VwIHRhYmxlcyBpbnRv Cj4gPiA+PiA+PiA+Pj4gZHJtX2ZvdXJjYy5oIGRpcmVjdGx5LiBPciBhbnkgb3RoZXIgc3VpdGFi bGUgcGxhY2UuCj4gPiA+PiA+PiA+PiBSaWdodCwgdGhlIGlzc3VlIHdvdWxkIGJlIHRoYXQgdGhl IHRhYmxlcyBhcmUgY29uZmlndXJlZCBpbnQgaGUga2VybmVsCj4gPiA+PiA+PiA+Pgo+ID4gPj4g Pj4gPj4gaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9+YWdkNWYvbGludXgvdHJlZS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjZfMC5jP2g9YW1kLXN0YWdpbmctZHJtLW5leHQj bjQxNwo+ID4gPj4gPj4gPj4KPiA+ID4+ID4+ID4+IGFuZCBoYXZpbmcgYSBzaGFyZWQgaGFyZGNv ZGVkIHRhYmxlIG1lYW5zIHRoYXQgaWYgdGhlIGtlcm5lbCB0YWJsZXMKPiA+ID4+ID4+ID4+IGNo YW5nZSB3ZSBicmVhayB1c2Vyc3BhY2UuIFRoYXQgd291bGQgYmUgYSBuZXcgY29tbWl0bWVudCBv biB0aGUgc2lkZQo+ID4gPj4gPj4gPj4gb2YgdGhlIGtlcm5lbCBkcml2ZXIuCj4gPiA+PiA+PiA+ Pgo+ID4gPj4gPj4gPj4gKElmIEkgY2FuIGdldCBhbiBva2F5IGZvciB0aGF0IGNvbW1pdG1lbnQg ZnJvbSBBbGV4L0NocmlzdGlhbiBJJ2QgYmUKPiA+ID4+ID4+ID4+IHRvdGFsbHkgaGFwcHkgdG8g c3dpdGNoIGl0IG92ZXIpCj4gPiA+PiA+PiA+IFllYWggaXQnZCBtYWtlIHRoYXQgdGFibGUgdWFw aQo+ID4gPj4gPj4KPiA+ID4+ID4+IFRoYXQgd29uJ3Qgd29yay4gVGhvc2UgbGlzdHMgYXJlIG5v dCBuZWNlc3Nhcnkgc3RhYmxlLgo+ID4gPj4gPj4KPiA+ID4+ID4+IFdoYXQgd2UgY291bGQgZG8g aXMgdG8gdXNlIFBDSS1JRCBwbHVzIHRpbGVfbW9kZS9tYWNyb190aWxlX21vZGUgaW5kZXgKPiA+ ID4+ID4+IHBsdXMgYSA4Yml0IHZlcnNpb24gbnVtYmVyLgo+ID4gPj4gPgo+ID4gPj4gPiBCdXQg aWYgd2UgdXNlIFBDSS1JRCwgdGhlbiB3ZSBjYW5ub3QgcmVhbGx5IHNoYXJlIGJldHdlZW4gZGlm ZmVyZW50Cj4gPiA+PiA+IG1vZGVscyBvZiBHUFUgLi4uCj4gPiA+PiA+Cj4gPiA+PiA+IFNvIHdl IGhhdmUgc2VlbiAzIG9wdGlvbnMgb24gZGVzaWduIGxldmVsOgo+ID4gPj4gPiAxKSBVc2UgUENJ LUlEL2NoaXAuCj4gPiA+PiA+ICAgQWR2YW50YWdlOgo+ID4gPj4gPiAgICAgLXNpbXBsZQo+ID4g Pj4gPiAgICAgLSBGZXcgYml0cwo+ID4gPj4gPiAgIERpc2FkdmFudGFnZToKPiA+ID4+ID4gICAg IC0gTm8gc2hhcmluZyBiZXR3ZWVuIGRpZmZlcmVudCBHUFUgbW9kZWxzCj4gPiA+PiA+IDIpIFVz ZSBhIGZpeGVkIGxvb2t1cC9jYW5vbmljYWxpemF0aW9uIHRhYmxlLgo+ID4gPj4gPiAgIEFkdmFu dGFnZToKPiA+ID4+ID4gICAgIC1GZXcgYml0cwo+ID4gPj4gPiAgICAgLSBTaGFyaW5nIGJldHdl ZW4gbW9kZWxzCj4gPiA+PiA+ICAgRGlzYWR2YW50YWdlOgo+ID4gPj4gPiAgICAgLSBDYW5ub3Qg Y2hhbmdlIHRoZSBrZXJuZWwgdGlsaW5nIHRhYmxlcy4KPiA+ID4+Cj4gPiA+PiBXaHkgaXMgY2hh bmdpbmcgdGhlIGtlcm5lbCB0YWJsZSBpbXBvc3NpYmxlPyBKdXN0IGJlY2F1c2UgaXQncyB1YXBp Cj4gPiA+PiBkb2Vzbid0IG1lYW4gd2UgY2FuIG5ldmVyIGV4dGVuZCBpdC4gSnVzdCBhZGQgYSBu ZXcgZW50cnkgYXQgdGhlCj4gPiA+PiBib3R0b20gaWYgeW91IG5lZWQgbW9yZSBjb21iaW5hdGlv bnMgLi4uCj4gPiA+Pgo+ID4gPj4gWW91IGRvbid0IGV2ZW4gbmVlZCB0byByZXF1aXJlIHRoZSB1 cGRhdGVkIGtlcm5lbCBhbWRncHUua28sIGp1c3QgdGhlCj4gPiA+PiB1cGRhdGVkIGRybV9mb3Vy Y2MuaCBoZWFkZXIgKGlmIGl0J3Mgb25lIG9mIHRoZXNlIHRoaW5ncyB5b3UgY2FuCj4gPiA+PiBj b25maWd1cmUgdGhyb3VnaCBjcyBwYWNrZXRzIGVudGlyZWx5IGZyb20gdXNlcnNwYWNlKS4KPiA+ ID4KPiA+ID4gU28gd2UgaGF2ZSB0d28gdGFibGVzIHdlIGFyZSB0YWxraW5nIGFib3V0Ogo+ID4g PiAgYSkgVGhlIGtlcm5lbCBpbml0aWFsaXplZCBzeXN0ZW0gd2lkZSB0YWJsZSBvZiB0aWxpbmcg Y29uZmlndXJhdGlvbnMKPiA+ID4gdGhhdCBhbHJlYWR5IGV4aXN0cwo+ID4gPiAgYilUaGUgdWFw aSB0YWJsZQo+ID4gPgo+ID4gPiBDdXJyZW50bHkgbWVzYSBzZWxlY3RzIGJ5IGluZGV4LCBpLmUu IGlmIHdlIHdhbnQgYSAzMi1iaXQgc3VyZmFjZSB3aXRoCj4gPiA+IG1hY3JvLXRpbGluZyB0aGF0 IGlzIG5vdCBkaXNwbGF5YWJsZSB3ZSBzaG91bGQgc2VsZWN0IGluZGV4IDE0IGluIHRoZQo+ID4g PiBzeXN0ZW0gd2lkZSB0aWxpbmcgdGFibGUuIE5vdyBpZiB3ZSBjaGFuZ2UgdGhhdCB0YWJsZSBl bnRyeSAxNCB0aGF0Cj4gPiA+IG1lYW5zIHRoYXQgd2UgY2hhbmdlIHdoaWNoIHRoaW5ncyBpdCBp cyBjb21wYXRpYmxlIHdpdGgsIHNvIHdlIG5lZWQgYQo+ID4gPiBuZXcgZW50cnkgaW4gdGhlIHVh cGkgdGFibGUuIEhvd2V2ZXIsIGFuIG9sZCBtZXNhIGRvZXMgbm90IGtub3cgYWJvdXQKPiA+ID4g dGhlIG5ldyBlbnRyeSBpbiB0aGUgdWFwaSB0YWJsZSwgc28gbG9zZXMgdGhlIGFiaWxpdHkgdG8g c2VsZWN0IGEKPiA+ID4gbW9kaWZpZXIgZm9yIHRoZSBwcmVmZXJyZWQgdGlsaW5nIG1vZGUsIGUu Zy4gd2UgcHJldHR5IG11Y2ggcmVncmVzcwo+ID4gPiBvbGQgdXNlcnNwYWNlLgo+ID4KPiA+IFRo YXQgc291bmRzIGxpa2UgdGhpcyB0YWJsZSBhbHJlYWR5IF9pc18gdWFwaS4gU28geW91IGNhbid0 IGNoYW5nZSBpdAo+ID4gLi4uIHdoeSB3b3VsZCB5b3Ugd2FudCB0byBjaGFuZ2UgaXQgdGhlbj8K PiBZb3UgY2FuIGNoYW5nZSBpdCBzb21ld2hhdC4gQW4gZW50cnkgc3RpbGwgaGFzIHRvIGJlIHZh bGlkIGZvciB0aGUgdXNlCj4gY2FzZSBtZXNhIHNlbGVjdHMgaXQgZm9yLCBidXQgdGhlIGFjdHVh bCB2YWx1ZXMgYXJlIHN0aWxsIHR1bmFibGUgYXMKPiBsb25nIGFzIHlvdSBoYXZlIHRoYXQgY29u c3RyYWludCBpbiBtaW5kLgo+IAo+IEFsc28gdGhlcmUgZWZmZWN0aXZlbHkgaXMgYW4gaW9jdGwg dG8gZ2V0IHRoYXQgdGFibGUgZnJvbSB0aGUga2VybmVsCj4gYW5kIHVzZXJzcGFjZSBhbHJlYWR5 IHVzZXMgaXQuCgpIbSwgaWYgdGhhdCBpb2N0bCBhbHJlYWR5IGV4aXN0cywgY291bGQgeW91IGV4 dGVuZCBpdCB0byBpbmNsdWRlIHRoZQpjb3JyZXNwb25kaW5nIGZvdXJjYyBjb2RlPyBUaGVuIHRo aW5ncyB3b3VsZCBKdXN0IFdvcmsuIEFzc3VtaW5nIG5vIG9uZQplbHNlIGluIHRoZSBhbWRncHUg ZWNvc3lzdGVtIGNhbiBhbGxvY2F0ZSBtb2RpZmllciBjb21iaW5hdGlvbnMgYmVjYXVzZQp0aGV5 IG11c3QgZ28gdGhyb3VnaCB0aGlzIHRhYmxlLgotRGFuaWVsCgo+IAo+ID4KPiA+IE5vdGUgYWxz byB0aGF0IHRoZSBmb3VyY2MgdGFibGUgZG9lc24ndCByZWFsbHkgaGF2ZSB0byBtYXRjaCB0aGlz Cj4gPiBieS1pbmRleCB0aWxpbmcgbW9kZSB1YXBpIHRhYmxlLCB5b3UgY2FuIGZyZWVseSBhZGQg bW9yZSBhdCB0aGUgZW5kIG9yCj4gPiBoYXZlIGFueSBraW5kIG9mIGZhbmN5IGxvb2t1cCB0YWJs ZSAob25lIGZvciBldmVyeW9uZSwgb3IKPiA+IHBlci1nZW5lcmF0aW9uLCBvciBwZXItd2hhdGV2 ZXIsIGRvZXNuJ3QgbWF0dGVyKS4gSnVzdCBhIHRyYWRlb2ZmCj4gPiBiZXR3ZWVuIGNvbXByZXNz aW5nIHRoZSBzZXQgb2YgYWN0dWFsbHkgdXNlZCBsYXlvdXRzIGludG8gYXMgZmV3Cj4gPiBtb2Rp ZmllciBiaXRzIGFzIHBvc3NpYmxlIGFnYWluc3QgY29kZSBtYWludGVuYW5jZSBoZWFkYWNoZXMg b2YgaGF2aW5nCj4gPiB0byBkZWFsIHdpdGggdG9vIG1hbnkgbG9va3VwIHRhYmxlcyBmb3IgYWxs IHRoZSBkaWZmZXJlbnQgdGhpbmdzLgo+ID4gLURhbmllbAo+ID4KPiA+ID4KPiA+ID4+Cj4gPiA+ PiBPciB3aHkgZG9lcyB0aGlzIG5vdCB3b3JrPwo+ID4gPj4gLURhbmllbAo+ID4gPj4KPiA+ID4+ ID4gMykgRW5jb2RlIHRpbGluZyBtb2RlIHByb3BlcnRpZXMgaW4gbW9kaWZpZXIuCj4gPiA+PiA+ ICAgQWR2YW50YWdlOgo+ID4gPj4gPiAgICAgLSBDYW4gc2hhcmUgYmV0d2VlbiBtb2RlbHMuCj4g PiA+PiA+ICAgICAtIENhbiBjaGFuZ2UgdGhlIGtlcm5lbCB0aWxpbmcgdGFibGVzLgo+ID4gPj4g PiAgIERpc2FkdmFudGFnZToKPiA+ID4+ID4gICAgIC0gVXNlIGEgbG90IG9mIGJpdHMuCj4gPiA+ PiA+Cj4gPiA+PiA+IE92ZXJhbGwgdGhlIG51bWJlciBvZiBleHBvc2VkIG1vZGlmaWVycyBzaG91 bGQgYmUgcHJldHR5IG11Y2ggdGhlCj4gPiA+PiA+IHNhbWUsIHNvIGVuY29kaW5nIHNpemUgdGhh dCB3ZSBoYXZlIHRvIGRlYWwgd2l0aCBhbGwgcG9zc2libGUgYml0Cj4gPiA+PiA+IHBhdHRlcm5z Lgo+ID4gPj4gPgo+ID4gPj4gPiBJJ3ZlIGltcGxlbWVudGVkIG9wdGlvbiAzIGluIHRoZSBwYXRj aCBoZXJlIGJlY2F1c2UgSSB0aGluayBpdCBpcyB0aGUKPiA+ID4+ID4gYmVzdCB0cmFkZW9mZi4g QXMgZmFyIGFzIEkgY2FuIHNlZSBpdCBmaXRzLCBhbmQgZXNwZWNpYWxseSBpZiB3ZSBkbyBubwo+ ID4gPj4gPiBtdWx0aXNhbXBsZSBzdXBwb3J0IGFuZCByZW1vdmUgdGhlIHRpbGUgc3BsaXQgYnl0 ZXMsIGFuZCByZW1vdmUgdGhlCj4gPiA+PiA+IDNyZCBzZXQgb2YgcGxhbmUgbWFjcm8tdGlsZSBv cHRpb25zIGJlY2F1c2Ugbm8gZm9ybWF0IGhhcyAzIGRpZmZlcmVudAo+ID4gPj4gPiBiaXRkZXB0 aHMgZm9yIHRoZSAzIHBsYW5lcywgd2UgYXJlIGxlZnQgd2l0aCB1c2luZyAzNyBiaXRzLCBsZWF2 aW5nIDE5Cj4gPiA+PiA+IGZvciBmdXR1cmUgZXh0ZW5zaW9ucyBhbmQgYSB2ZXJzaW9uIG51bWJl ci4gSXQgaXMgbm90IGdyZWF0IGJ1dCBwcmV0dHkKPiA+ID4+ID4gZG9hYmxlPwo+ID4gPj4gPgo+ ID4gPj4gPj4KPiA+ID4+ID4+IFNob3VsZG4ndCBiZSBtb3JlIHRoYW4gMzIgYml0cyBpbiB0b3Rh bC4KPiA+ID4+ID4+Cj4gPiA+PiA+PiBSZWdhcmRzLAo+ID4gPj4gPj4gQ2hyaXN0aWFuLgo+ID4g Pj4gPj4KPiA+ID4+ID4+ID4gICAtIHdlbGwgdGhlIGNvbXByZXNzZWQgZnJvbSB3aXRoCj4gPiA+ PiA+PiA+IGR1cGxpY2F0ZXMgcmVtb3ZlZCwgaWYgeW91IHJlYWxseSB3YW50IHRvIG1ha2UgaXQg dGlueS4gQnV0IHlvdSBjYW4KPiA+ID4+ID4+ID4ganVzdCBhZGQgbmV3IGVudHJpZXMgaWYgdGhl IGhldXJpc3RpY3MgZm9yIGEgZ2l2ZW4gcGxhdGZvcm0gY2hhbmdlcywKPiA+ID4+ID4+ID4gYXMg bG9uZyBhcyB5b3Uga2VlcCB0aGUgb2xkIGVudHJpZXMgd29ya2luZyAoaWYgeW91IHNoaXBwZWQg dGhlbSBldmVyCj4gPiA+PiA+PiA+IG9mYywgb3RoZXJ3aXNlIHRvdGFsbHkgb2sgdG8gY2hhbmdl IGFzIHlvdSBzZWUgZml0KS4KPiA+ID4+ID4+ID4gLURhbmllbAo+ID4gPj4gPj4gPgo+ID4gPj4g Pj4gPj4+ICBGcm9tIGEgcXVpY2sgbG9vayBhYm91dCAxNiBiaXRzIHRvdGFsLiBHaXZlcyB5b3Ug NDBiaXRzIG9mIHNlY29uZAo+ID4gPj4gPj4gPj4+IGNoYW5jZXMgYW5kICJvb3BzIHRvdGFsbHkg c29ycnkiLgo+ID4gPj4gPj4gPj4gSSBwdXJwb3NlZnVsbHkgbGVmdCA4IGJpdHMgYXMgYSB2ZXJz aW9uIGZpZWxkIGZvciB0aG9zZSBvb3BzZXMuCj4gPiA+PiA+PiA+Pgo+ID4gPj4gPj4gPj4+IC1E YW5pZWwKPiA+ID4+ID4+ID4+Pgo+ID4gPj4gPj4gPj4+Pj4gLURhbmllbAo+ID4gPj4gPj4gPj4+ Pj4KPiA+ID4+ID4+ID4+Pj4+Pj4gLURhbmllbAo+ID4gPj4gPj4gPj4+Pj4+Pgo+ID4gPj4gPj4g Pj4+Pj4+Pj4gUmVnYXJkcywKPiA+ID4+ID4+ID4+Pj4+Pj4+IENocmlzdGlhbi4KPiA+ID4+ID4+ ID4+Pj4+Pj4+Cj4gPiA+PiA+PiA+Pj4+Pj4+Pj4gSWYgeW91IGRvIHVzZSAyNTYgYml0cyBpbiBv cmRlciB0byByZXByZXNlbnQKPiA+ID4+ID4+ID4+Pj4+Pj4+PiAxMTUsNzkyLDA4OSwyMzcsMzE2 LDE5NSw0MjMsNTcwLDk4NSwwMDgsNjg3LDkwNyw4NTMsMjY5LDk4NCw2NjUsNjQwLDU2NCwwMzks NDU3LDU4NCwwMDcsOTEzLDEyOSw2MzksOTM2Cj4gPiA+PiA+PiA+Pj4+Pj4+Pj4gbW9kaWZpZXJz IHBlciBmb3JtYXQsIHVzZXJzcGFjZSB3b3VsZCBzdGFydCBoaXR0aW5nIE9PTSBwcmV0dHkgcXVp Y2tseQo+ID4gPj4gPj4gPj4+Pj4+Pj4+IGFzIGl0IGF0dGVtcHRlZCB0byBlbnVtZXJhdGUgYW5k IG5lZ290aWF0ZSBhY2NlcHRhYmxlIG1vZGlmaWVycy4KPiA+ID4+ID4+ID4+Pj4+Pj4+PiBFaXRo ZXIgdGhhdCBvciB3ZSBuZWVkIHRvIHJlcGxhY2UgdGhlIGZpeGVkIDY0LWJpdCBtb2RpZmllciB0 b2tlbnMKPiA+ID4+ID4+ID4+Pj4+Pj4+PiB3aXRoIHNvbWUga2luZCBvZiBlQlBGIHNjcmlwdC4K PiA+ID4+ID4+ID4+Pj4+Pj4+Pgo+ID4gPj4gPj4gPj4+Pj4+Pj4+IENoZWVycywKPiA+ID4+ID4+ ID4+Pj4+Pj4+PiBEYW5pZWwKPiA+ID4+ID4+ID4+Pj4+Pj4+PiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPj4gPj4gPj4+Pj4+Pj4+IGRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKPiA+ID4+ID4+ID4+Pj4+Pj4+PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPiA+PiA+PiA+Pj4+Pj4+Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKPiA+ID4+ID4+ID4+Pj4+Pj4gLS0KPiA+ID4+ ID4+ID4+Pj4+Pj4gRGFuaWVsIFZldHRlcgo+ID4gPj4gPj4gPj4+Pj4+PiBTb2Z0d2FyZSBFbmdp bmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiA+ID4+ID4+ID4+Pj4+Pj4gaHR0cDovL2Jsb2cuZmZ3 bGwuY2gKPiA+ID4+ID4+ID4+Pj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiA+ID4+ID4+ID4+Pj4+Pj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ ID4gPj4gPj4gPj4+Pj4+PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+PiA+ PiA+Pj4+Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCj4gPiA+PiA+PiA+Pj4+PiAtLQo+ID4gPj4gPj4gPj4+Pj4gRGFuaWVsIFZldHRl cgo+ID4gPj4gPj4gPj4+Pj4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4g PiA+PiA+PiA+Pj4+PiBodHRwOi8vYmxvZy5mZndsbC5jaAo+ID4gPj4gPj4gPj4+Cj4gPiA+PiA+ PiA+Pj4KPiA+ID4+ID4+ID4+PiAtLQo+ID4gPj4gPj4gPj4+IERhbmllbCBWZXR0ZXIKPiA+ID4+ ID4+ID4+PiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiA+ID4+ID4+ID4+ PiArNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCj4gPiA+PiA+PiA+ Cj4gPiA+PiA+PiA+Cj4gPiA+PiA+Pgo+ID4gPj4KPiA+ID4+Cj4gPiA+Pgo+ID4gPj4gLS0KPiA+ ID4+IERhbmllbCBWZXR0ZXIKPiA+ID4+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3Jh dGlvbgo+ID4gPj4gKzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaAo+ ID4KPiA+Cj4gPgo+ID4gLS0KPiA+IERhbmllbCBWZXR0ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gKzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxv Zy5mZndsbC5jaAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENv cnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vYW1kLWdmeAo=