From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH] ALSA: hda: Request driver probe from an async task Date: Tue, 24 Apr 2018 14:15:10 +0200 Message-ID: References: <92d47260-8d68-15f9-02b5-9846f9957106@molgen.mpg.de> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id D6D6426722C for ; Tue, 24 Apr 2018 14:15:10 +0200 (CEST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Paul Menzel Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org List-Id: alsa-devel@alsa-project.org T24gVHVlLCAyNCBBcHIgMjAxOCAxMzo1OTo1OCArMDIwMCwKUGF1bCBNZW56ZWwgd3JvdGU6Cj4g Cj4gRGVhciBUYWthc2hpLAo+IAo+IAo+IE9uIDA0LzIzLzE4IDE0OjMzLCBUYWthc2hpIEl3YWkg d3JvdGU6Cj4gPiBPbiBNb24sIDIzIEFwciAyMDE4IDE0OjMwOjM2ICswMjAwLCBQYXVsIE1lbnpl bCB3cm90ZToKPiAKPiA+PiBPbiAwNC8yMy8xOCAxNDoyMSwgVGFrYXNoaSBJd2FpIHdyb3RlOgo+ ID4+PiBPbiBNb24sIDIzIEFwciAyMDE4IDE0OjA1OjUyICswMjAwLCBQYXVsIE1lbnplbCB3cm90 ZToKPiA+Pj4+Cj4gPj4+PiBGcm9tOiBQYXVsIE1lbnplbCA8cG1lbnplbEBtb2xnZW4ubXBnLmRl Pgo+ID4+Pj4gRGF0ZTogU2F0LCAyNCBNYXIgMjAxOCAwOToyODo0MyArMDEwMAo+ID4+Pj4KPiA+ Pj4+IE9uIGFuIEFTUm9jayBFMzUwTTEsIHdpdGggTGludXggNC4xNy1yYzEgYWNjb3JkaW5nIHRv IGBpbml0Y2FsbF9kZWJ1Z2AKPiA+Pj4+IGNhbGxpbmcgYGF6eF9kcml2ZXJfaW5pdGAgdGFrZXMg c29tZXRpbWVzIG1vcmUgdGhhbiBhIGZldyBtaWxsaXNlY29uZHMsCj4gPj4+PiBhbmQgdXAgdG8g MjAwIG1zLgo+ID4+Pj4KPiA+Pj4+IGBgYAo+ID4+Pj4gWyAgICAyLjg5MjU5OF0gY2FsbGluZyAg YXp4X2RyaXZlcl9pbml0KzB4MC8weGZlNCBbc25kX2hkYV9pbnRlbF0gQCAyMTgKPiA+Pj4+IFsg ICAgMi45NDMwMDJdIGluaXRjYWxsIGF6eF9kcml2ZXJfaW5pdCsweDAvMHhmZTQgW3NuZF9oZGFf aW50ZWxdCj4gPj4+PiByZXR1cm5lZCAwIGFmdGVyIDQ5MTk1IHVzZWNzCj4gPj4+PiBgYGAKPiA+ Pj4+Cj4gPj4+PiBUcnlpbmcgdG8gZXhlY3V0ZSB0aGUgTGludXgga2VybmVsIGluIGxlc3MgdGhh biA1MDAgbXMsIHRoaXMgaXMgcXVpdGUgYQo+ID4+Pj4gaG9sZC11cCwgYW5kIHRoZXJlZm9yZSBy ZXF1ZXN0IHRoZSBwcm9iZSBmcm9tIGFuIGFzeW5jIHRhc2suCj4gPj4+Pgo+ID4+Pj4gV2l0aCB0 aGlzIGNoYW5nZSwgdGhlIHRlc3Qgc2hvd3MsIHRoYXQgdGhlIGZ1bmN0aW9uIHJldHVybnMgZWFy bGllci4KPiA+Pj4+Cj4gPj4+PiBgYGAKPiA+Pj4+IFsgICAgMy4yNTQ4MDBdIGNhbGxpbmcgIGF6 eF9kcml2ZXJfaW5pdCsweDAvMHhmZTQgW3NuZF9oZGFfaW50ZWxdIEAgMjI3Cj4gPj4+PiBbICAg IDMuMjU0ODg3XSBpbml0Y2FsbCBhenhfZHJpdmVyX2luaXQrMHgwLzB4ZmU0IFtzbmRfaGRhX2lu dGVsXQo+ID4+Pj4gcmV0dXJuZWQgMCBhZnRlciA2NiB1c2Vjcwo+ID4+Pj4gYGBgCj4gPj4+Pgo+ ID4+Pj4gVGhlIHNhbWUgYmVoYXZpb3IgaXMgdmlzaWJsZSBvbiBhIERlbGwgT3B0aVBsZXggNzAx MC4gVGhlIGxvbmdlciB0aW1lcwo+ID4+Pj4gc2VlbSB0byBoYXBwZW4sIHdoZW4gdGhlIG1vZHVs ZSAqZTEwMDBlKiBpcyBwcm9iZWQgZHVyaW5nIHRoZSBzYW1lIHRpbWUuCj4gPj4+Pgo+ID4+Pj4g U2lnbmVkLW9mZi1ieTogUGF1bCBNZW56ZWwgPHBtZW56ZWxAbW9sZ2VuLm1wZy5kZT4KPiA+Pj4K PiA+Pj4gV2hhdCBhY3R1YWxseSB0b29rIHNvIGxvbmc/ICBDb3VsZCB5b3UgYW5hbHl6ZSBmdXJ0 aGVyIGluc3RlYWQgb2YKPiA+Pj4gYmxpbmRseSBwdXR0aW5nIHRoZSBmbGFnPwo+ID4+Cj4gPj4g V2VsbCwgSSBhbSBub3Qgc3VyZS4gQ291bGQgeW91IHBsZWFzZSBnaXZlIG1lIGhpbnRzLCBob3cg dG8gZGVidWcgdGhpcwo+ID4+IGZ1cnRoZXI/IElzIHRoZXJlIHNvbWUgZGVidWcgZmxhZz8KPiA+ Cj4gPiBVc3VhbGx5IHBlcmYgd291bGQgaGVscCwgYnV0IGV2ZW4gYSBzaW1wbGUgcHJpbnRrKCkg c2hvdWxkIHN1ZmZpY2UgdG8KPiA+IHNlZSB3aGF0J3MgZ29pbmcgb24gdGhlcmUgOikKPiAKPiBQ bGVhc2UgZmluZCB0aGUgbWVzc2FnZXMgZm9yIGEgMjMgbXMgcnVuIGJlbG93LCBhbmQgdGhlIGRl YnVnIHBhdGNoCj4gYXR0YWNoZWQuCj4gCj4gPiBbICAgIDIuOTk2MjM4XSBjYWxsaW5nICBhenhf ZHJpdmVyX2luaXQrMHgwLzB4ZmU0IFtzbmRfaGRhX2ludGVsXSBAIDIxNAo+ID4gWyAgICAzLjAw OTgzOF0gY2FsbGluZyAgcnRsODE2OV9wY2lfZHJpdmVyX2luaXQrMHgwLzB4MTAwMCBbcjgxNjld IEAgMjE3Cj4gPiBbICAgIDMuMDA5OTA0XSByODE2OSBHaWdhYml0IEV0aGVybmV0IGRyaXZlciAy LjNMSy1OQVBJIGxvYWRlZAo+ID4gWyAgICAzLjAxMDcyMV0gcmFuZG9tOiBnZXRfcmFuZG9tX2J5 dGVzIGNhbGxlZCBmcm9tIGlwdjZfcmVnZW5fcm5kaWQrMHgyYy8weDEwMCB3aXRoIGNybmdfaW5p dD0xCj4gPiBbICAgIDMuMDExMjgzXSByODE2OSAwMDAwOjAzOjAwLjAgZXRoMDogUlRMODE2OGUv ODExMWUgYXQgMHgocHRydmFsKSwgYmM6NWY6ZjQ6Yzg6ZDM6OTgsIFhJRCAwYzIwMDAwMCBJUlEg MjYKPiA+IFsgICAgMy4wMTEyODldIHI4MTY5IDAwMDA6MDM6MDAuMCBldGgwOiBqdW1ibyBmZWF0 dXJlcyBbZnJhbWVzOiA5MjAwIGJ5dGVzLCB0eCBjaGVja3N1bW1pbmc6IGtvXQo+ID4gWyAgICAz LjAxMzg3Nl0gaW5pdGNhbGwgcnRsODE2OV9wY2lfZHJpdmVyX2luaXQrMHgwLzB4MTAwMCBbcjgx NjldIHJldHVybmVkIDAgYWZ0ZXIgMzkxNyB1c2Vjcwo+ID4gWyAgICAzLjAzMTc1NF0gY2FsbGlu ZyAgcGNzcGtyX3BsYXRmb3JtX2RyaXZlcl9pbml0KzB4MC8weDEwMDAgW3Bjc3Brcl0gQCAyMjEK PiA+IFsgICAgMy4wMzE5MDRdIGlucHV0OiBQQyBTcGVha2VyIGFzIC9kZXZpY2VzL3BsYXRmb3Jt L3Bjc3Brci9pbnB1dC9pbnB1dDQKPiA+IFsgICAgMy4wMzIyODhdIGluaXRjYWxsIHBjc3Brcl9w bGF0Zm9ybV9kcml2ZXJfaW5pdCsweDAvMHgxMDAwIFtwY3Nwa3JdIHJldHVybmVkIDAgYWZ0ZXIg NTA4IHVzZWNzCj4gPiBbICAgIDMuMDM0Nzk1XSBjYWxsaW5nICBwc21vdXNlX2luaXQrMHgwLzB4 N2MgW3BzbW91c2VdIEAgMjIwCj4gPiBbICAgIDMuMDM0OTAzXSBpbml0Y2FsbCBwc21vdXNlX2lu aXQrMHgwLzB4N2MgW3BzbW91c2VdIHJldHVybmVkIDAgYWZ0ZXIgODcgdXNlY3MKPiA+IFsgICAg My4wNDMwNTFdIHJhbmRvbTogZ2V0X3JhbmRvbV91MzIgY2FsbGVkIGZyb20gY2FjaGVfcmFuZG9t X3NlcV9jcmVhdGUrMHhhMy8weDFmMCB3aXRoIGNybmdfaW5pdD0xCj4gPiBbICAgIDMuMDQzMTU0 XSByYW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxlZCBmcm9tIGNhY2hlX2FsbG9jX3JlZmlsbCsw eDViYi8weDEzZDAgd2l0aCBjcm5nX2luaXQ9MQo+ID4gWyAgICAzLjA0MzE4N10gcmFuZG9tOiBn ZXRfcmFuZG9tX3UzMiBjYWxsZWQgZnJvbSBjYWNoZV9yYW5kb21fc2VxX2NyZWF0ZSsweGEzLzB4 MWYwIHdpdGggY3JuZ19pbml0PTEKPiA+IFsgICAgMy4wNDMxOThdIHJhbmRvbTogZ2V0X3JhbmRv bV91MzIgY2FsbGVkIGZyb20gY2FjaGVfYWxsb2NfcmVmaWxsKzB4NWJiLzB4MTNkMCB3aXRoIGNy bmdfaW5pdD0xCj4gPiBbICAgIDMuMDQzMjI5XSByYW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxl ZCBmcm9tIGNhY2hlX3JhbmRvbV9zZXFfY3JlYXRlKzB4YTMvMHgxZjAgd2l0aCBjcm5nX2luaXQ9 MQo+ID4gWyAgICAzLjA0MzI2NV0gcmFuZG9tOiBnZXRfcmFuZG9tX3UzMiBjYWxsZWQgZnJvbSBj YWNoZV9hbGxvY19yZWZpbGwrMHg1YmIvMHgxM2QwIHdpdGggY3JuZ19pbml0PTEKPiA+IFsgICAg My4wNDM0MjldIHJhbmRvbTogZ2V0X3JhbmRvbV91MzIgY2FsbGVkIGZyb20gY2FjaGVfcmFuZG9t X3NlcV9jcmVhdGUrMHhhMy8weDFmMCB3aXRoIGNybmdfaW5pdD0xCj4gPiBbICAgIDMuMDQzNDc5 XSByYW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxlZCBmcm9tIGNhY2hlX2FsbG9jX3JlZmlsbCsw eDViYi8weDEzZDAgd2l0aCBjcm5nX2luaXQ9MQo+ID4gWyAgICAzLjA0Mzc0OV0gcmFuZG9tOiBn ZXRfcmFuZG9tX2J5dGVzIGNhbGxlZCBmcm9tIGtleV9hbGxvYysweDFmYy8weDVlMCB3aXRoIGNy bmdfaW5pdD0xCj4gPiBbICAgIDMuMDQzOTczXSByYW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxl ZCBmcm9tIGNhY2hlX3JhbmRvbV9zZXFfY3JlYXRlKzB4YTMvMHgxZjAgd2l0aCBjcm5nX2luaXQ9 MQo+ID4gWyAgICAzLjA0NTQ4M10gcmFuZG9tOiBnZXRfcmFuZG9tX3UzMiBjYWxsZWQgZnJvbSBh cmNoX3JuZC5wYXJ0LjIrMHgxOC8weDQwIHdpdGggY3JuZ19pbml0PTEKPiA+IFsgICAgMy4wNDU1 MDFdIHJhbmRvbTogZ2V0X3JhbmRvbV91MzIgY2FsbGVkIGZyb20gbG9hZF9lbGZfYmluYXJ5KzB4 NzZhLzB4MWQyMCB3aXRoIGNybmdfaW5pdD0xCj4gPiBbICAgIDMuMDQ1NTA3XSByYW5kb206IGdl dF9yYW5kb21fdTMyIGNhbGxlZCBmcm9tIGFyY2hfYWxpZ25fc3RhY2srMHg0NS8weDcwIHdpdGgg Y3JuZ19pbml0PTEKPiA+IFsgICAgMy4wNDU1MjhdIHJhbmRvbTogZ2V0X3JhbmRvbV91MzIgY2Fs bGVkIGZyb20gYXJjaF9ybmQucGFydC4yKzB4MTgvMHg0MCB3aXRoIGNybmdfaW5pdD0xCj4gPiBb ICAgIDMuMDQ1NTU4XSByYW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxlZCBmcm9tIGNhY2hlX2Fs bG9jX3JlZmlsbCsweDViYi8weDEzZDAgd2l0aCBjcm5nX2luaXQ9MQo+ID4gWyAgICAzLjA0NTc3 MV0gcmFuZG9tOiBnZXRfcmFuZG9tX3UzMiBjYWxsZWQgZnJvbSBjYWNoZV9yYW5kb21fc2VxX2Ny ZWF0ZSsweGEzLzB4MWYwIHdpdGggY3JuZ19pbml0PTEKPiA+IFsgICAgMy4wNDYxMjddIHJhbmRv bTogZ2V0X3JhbmRvbV91MzIgY2FsbGVkIGZyb20gY2FjaGVfYWxsb2NfcmVmaWxsKzB4NWJiLzB4 MTNkMCB3aXRoIGNybmdfaW5pdD0xCj4gPiBbICAgIDMuMDQ2MTk3XSBjYWxsaW5nICBwY3NwX2lu aXQrMHgwLzB4MTAwMCBbc25kX3Bjc3BdIEAgMjIxCj4gPiBbICAgIDMuMDQ2MjA2XSBFcnJvcjog RHJpdmVyICdwY3Nwa3InIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCwgYWJvcnRpbmcuLi4KPiA+IFsg ICAgMy4wNDYzMzddIGluaXRjYWxsIHBjc3BfaW5pdCsweDAvMHgxMDAwIFtzbmRfcGNzcF0gcmV0 dXJuZWQgLTE2IGFmdGVyIDEyOCB1c2Vjcwo+ID4gWyAgICAzLjA0NjM0OF0gcmFuZG9tOiBnZXRf cmFuZG9tX3UzMiBjYWxsZWQgZnJvbSBhcmNoX2FsaWduX3N0YWNrKzB4NDUvMHg3MCB3aXRoIGNy bmdfaW5pdD0xCj4gPiBbICAgIDMuMDQ2MzYzXSByYW5kb206IGdldF9yYW5kb21fYnl0ZXMgY2Fs bGVkIGZyb20gbG9hZF9lbGZfYmluYXJ5KzB4YWY4LzB4MWQyMCB3aXRoIGNybmdfaW5pdD0xCj4g PiBbICAgIDMuMDQ2MzgzXSByYW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxlZCBmcm9tIHJhbmRv bWl6ZV9wYWdlKzB4NDIvMHg1NyB3aXRoIGNybmdfaW5pdD0xCj4gPiBbICAgIDMuMDQ3MzEyXSBy YW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxlZCBmcm9tIGNhY2hlX2FsbG9jX3JlZmlsbCsweDVi Yi8weDEzZDAgd2l0aCBjcm5nX2luaXQ9MQo+ID4gWyAgICAzLjA0ODE1MV0gcmFuZG9tOiBnZXRf cmFuZG9tX3UzMiBjYWxsZWQgZnJvbSBjYWNoZV9yYW5kb21fc2VxX2NyZWF0ZSsweGEzLzB4MWYw IHdpdGggY3JuZ19pbml0PTEKPiA+IFsgICAgMy4wNDg2MzhdIHJhbmRvbTogZ2V0X3JhbmRvbV91 MzIgY2FsbGVkIGZyb20gY2FjaGVfYWxsb2NfcmVmaWxsKzB4NWJiLzB4MTNkMCB3aXRoIGNybmdf aW5pdD0xCj4gPiBbICAgIDMuMDU0MzI1XSByYW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxlZCBm cm9tIGNvcHlfcHJvY2Vzcy5wYXJ0LjMzKzB4MTg2LzB4MjEwMCB3aXRoIGNybmdfaW5pdD0xCj4g PiBbICAgIDMuMDU0MzcxXSByYW5kb206IGdldF9yYW5kb21fdTMyIGNhbGxlZCBmcm9tIGNhY2hl X2FsbG9jX3JlZmlsbCsweDViYi8weDEzZDAgd2l0aCBjcm5nX2luaXQ9MQo+ID4gWyAgICAzLjA2 NzM0NF0gdXNiIHVzYjM6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFBy b2R1Y3Q9MDAwMSwgYmNkRGV2aWNlPSA0LjE3Cj4gPiBbICAgIDMuMDY3MzUwXSB1c2IgdXNiMzog TmV3IFVTQiBkZXZpY2Ugc3RyaW5nczogTWZyPTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEK PiA+IFsgICAgMy4wNjczNTNdIHVzYiB1c2IzOiBQcm9kdWN0OiBPSENJIFBDSSBob3N0IGNvbnRy b2xsZXIKPiA+IFsgICAgMy4wNjczNTZdIHVzYiB1c2IzOiBNYW51ZmFjdHVyZXI6IExpbnV4IDQu MTcuMC1yYzIrIG9oY2lfaGNkCj4gPiBbICAgIDMuMDY3MzU5XSB1c2IgdXNiMzogU2VyaWFsTnVt YmVyOiAwMDAwOjAwOjEyLjAKPiA+IFsgICAgMy4wNjc4NTBdIHJhbmRvbTogZ2V0X3JhbmRvbV91 MzIgY2FsbGVkIGZyb20gY2FjaGVfcmFuZG9tX3NlcV9jcmVhdGUrMHhhMy8weDFmMCB3aXRoIGNy bmdfaW5pdD0xCj4gPiBbICAgIDMuMDY3ODY0XSBodWIgMy0wOjEuMDogVVNCIGh1YiBmb3VuZAo+ ID4gWyAgICAzLjA2Nzk2MF0gaHViIDMtMDoxLjA6IDUgcG9ydHMgZGV0ZWN0ZWQKPiA+IFsgICAg My4wNjgxNDFdIHJhbmRvbTogZ2V0X3JhbmRvbV91MzIgY2FsbGVkIGZyb20gY2FjaGVfYWxsb2Nf cmVmaWxsKzB4NWJiLzB4MTNkMCB3aXRoIGNybmdfaW5pdD0xCj4gPiBbICAgIDMuMDY4NjE4XSAx Cj4gPiBbICAgIDMuMDY4NjQ0XSAyCj4gPiBbICAgIDMuMDY4OTUzXSAzCj4gPiBbICAgIDMuMDY4 OTU0XSA0Cj4gPiBbICAgIDMuMDY4OTU1XSA1Cj4gPiBbICAgIDMuMDY4OTU5XSA2Cj4gPiBbICAg IDMuMDY4OTYwXSA3Cj4gPiBbICAgIDMuMDY4OTY2XSA4Cj4gPiBbICAgIDMuMDY4OTY3XSA5Cj4g PiBbICAgIDMuMDY5MjA0XSAxCj4gPiBbICAgIDMuMDY5MjE3XSAyCj4gPiBbICAgIDMuMDY5NTY1 XSAzCj4gPiBbICAgIDMuMDY5NTY2XSA0Cj4gPiBbICAgIDMuMDY5NTY3XSA1Cj4gPiBbICAgIDMu MDY5NTY4XSA2Cj4gPiBbICAgIDMuMDY5NTY5XSA3Cj4gPiBbICAgIDMuMDY5NTgxXSA4Cj4gPiBb ICAgIDMuMDY5NTgzXSA5Cj4gPiBbICAgIDMuMDY5Nzc0XSByYW5kb206IGdldF9yYW5kb21fdTMy IGNhbGxlZCBmcm9tIGNvcHlfcHJvY2Vzcy5wYXJ0LjMzKzB4MTg2LzB4MjEwMCB3aXRoIGNybmdf aW5pdD0xCj4gPiBbICAgIDMuMDY5OTI0XSBpbml0Y2FsbCBhenhfZHJpdmVyX2luaXQrMHgwLzB4 ZmU0IFtzbmRfaGRhX2ludGVsXSByZXR1cm5lZCAwIGFmdGVyIDIzMTUzIHVzZWNzCj4gCj4gVW5m b3J0dW5hdGVseSwgaXQgbG9va3MgbGlrZSB0aGUgdGltZSBzdGFtcHMgb2YgdGhlIExpbnV4IGtl cm5lbCBhbmQKPiB0aGUgaW5pdGNhbGxfZGVidWcgdGltZSBkbyBub3QgbWF0Y2guIEZyb20gdGhl IExpbnV4IHRpbWUgc3RhbXBzIGl0Cj4gc2hvdWxkIGJlIDczIG1zLgoKSW5kZWVkLiAgQnV0IGV2 ZW4gZnJvbSB0aGlzIHJlc3VsdCwgeW91IGNhbiBoYXZlIGEgcm91Z2ggaWRlYS4KQXMgeW91IGNh biBzZWUsIHRoZSBtb3N0IG9mIHRpbWUgd2FzIHNwZW50IGJlZm9yZSAiMSIgcG9pbnQsIHdoaWNo IGlzCnRoZSB2ZXJ5IGJlZ2lubmluZyBvZiBhenhfcHJvYmUoKS4gIFRoYXQgaXMsIHRoZSBzbG93 bmVzcyBpcyBub3QgaW4KSEQtYXVkaW8gZHJpdmVyIHByb2JlIGl0c2VsZi4gIFJhdGhlciBpdCdz IGxpa2VseSBiZWNhdXNlIG9mIHBhcmFsbGVsCnByb2Jpbmcgd2l0aCBvdGhlciBtdWx0aXBsZSBk ZXZpY2VzLgoKCnRoYW5rcywKClRha2FzaGkKCj4gCj4gPj4gSSBhbSBvbmx5IGF3YXJlIG9mIHRo ZSBGdHJhY2UgZnJhbWV3b3JrLCBidXQgaW4gbXkgZXhwZXJpZW5jZSBpdCBhbHNvCj4gPj4gc2tl d3MgdGhlIHRpbWluZ3MgcXVpdGUgYSBiaXQsIHNvIG1pZ2h0IG5vdCBiZSB0aGUgYmVzdCBjaG9p Y2UuCj4gPgo+ID4gV2Uga25vdyB0aGF0IHRoZXJlIGFyZSBzb21lIGNhc2VzIHdoZXJlIHRoZSBj b2RlYyAvIGNvbnRyb2xsZXIKPiA+IGNvbW11bmljYXRpb24gc3RhbGxzIG9uIHRoZSByZWNlbnQg Q29mZmVlIExha2Ugb3Igc3VjaCBwbGF0Zm9ybXMuCj4gPiBCdXQgcXVpdGUgbm90IHN1cmUgaG93 IGl0IGhhcHBlbnMuCj4gPgo+ID4gTW92aW5nIHRoZSBzdHVmZiBpbnRvIGFzeW5jIGp1c3QgbW92 ZXMgc29tZXRoaW5nIHVnbHksIGFuZCBpdCdzIG5vCj4gPiBmaXgsIHBlciBzZSwgaWYgc3VjaCBh IGxvbmcgZGVsYXkgaXRzZWxmIGlzIHVuZXhwZWN0ZWQuCj4gCj4gTGV04oCZcyBob3BlLCB3ZSBj YW4gZml4IGl0Lgo+IAo+IAo+IEtpbmQgcmVnYXJkcywKPiAKPiBQYXVsCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBsaXN0 CkFsc2EtZGV2ZWxAYWxzYS1wcm9qZWN0Lm9yZwpodHRwOi8vbWFpbG1hbi5hbHNhLXByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8vYWxzYS1kZXZlbAo=