From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH 2/7] drm/dp_mst: Register AUX devices for MST ports Date: Mon, 03 Jun 2019 15:28:52 -0400 Message-ID: <2dce5d6ea4fe1c082a14962ed21568dbfd743d70.camel@redhat.com> References: <1558019883-12397-1-git-send-email-sunpeng.li@amd.com> <1558019883-12397-3-git-send-email-sunpeng.li@amd.com> <3e237f325a98b044231661886329a808d6701146.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qt1-f195.google.com (mail-qt1-f195.google.com [209.85.160.195]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1024689306 for ; Mon, 3 Jun 2019 19:28:55 +0000 (UTC) Received: by mail-qt1-f195.google.com with SMTP id a15so10836410qtn.7 for ; Mon, 03 Jun 2019 12:28:55 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Li, Sun peng (Leo)" , "amd-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyMDE5LTA2LTAzIGF0IDE1OjI1IC0wNDAwLCBMeXVkZSBQYXVsIHdyb3RlOgo+IE9u IFRodSwgMjAxOS0wNS0zMCBhdCAxODoyMCArMDAwMCwgTGksIFN1biBwZW5nIChMZW8pIHdyb3Rl Ogo+ID4gSGV5LCBzb3JyeSBmb3IgbXkgbGF0ZSByZXNwb25zZSEKPiA+IAo+ID4gT24gMjAxOS0w NS0xNiA1OjQwIHAubS4sIEx5dWRlIFBhdWwgd3JvdGU6Cj4gPiAKPiA+ID4gPiAgICAgICAgaWYg KG9sZF9wZHQgIT0gcG9ydC0+cGR0ICYmICFwb3J0LT5pbnB1dCkgewo+ID4gPiA+IEBAIC0xMjIw LDYgKzEyNjgsOCBAQCBzdGF0aWMgdm9pZCBkcm1fZHBfYWRkX3BvcnQoc3RydWN0Cj4gPiA+ID4g ZHJtX2RwX21zdF9icmFuY2gKPiA+ID4gPiAqbXN0YiwKPiA+ID4gPiAgICAgICAgICAgICAgICAg ICAgICAgIGRybV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkocG9ydC0KPiA+ID4gPiA+Y29u bmVjdG9yKTsKPiA+ID4gPiAgICAgICAgICAgICAgICB9Cj4gPiA+ID4gICAgICAgICAgICAgICAg KCptc3RiLT5tZ3ItPmNicy0+cmVnaXN0ZXJfY29ubmVjdG9yKShwb3J0LT5jb25uZWN0b3IpOwo+ ID4gPiBUaGlzIGlzIHdyb25nOiB3ZSBhbHdheXMgd2FudCB0byBzZXR1cCBldmVyeXRoaW5nIGlu IHRoZSBjb25uZWN0b3IgZmlyc3QKPiA+ID4gYmVmb3JlIHRyeWluZyB0byByZWdpc3RlciBpdCwg bm90IGFmdGVyLiBPdGhlcndpc2UsIHRoaW5ncyBleHBsb2RlIGxpa2UKPiA+ID4gc286Cj4gPiAK PiA+ICoqc25pcCoqCj4gPiAKPiA+ID4gWyAgNDUyLjQyNDQ2MV0gLS0tLS0tLS0tLS0tWyBjdXQg aGVyZSBdLS0tLS0tLS0tLS0tCj4gPiA+IFsgIDQ1Mi40MjQ0NjRdIHN5c2ZzIGdyb3VwICdwb3dl cicgbm90IGZvdW5kIGZvciBrb2JqZWN0ICdkcm1fZHBfYXV4NScKPiA+ID4gWyAgNDUyLjQyNDQ3 MV0gV0FSTklORzogQ1BVOiAzIFBJRDogMTg4NyBhdCBmcy9zeXNmcy9ncm91cC5jOjI1Ngo+ID4g PiBzeXNmc19yZW1vdmVfZ3JvdXArMHg3Ni8weDgwCj4gPiA+IFsgIDQ1Mi40MjQ0NzNdIE1vZHVs ZXMgbGlua2VkIGluOiB2ZmF0IGZhdCBlbGFuX2kyYyBpOTE1KE8pIGludGVsX3JhcGwKPiA+ID4g eDg2X3BrZ190ZW1wX3RoZXJtYWwgaW50ZWxfcG93ZXJjbGFtcCBjb3JldGVtcCBrdm1faW50ZWwg aVRDT193ZHQga3ZtCj4gPiA+IG1laV93ZHQgaXJxYnlwYXNzIGlUQ09fdmVuZG9yX3N1cHBvcnQg Y3JjdDEwZGlmX3BjbG11bCB3bWlfYm1vZgo+ID4gPiBpbnRlbF93bWlfdGh1bmRlcmJvbHQgY3Jj MzJfcGNsbXVsIGkyY19hbGdvX2JpdCBnaGFzaF9jbG11bG5pX2ludGVsCj4gPiA+IGludGVsX2Nz dGF0ZSBkcm1fa21zX2hlbHBlcihPKSBpbnRlbF91bmNvcmUgaW50ZWxfcmFwbF9wZXJmIGJ0dXNi IGJ0cnRsCj4gPiA+IGJ0YmNtIHN5c2NvcHlhcmVhIGJ0aW50ZWwgc3lzZmlsbHJlY3Qgc3lzaW1n Ymx0IGZiX3N5c19mb3BzIGJsdWV0b290aAo+ID4gPiBkcm0oTykgam95ZGV2IG1laV9tZSBpZG1h NjQgdWNzaV9hY3BpIHRodW5kZXJib2x0IGVjZGhfZ2VuZXJpYyBpMmNfaTgwMQo+ID4gPiBpbnRl bF94aGNpX3VzYl9yb2xlX3N3aXRjaCBwcm9jZXNzb3JfdGhlcm1hbF9kZXZpY2UgdHlwZWNfdWNz aQo+ID4gPiBpbnRlbF9scHNzX3BjaSBpbnRlbF9zb2NfZHRzX2lvc2YgbWVpIHJvbGVzIGludGVs X2xwc3MgdHlwZWMKPiA+ID4gaW50ZWxfcGNoX3RoZXJtYWwgd21pIHRoaW5rcGFkX2FjcGkgbGVk dHJpZ19hdWRpbyByZmtpbGwgaW50MzQwM190aGVybWFsCj4gPiA+IGludDM0MHhfdGhlcm1hbF96 b25lIGludDM0MDBfdGhlcm1hbCBhY3BpX3RoZXJtYWxfcmVsIGFjcGlfcGFkIHZpZGVvCj4gPiA+ IHBjY19jcHVmcmVxIGNyYzMyY19pbnRlbCBudm1lIHNlcmlvX3JhdyB1YXMgZTEwMDBlIG52bWVf Y29yZSB1c2Jfc3RvcmFnZQo+ID4gPiBpMmNfZGV2Cj4gPiA+IFsgIDQ1Mi40MjQ0OTJdIENQVTog MyBQSUQ6IDE4ODcgQ29tbTogdW5sb2FkZ3B1bW9kIFRhaW50ZWQ6Cj4gPiA+IEcgICAgICAgICAg IE8gICAgICA1LjEuMEx5dWRlLVRlc3QrICMxCj4gPiA+IFsgIDQ1Mi40MjQ0OTRdIEhhcmR3YXJl IG5hbWU6IExFTk9WTyAyMEw4UzJOODAwLzIwTDhTMk44MDAsIEJJT1MKPiA+ID4gTjIyRVQzNVcK PiA+ID4gKDEuMTIgKSAwNC8wOS8yMDE4Cj4gPiA+IFsgIDQ1Mi40MjQ0OTZdIFJJUDogMDAxMDpz eXNmc19yZW1vdmVfZ3JvdXArMHg3Ni8weDgwCj4gPiA+IFsgIDQ1Mi40MjQ0OThdIENvZGU6IDQ4 IDg5IGRmIDViIDVkIDQxIDVjIGU5IGY4IGJjIGZmIGZmIDQ4IDg5IGRmIGU4IGQwCj4gPiA+IGJj Cj4gPiA+IGZmIGZmIGViIGNiIDQ5IDhiIDE0IDI0IDQ4IDhiIDc1IDAwIDQ4IGM3IGM3IDA4IGE1 IDBjIGFhIGU4IDQ0IDAwIGQ2IGZmCj4gPiA+IDwwZj4gMGIgNWIgNWQgNDEgNWMgYzMgMGYgMWYg MDAgMGYgMWYgNDQgMDAgMDAgNDggODUgZjYgNzQgMzEgNDEgNTQKPiA+ID4gWyAgNDUyLjQyNDUw MF0gUlNQOiAwMDE4OmZmZmZhOGJiODFiNWZiMjggRUZMQUdTOiAwMDAxMDI4Mgo+ID4gPiBbICA0 NTIuNDI0NTAxXSBSQVg6IDAwMDAwMDAwMDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJD WDoKPiA+ID4gMDAwMDAwMDAwMDAwMDAwNgo+ID4gPiBbICA0NTIuNDI0NTAyXSBSRFg6IDAwMDAw MDAwMDAwMDAwMDcgUlNJOiAwMDAwMDAwMDAwMDAwMDg2IFJESToKPiA+ID4gZmZmZjk4MWZkZTJk NWEwMAo+ID4gPiBbICA0NTIuNDI0NTAzXSBSQlA6IGZmZmZmZmZmYTllYTEyZTAgUjA4OiAwMDAw MDAwMDAwMDAwNzkyIFIwOToKPiA+ID4gMDAwMDAwMDAwMDAwMDA0Ngo+ID4gPiBbICA0NTIuNDI0 NTA0XSBSMTA6IDAwMDAwMDAwMDAwMDA3MjcgUjExOiBmZmZmYThiYjgxYjVmOWQwIFIxMjoKPiA+ ID4gZmZmZjk4MWZkNWY3NzAxMAo+ID4gPiBbICA0NTIuNDI0NTA1XSBSMTM6IGZmZmY5ODFmZDZl YmJlZGMgUjE0OiBkZWFkMDAwMDAwMDAwMjAwIFIxNToKPiA+ID4gZGVhZDAwMDAwMDAwMDEwMAo+ ID4gPiBbICA0NTIuNDI0NTA3XSBGUzogIDAwMDA3ZjhjYzFkOGM3NDAoMDAwMCkgR1M6ZmZmZjk4 MWZkZTJjMDAwMCgwMDAwKQo+ID4gPiBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCj4gPiA+IFsgIDQ1 Mi40MjQ1MDhdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAw MzMKPiA+ID4gWyAgNDUyLjQyNDUwOV0gQ1IyOiAwMDAwNTViMTlkMDc5YTA4IENSMzogMDAwMDAw MDQzYjJhMDAwMiBDUjQ6Cj4gPiA+IDAwMDAwMDAwMDAzNjA2ZTAKPiA+ID4gWyAgNDUyLjQyNDUx MF0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6Cj4gPiA+ IDAwMDAwMDAwMDAwMDAwMDAKPiA+ID4gWyAgNDUyLjQyNDUxMV0gRFIzOiAwMDAwMDAwMDAwMDAw MDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6Cj4gPiA+IDAwMDAwMDAwMDAwMDA0MDAKPiA+ ID4gWyAgNDUyLjQyNDUxMl0gQ2FsbCBUcmFjZToKPiA+ID4gWyAgNDUyLjQyNDUxNl0gIGRldmlj ZV9kZWwrMHg3NS8weDM2MAo+ID4gPiBbICA0NTIuNDI0NTE4XSAgPyBjbGFzc19maW5kX2Rldmlj ZSsweDk2LzB4ZjAKPiA+ID4gWyAgNDUyLjQyNDUyMF0gIGRldmljZV91bnJlZ2lzdGVyKzB4MTYv MHg2MAo+ID4gPiBbICA0NTIuNDI0NTIxXSAgZGV2aWNlX2Rlc3Ryb3krMHgzYS8weDQwCj4gPiA+ IFsgIDQ1Mi40MjQ1MjVdICBkcm1fZHBfYXV4X3VucmVnaXN0ZXJfZGV2bm9kZSsweGVhLzB4MTgw Cj4gPiA+IFtkcm1fa21zX2hlbHBlcl0KPiA+ID4gWyAgNDUyLjQyNDUzNF0gID8gZHJtX2RiZysw eDg3LzB4OTAgW2RybV0KPiA+ID4gWyAgNDUyLjQyNDUzOF0gIGRybV9kcF9tc3RfdG9wb2xvZ3lf cHV0X3BvcnQrMHg1Yi8weDExMCBbZHJtX2ttc19oZWxwZXJdCj4gPiA+IFsgIDQ1Mi40MjQ1NDNd ICBkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9tc3RiKzB4YjYvMHgxODAgW2RybV9rbXNfaGVscGVy XQo+ID4gPiBbICA0NTIuNDI0NTQ3XSAgZHJtX2RwX21zdF90b3BvbG9neV9tZ3Jfc2V0X21zdCsw eDIzMy8weDJiMAo+ID4gPiBbZHJtX2ttc19oZWxwZXJdCj4gPiA+IFsgIDQ1Mi40MjQ1NTFdICBk cm1fZHBfbXN0X3RvcG9sb2d5X21ncl9kZXN0cm95KzB4MTgvMHhhMAo+ID4gPiBbZHJtX2ttc19o ZWxwZXJdCj4gPiA+IFsgIDQ1Mi40MjQ1NzFdICBpbnRlbF9kcF9lbmNvZGVyX2ZsdXNoX3dvcmsr MHgzMi8weGIwIFtpOTE1XQo+ID4gPiBbICA0NTIuNDI0NTkyXSAgaW50ZWxfZGRpX2VuY29kZXJf ZGVzdHJveSsweDMyLzB4NzAgW2k5MTVdCj4gPiA+IFsgIDQ1Mi40MjQ2MDBdICBkcm1fbW9kZV9j b25maWdfY2xlYW51cCsweDUxLzB4MmUwIFtkcm1dCj4gPiA+IFsgIDQ1Mi40MjQ2MjFdICBpbnRl bF9tb2Rlc2V0X2NsZWFudXArMHhjOC8weDE0MCBbaTkxNV0KPiA+ID4gWyAgNDUyLjQyNDYzM10g IGk5MTVfZHJpdmVyX3VubG9hZCsweGE4LzB4MTMwIFtpOTE1XQo+ID4gPiBbICA0NTIuNDI0NjQ1 XSAgaTkxNV9wY2lfcmVtb3ZlKzB4MWUvMHg0MCBbaTkxNV0KPiA+ID4gWyAgNDUyLjQyNDY0N10g IHBjaV9kZXZpY2VfcmVtb3ZlKzB4M2IvMHhjMAo+ID4gPiBbICA0NTIuNDI0NjQ5XSAgZGV2aWNl X3JlbGVhc2VfZHJpdmVyX2ludGVybmFsKzB4ZTQvMHgxZDAKPiA+ID4gWyAgNDUyLjQyNDY1MV0g IHBjaV9zdG9wX2J1c19kZXZpY2UrMHg2OS8weDkwCj4gPiA+IFsgIDQ1Mi40MjQ2NTNdICBwY2lf c3RvcF9hbmRfcmVtb3ZlX2J1c19kZXZpY2VfbG9ja2VkKzB4MTYvMHgzMAo+ID4gPiBbICA0NTIu NDI0NjU1XSAgcmVtb3ZlX3N0b3JlKzB4NzUvMHg5MAo+ID4gPiBbICA0NTIuNDI0NjU2XSAga2Vy bmZzX2ZvcF93cml0ZSsweDExNi8weDE5MAo+ID4gPiBbICA0NTIuNDI0NjU4XSAgdmZzX3dyaXRl KzB4YTUvMHgxYTAKPiA+ID4gWyAgNDUyLjQyNDY2MF0gIGtzeXNfd3JpdGUrMHg1Ny8weGQwCj4g PiA+IFsgIDQ1Mi40MjQ2NjNdICBkb19zeXNjYWxsXzY0KzB4NTUvMHgxNTAKPiA+ID4gWyAgNDUy LjQyNDY2NV0gIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKPiA+ID4g WyAgNDUyLjQyNDY2N10gUklQOiAwMDMzOjB4N2Y4Y2MxZTdkMDM4Cj4gPiA+IFsgIDQ1Mi40MjQ2 NjhdIENvZGU6IDg5IDAyIDQ4IGM3IGMwIGZmIGZmIGZmIGZmIGViIGIzIDBmIDFmIDgwIDAwIDAw IDAwCj4gPiA+IDAwCj4gPiA+IGYzIDBmIDFlIGZhIDQ4IDhkIDA1IGU1IDc2IDBkIDAwIDhiIDAw IDg1IGMwIDc1IDE3IGI4IDAxIDAwIDAwIDAwIDBmIDA1Cj4gPiA+IDw0OD4gM2QgMDAgZjAgZmYg ZmYgNzcgNTggYzMgMGYgMWYgODAgMDAgMDAgMDAgMDAgNDEgNTQgNDkgODkgZDQgNTUKPiA+ID4g WyAgNDUyLjQyNDY3MF0gUlNQOiAwMDJiOjAwMDA3ZmZjZTQzMjEyMTggRUZMQUdTOiAwMDAwMDI0 NiBPUklHX1JBWDoKPiA+ID4gMDAwMDAwMDAwMDAwMDAwMQo+ID4gPiBbICA0NTIuNDI0NjcyXSBS QVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAwMDAyIFJDWDoKPiA+ID4gMDAw MDdmOGNjMWU3ZDAzOAo+ID4gPiBbICA0NTIuNDI0NjczXSBSRFg6IDAwMDAwMDAwMDAwMDAwMDIg UlNJOiAwMDAwNTY1MTVhZWZiZjAwIFJESToKPiA+ID4gMDAwMDAwMDAwMDAwMDAwMQo+ID4gPiBb ICA0NTIuNDI0Njc0XSBSQlA6IDAwMDA1NjUxNWFlZmJmMDAgUjA4OiAwMDAwMDAwMDAwMDAwMDBh IFIwOToKPiA+ID4gMDAwMDdmOGNjMWYwZWU4MAo+ID4gPiBbICA0NTIuNDI0Njc1XSBSMTA6IDAw MDAwMDAwMDAwMDAwMGEgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjoKPiA+ID4gMDAwMDdmOGNj MWY1MDc4MAo+ID4gPiBbICA0NTIuNDI0Njc2XSBSMTM6IDAwMDAwMDAwMDAwMDAwMDIgUjE0OiAw MDAwN2Y4Y2MxZjRiNzQwIFIxNToKPiA+ID4gMDAwMDAwMDAwMDAwMDAwMgo+ID4gPiBbICA0NTIu NDI0Njc4XSBXQVJOSU5HOiBDUFU6IDMgUElEOiAxODg3IGF0IGZzL3N5c2ZzL2dyb3VwLmM6MjU2 Cj4gPiA+IHN5c2ZzX3JlbW92ZV9ncm91cCsweDc2LzB4ODAKPiA+ID4gWyAgNDUyLjQyNDY4MF0g LS0tWyBlbmQgdHJhY2UgYTFjMTFlYWYwNTQ5MTBhMyBdLS0tCj4gPiAKPiA+ICoqc25pcCoqCj4g PiAKPiA+ID4gU28sIHdlIG5lZWQgdG8gbW92ZSB0aGUgZHJtX2RwX2F1eF9yZWdpc3Rlcl9kZXZu b2RlKCkgY2FsbCBhYm92ZSB0aGUKPiA+ID4gY29ubmVjdG9yCj4gPiA+IHJlZ2lzdHJhdGlvbiBj YWxsYmFjay4gU2FtZSBnb2VzIGZvciB0aGUgcG9ydC0+YXV4LmRldiA9IHBvcnQtCj4gPiA+ID5j b25uZWN0b3ItCj4gPiA+ID4ga2RldjsgYXNzaWdubWVudCB0aGF0IHlvdSBkbyBpbiBwYXRjaCAz LzcgKGFuZCBvZiBjb3Vyc2UsIHlvdSBjYW4KPiA+ID4gPiByZW1vdmUKPiA+ID4gPiB0aGUKPiA+ ID4gY29ubmVjdG9yIHJlZ2lzdHJhdGlvbiBzdGF0dXMgY2hlY2sgdGhlcmUgbm93KS4KPiA+IAo+ ID4gSG1tLCBJIGRvbid0IHRoaW5rIHRoYXQgd2lsbCBxdWl0ZSB3b3JrIGZvciB0aGUgcHVycG9z ZSBvZiB0aGUgc2VyaWVzLgo+ID4gCj4gPiBJZiBJIHJlZ2lzdGVyIHRoZSBhdXggZGV2aWNlIGJl Zm9yZSB0aGUgY29ubmVjdG9yJ3MsIEkgd291bGRuJ3QgYmUgYWJsZQo+ID4gdG8gc2V0IHRoZSBj b25uZWN0b3IncyBrZGV2IGFzIHBhcmVudC4gVGhlIHVkZXYgcnVsZXMgZGVwZW5kIG9uIHRoaXMK PiA+IGhpZXJhcmNoeSB0byBnZW5lcmF0ZSB0aGUgc3ltbGlua3Mgd2Ugd2FudCAtIGl0IHJlYWRz IHRoZSBwYXJlbnQKPiA+IGNvbm5lY3RvcidzIGF0dHJzLgo+IAo+IGVlc2gsIHlvdSdyZSByaWdo dC1zb21laG93IEkgZGlkbid0IG5vdGljZSB0aGF0LiBHdWVzcyB3ZSdsbCBuZWVkIHNvbWUgc29y dAo+IG9mCj4gb3RoZXIgZml4IHRoZW4KPiAKPiA+IEhvdyBhcmUgeW91IHJlcHJvZHVjaW5nIHRo aXM/IEkgY2FuIHRyeSBkZWJ1Z2dpbmcgdGhpcyBvbiBhbiBpbnRlbAo+ID4gc3lzdGVtLiBJdCBs b29rcyBsaWtlIHRoZXJlJ3MgYW4gZXhwZWN0ZWQgJ3Bvd2VyJyBhdHRyaWJ1dGUgZ3JvdXAgdGhh dCdzCj4gPiBtaXNzaW5nIHdoZW4gdW5yZWdpc3RlcmluZyB0aGUgYXV4IGRldmljZSAtIEkgd29u ZGVyIHdoZXJlIHRoYXQgZ2V0cwo+ID4gYXR0YWNoZWQuCj4gCj4gSSdtIHJlcHJvZHVjaW5nIHRo aXMganVzdCBieSByZWxvYWRpbmcgaTkxNSBvbiBhIG1hY2hpbmUgd2l0aCBzb21lIE1TVAo+IGRp c3BsYXlzIGNvbm5lY3RlZC4gSSB1cGxvYWRlZCBhIGNvcHkgb2YgdGhlIHNjcmlwdCB0aGF0IEkg dXNlIHRvIGRvIHRoaXMKPiBoZXJlOgo+IAo+IGh0dHBzOi8vcGVvcGxlLmZyZWVkZXNrdG9wLm9y Zy9+bHl1ZGVzcy9hcmNoaXZlLzA2LTAzLTIwMTkvdW5sb2FkZ3B1bW9kLnNoCgpvb3BzLWFsbW9z dCBmb3Jnb3QgdG8gbWVudGlvbi4gVGhlIGFyZ3VtZW50IHlvdSBwYXNzIHRvIG1ha2UgaXQgcmVs b2FkIGluc3RlYWQKb2YganVzdCB1bmxvYWRpbmcgaXMgLS1yZWxvYWQKCj4gCj4gR2l2ZW4gYSBt b2R1bGUgKGluIHRoaXMgY2FzZSBkcm0ua28pLCBpdCB3aWxsIGdvIHRocm91Z2ggYW5kIHVubG9h ZCBhbGwgb2YKPiB0aGUKPiBtb2R1bGVzIGRlcGVuZGluZyBvbiBpdCwgdGhlbiBkcm0ua28sIHRo ZW4gcmVsb2FkLgo+ID4gVGhhbmtzLAo+ID4gTGVvCj4gPiAKPiA+ID4gPiArCj4gPiA+ID4gKyAg ICAgICAgICAgICBkcm1fZHBfYXV4X3JlZ2lzdGVyX2Rldm5vZGUoJnBvcnQtPmF1eCk7Cj4gPiA+ ID4gICAgICAgIH0KLS0gCkNoZWVycywKCUx5dWRlIFBhdWwKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==