Re: Fwd: LDAP configuration and hooks
Arjen de Korte <[email protected]> Fri, 29 Nov 2019 22:52:11 +0100
| Newsgroups | gmane.comp.horde.user |
|---|---|
| Message-ID | <[email protected]> |
Q2l0ZXJlbiAiRGF2aWQgV2VsbHMgLSBBbGZhdmluaWwgUy5BLiIgPGR3ZWxsc0BhbGZhdmluaWwu Y29tPjoKCj4gVGhhbmtzIGZvciB5b3VyIHJlcGx5Lgo+Cj4gSSBtb3ZlZCB0aGUgZmlsZSBmcm9t IGhvb2tzLmxvY2FsLnBocCB0byBob29rcy5waHAgYW5kIEkgc3RpbGwgZ2V0IHRoZQo+IGVycm9y IHN0YXRpbmcgaG9yZGUgaXMgdHJ5aW5nIHRvIGNvbm5lY3QgdG8gbG9jYWxob3N0OjM4OSBpbnN0 ZWFkIG9mIHRoZQo+IGhvc3QgY29uZmlndXJlZCBpbiBjb25maWcucGhwLgoKUGxlYXNlIGJlIHBy ZWNpc2UuIFRoZXJlIGlzIG5vIGNvbmZpZ3VyYXRpb24gZmlsZSAnY29uZmlnLnBocCcgYW5kICAK YWxzbyBwbGVhc2UgbWVudGlvbiAqd2hpY2gqIGNvbmZpZ3VyYXRpb24gZmlsZSB5b3VyIG1lYW4u IEluIG1hbnkgIAphcHBsaWNhdGlvbnMgdGhlcmUgd2lsbCBiZSBhICdjb25mLnBocCcgYW5kICdo b29rcy5waHAnIGZpbGUsIGJ1dCAgCndpdGhvdXQgYXQgbGVhc3QgdHdvIG1vcmUgZGlyZWN0b3J5 IGxldmVscywgSSBoYXZlIG5vIGlkZWEgd2hpY2ggb25lICAKeW91IG1lYW4uCgpMYXN0IGJ1dCBu b3QgbGVhc3QsIG1ha2Ugc3VyZSB0aGUgd2Vic2VydmVyIGlzIGFibGUgdG8gcmVhZCB0aGVzZSAg CmNvbmZpZ3VyYXRpb24gZmlsZXMgKHBlcm1pc3Npb25zKS4KCj4KPiBFbCAyOS8xMS8yMDE5IGEg bGFzIDE2OjU0LCBBcmplbiBkZSBLb3J0ZSBlc2NyaWJpw7M6Cj4+IENpdGVyZW4gIkRhdmlkIFdl bGxzIC0gQWxmYXZpbmlsIFMuQS4iIDxkd2VsbHNAYWxmYXZpbmlsLmNvbT46Cj4+Cj4+PiBIaSBh Z2FpbiEKPj4+Cj4+PiBJIGRpc2NvdmVyZWQgdGhhdCB3aGVuIEkgZXhlY3V0ZSBpbiB0aGUgUEhQ IFNoZWxsIGp1c3QgdGhlIGxpbmUgIiRsZGFwID0KPj4+ICRHTE9CQUxTWydpbmplY3RvciddLT5n ZXRJbnN0YW5jZSgnSG9yZGVfTGRhcCcpOyIgSSBhbHJlYWR5IGdldCB0aGUKPj4+IGVycm9yICJl eGNlcHRpb24gJ0hvcmRlX0xkYXBfRXhjZXB0aW9uJyB3aXRoIG1lc3NhZ2UgJ0NvdWxkIG5vdCBj b25uZWN0Cj4+PiB0byBsb2NhbGhvc3Q6Mzg5JyIKPj4+Cj4+Pgo+Pj4gLS0tLS0tLS0gTWVuc2Fq ZSByZWVudmlhZG8gLS0tLS0tLS0KPj4+IEFzdW50bzrCoMKgwqDCoCBbaG9yZGVdIExEQVAgY29u ZmlndXJhdGlvbiBhbmQgaG9va3MKPj4+IEZlY2hhOsKgwqDCoMKgIFRodSwgMjggTm92IDIwMTkg MTg6MTI6NDEgLTAzMDAKPj4+IERlOsKgwqDCoMKgIERhdmlkIFdlbGxzIDxkd2VsbHNAYWxmYXZp bmlsLmNvbT4KPj4+IFBhcmE6wqDCoMKgwqAgaG9yZGVAbGlzdHMuaG9yZGUub3JnCj4+Pgo+Pj4K Pj4+Cj4+PiBIaSEKPj4+Cj4+Pgo+Pj4gSSBoYXZlIGNvbmZpZ3VyZWQgdGhlIExEQVAgc2V0dGlu Z3MgaW4gaG9yZGUgYXMgZm9sbG93Cj4+Pgo+Pj4+ICRjb25mWydsZGFwJ11bJ2hvc3RzcGVjJ10g PSBhcnJheSgnZGMxLmZsaWF3ZWxscy5jb20uYXInKTsKPj4+PiAkY29uZlsnbGRhcCddWydwb3J0 J10gPSAzMjY4Owo+Pj4+ICRjb25mWydsZGFwJ11bJ3RscyddID0gdHJ1ZTsKPj4+PiAkY29uZlsn bGRhcCddWyd0aW1lb3V0J10gPSA1Owo+Pj4+ICRjb25mWydsZGFwJ11bJ3ZlcnNpb24nXSA9IDM7 Cj4+Pj4gJGNvbmZbJ2xkYXAnXVsndXNlciddWydiYXNlZG4nXSA9ICdEQz1mbGlhd2VsbHMsREM9 Y29tLERDPWFyJzsKPj4+PiAkY29uZlsnbGRhcCddWyd1c2VyJ11bJ3VpZCddID0gJ3VzZXJQcmlu Y2lwYWxOYW1lJzsKPj4+PiAkY29uZlsnbGRhcCddWyd1c2VyJ11bJ29iamVjdGNsYXNzJ10gPSBh cnJheSgnKicpOwo+Pj4+ICRjb25mWydsZGFwJ11bJ3VzZXInXVsnZmlsdGVyX3R5cGUnXSA9ICdv YmplY3RjbGFzcyc7Cj4+Pj4gJGNvbmZbJ2xkYXAnXVsnYmluZGFzJ10gPSAndXNlcic7Cj4+Pj4g JGNvbmZbJ2xkYXAnXVsndXNlbGRhcCddID0gdHJ1ZTsKPj4+Cj4+PiBXaGVuIEkgbW9kaWZ5IHRo ZSBob29rcy5sb2NhbC5waHAgZmlsZSBzbyB0aGF0IGl0IHJlYWRzCj4+Cj4+IEhvcmRlIGRvZXNu J3QgdXNlIGEgJ2hvb2tzLmxvY2FsLnBocCcgZmlsZSBhbnl3aGVyZS4gVGhlIGRpc3RyaWJ1dGVk Cj4+IHZlcnNpb24gaXMgY2FsbGVkICdob29rcy5waHAuZGlzdCcgYW5kIGFzIGZhciBhcyBJIHJl bWVtYmVyIHRoZXJlIGlzIGEKPj4gJ2hvb2tzLnBocCcgaW4gdGhlIHdlYm1haWwgcGFja2FnZS4g Q2hhbmNlcyBhcmUgaGVyZSBpcyBhICdob29rcy5waHAnCj4+IGZpbGUgYWxvbmdzaWRlIHlvdXIg J2hvb2tzLmxvY2FsLnBocCcgYW5kIGl0IGlzIHRoYXQgb25lIHRoYXQgaXMKPj4gYWN0dWFsbHkg dXNlZC4gVHJ5IHJlbmFtaW5nIHRoaXMgJ2hvb2tzLmxvY2FsLnBocCcgZmlsZSB0byAnaG9va3Mu cGhwJwo+PiBhbmQgY2hlY2sgYWdhaW4uCj4+Cj4+Pgo+Pj4+IDw/cGhwCj4+Pj4gY2xhc3MgSG9y ZGVfSG9va3MKPj4+PiB7Cj4+Pj4gwqDCoMKgIHB1YmxpYyBmdW5jdGlvbiBwcmVmc19pbml0KCRw cmVmLCAkdmFsdWUsICR1c2VybmFtZSwgJHNjb3BlX29iKQo+Pj4+IMKgwqDCoCB7Cj4+Pj4gwqDC oMKgwqDCoMKgwqAgc3dpdGNoICgkcHJlZikgewo+Pj4+IMKgwqDCoMKgwqDCoMKgIGNhc2UgJ2Zy b21fYWRkcic6Cj4+Pj4KPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChpc19udWxsKCR1 c2VybmFtZSkpIHsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuICR2 YWx1ZTsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4+Pgo+Pj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgJGxkYXAgPSAkR0xPQkFMU1snaW5qZWN0b3InXS0+Z2V0SW5zdGFuY2UoJ0hv cmRlX0xkYXAnKTsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRyeSB7Cj4+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICRyZXN1bHQgPSAkbGRhcC0+c2VhcmNoKAo+Pj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICRHTE9CQUxTWydjb25mJ11bJ2xk YXAnXVsndXNlciddWydiYXNlZG4nXSwKPj4+PiBIb3JkZV9MZGFwX0ZpbHRlcjo6Y3JlYXRlKCd1 c2VyUHJpbmNpcGFsTmFtZScsICdlcXVhbHMnLCAkdXNlcm5hbWUpLAo+Pj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFycmF5KCdhdHRyaWJ1dGVzJyA9PiBhcnJheSgn bWFpbCcpKQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApOwo+Pj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoJHJlc3VsdC0+Y291bnQoKSkgewo+Pj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICRlbnRyeSA9ICRyZXN1bHQtPnNo aWZ0RW50cnkoKTsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy ZXR1cm4gJGVudHJ5LT5nZXRWYWx1ZSgnbWFpbCcsICdzaW5nbGUnKTsKPj4+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSBjYXRj aCAoSG9yZGVfTGRhcF9FeGNlcHRpb24gJGUpIHsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IH0KPj4+Pgo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuICR2YWx1ZTsKPj4+Pgo+ Pj4+Cj4+Pj4gwqDCoMKgwqDCoMKgwqAgY2FzZSAnZnVsbG5hbWUnOgo+Pj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgaWYgKGlzX251bGwoJHVzZXJuYW1lKSkgewo+Pj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gJHZhbHVlOwo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfQo+Pj4+Cj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAkbGRhcCA9ICRHTE9CQUxTWydp bmplY3RvciddLT5nZXRJbnN0YW5jZSgnSG9yZGVfTGRhcCcpOwo+Pj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgdHJ5IHsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJHJlc3Vs dCA9ICRsZGFwLT5zZWFyY2goCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgJEdMT0JBTFNbJ2NvbmYnXVsnbGRhcCddWyd1c2VyJ11bJ2Jhc2VkbiddLAo+Pj4+IEhv cmRlX0xkYXBfRmlsdGVyOjpjcmVhdGUoJ3VzZXJQcmluY2lwYWxOYW1lJywgJ2VxdWFscycsICR1 c2VybmFtZSksCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXJy YXkoJ2F0dHJpYnV0ZXMnID0+IGFycmF5KCdjbicsICdjbjtsYW5nLWVzJykpCj4+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICk7Cj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGlmICgkcmVzdWx0LT5jb3VudCgpKSB7Cj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgJGVudHJ5ID0gJHJlc3VsdC0+c2hpZnRFbnRyeSgpOwo+Pj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAkZW50cnktPmdldFZh bHVlKCdjbjtsYW5nLWVzJywgJ3NpbmdsZScpCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA/OiAkZW50cnktPmdldFZhbHVlKCdjbicsICdzaW5nbGUn KTsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+Pj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfSBjYXRjaCAoSG9yZGVfTGRhcF9FeGNlcHRpb24gJGUpIHsKPj4+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4+Pgo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0 dXJuICR1c2VybmFtZTsKPj4+PiDCoMKgwqDCoMKgwqDCoCB9Cj4+Pj4gwqDCoMKgIH0KPj4+PiB9 Cj4+Pgo+Pj4gYW5kIGVuYWJsZSB0aGVzZSBob29rcyBieSBtb2RpZnlpbmcgdGhlIHByZWZzLmxv Y2FsLnBocCBmaWxlIHNvIHRoYXQgaXQKPj4+IHJlYWRzCj4+Pgo+Pj4+IDw/cGhwCj4+Pj4gJF9w cmVmc1snZnJvbV9hZGRyJ11bJ2hvb2snXSA9IHRydWU7Cj4+Pj4gJF9wcmVmc1snZnVsbG5hbWUn XVsnaG9vayddID0gdHJ1ZTsKPj4+Cj4+PiBJIGdldCBhbiBlcnJvciB0aGF0IHNheXMKPj4+Cj4+ Pj4KPj4+PiDCoMKgwqDCoMKgIENvdWxkIG5vdCBjb25uZWN0IHRvIGxvY2FsaG9zdDozODkKPj4+ Pgo+Pj4gV2hlbiBJIGNvbW1lbnQgdGhlIHByZWZzLmxvY2FsLnBocCBmaWxlIGFuZCBhY2Nlc3Mg aG9yZGUgSSBydW4gdGhlCj4+PiBmb2xsb3dpbmcgcGllY2Ugb2YgY29kZSBpbiB0aGUgUEhQIFNo ZWxsICh1bmRlciB0aGUgaG9yZGUgY29udGV4dAo+Pj4KPj4+PiB8JGxkYXB8IHw9Cj4+Pj4gfHwk R0xPQkFMU3x8W3x8J2luamVjdG9yJ3x8XS0+Z2V0SW5zdGFuY2UofHwnSG9yZGVfTGRhcCd8fCk7 fAo+Pj4+IHx8fHRyeXwgfHt8Cj4+Pj4gfHx8JHJlc3VsdHwgfD0gfHwkbGRhcHx8LT5zZWFyY2go fAo+Pj4+IHx8fCRHTE9CQUxTfHxbfHwnY29uZid8fF1bfHwnbGRhcCd8fF1bfHwndXNlcid8fF1b fHwnYmFzZWRuJ3x8XSx8Cj4+Pj4gfHx8SG9yZGVfTGRhcF9GaWx0ZXI6OmNyZWF0ZSh8fCd1c2Vy UHJpbmNpcGFsTmFtZSd8fCwgfHwnZXF1YWxzJ3x8LAo+Pj4+IHx8J2R3ZWxsc0BmbGlhd2VsbHMu Y29tLmFyJ3x8KSwgfHxhcnJheXx8KHx8J2F0dHJpYnV0ZXMnfCB8PT4KPj4+PiB8fGFycmF5fHwo fHwnbWFpbCd8fCkpKTt8Cj4+Pj4gfHx8aWZ8IHwofHwkcmVzdWx0fHwtPnx8Y291bnR8fCgpKSB7 fAo+Pj4+IHx8fCRlbnRyeXwgfD0gfHwkcmVzdWx0fHwtPnNoaWZ0RW50cnkoKTt8Cj4+Pj4gfHx8 cmV0dXJufCB8JGVudHJ5fHwtPmdldFZhbHVlKHx8J21haWwnfHwsIHx8J3NpbmdsZSd8fCk7fAo+ Pj4+IHx8fH18Cj4+Pj4gfHx8fSB8fGNhdGNofCB8KEhvcmRlX0xkYXBfRXhjZXB0aW9uIHx8JGV8 fCkge3wKPj4+PiB8fHx9fAo+Pj4+IHx8fHJldHVybnwgfCR2YWx1ZXx8O3wKPj4+IEkgZ2V0IHRo ZSBmb2xsb3dpbmcgcmVzdWx0Cj4+Pgo+Pj4+IGV4Y2VwdGlvbiAnSG9yZGVfTGRhcF9FeGNlcHRp b24nIHdpdGggbWVzc2FnZSAnQ291bGQgbm90IGNvbm5lY3QgdG8KPj4+PiBsb2NhbGhvc3Q6Mzg5 JyBpbiAvdXNyL2xpYjY0L3BocC9Ib3JkZS9MZGFwLnBocDozMjEKPj4+PiBTdGFjayB0cmFjZToK Pj4+PiAjMCAvdXNyL2xpYjY0L3BocC9Ib3JkZS9MZGFwLnBocCgyMjUpOiBIb3JkZV9MZGFwLT5f Y29ubmVjdCgpCj4+Pj4gIzEgL3Vzci9saWI2NC9waHAvSG9yZGUvTGRhcC5waHAoMTM3KTogSG9y ZGVfTGRhcC0+YmluZCgpCj4+Pj4gIzIgW2ludGVybmFsIGZ1bmN0aW9uXTogSG9yZGVfTGRhcC0+ X19jb25zdHJ1Y3QoQXJyYXkpCj4+Pj4gIzMgL3Vzci9saWI2NC9waHAvSG9yZGUvSW5qZWN0b3Iv QmluZGVyL0ltcGxlbWVudGF0aW9uLnBocCg4OCk6Cj4+Pj4gUmVmbGVjdGlvbkNsYXNzLT5uZXdJ bnN0YW5jZUFyZ3MoQXJyYXkpCj4+Pj4gIzQgL3Vzci9saWI2NC9waHAvSG9yZGUvSW5qZWN0b3Iv QmluZGVyL0ltcGxlbWVudGF0aW9uLnBocCg3MCk6Cj4+Pj4gSG9yZGVfSW5qZWN0b3JfQmluZGVy X0ltcGxlbWVudGF0aW9uLT5fZ2V0SW5zdGFuY2UoT2JqZWN0KEhvcmRlX0luamVjdG9yKSwKPj4+ PiBPYmplY3QoUmVmbGVjdGlvbkNsYXNzKSkKPj4+PiAjNSAvdXNyL2xpYjY0L3BocC9Ib3JkZS9J bmplY3Rvci9CaW5kZXIvQW5ub3RhdGVkU2V0dGVycy5waHAoNzgpOgo+Pj4+IEhvcmRlX0luamVj dG9yX0JpbmRlcl9JbXBsZW1lbnRhdGlvbi0+Y3JlYXRlKE9iamVjdChIb3JkZV9JbmplY3Rvcikp Cj4+Pj4gIzYgL3Vzci9saWI2NC9waHAvSG9yZGUvSW5qZWN0b3IucGhwKDIzOCk6Cj4+Pj4gSG9y ZGVfSW5qZWN0b3JfQmluZGVyX0Fubm90YXRlZFNldHRlcnMtPmNyZWF0ZShPYmplY3QoSG9yZGVf SW5qZWN0b3IpKQo+Pj4+ICM3IC91c3IvbGliNjQvcGhwL0hvcmRlL0luamVjdG9yLnBocCgyNzIp Ogo+Pj4+IEhvcmRlX0luamVjdG9yLT5jcmVhdGVJbnN0YW5jZSgnSG9yZGVfTGRhcCcpCj4+Pj4g IzggL3Zhci93d3cvaG9yZGUvYWRtaW4vcGhwc2hlbGwucGhwKDY2KSA6IGV2YWwoKSdkIGNvZGUo MSk6Cj4+Pj4gSG9yZGVfSW5qZWN0b3ItPmdldEluc3RhbmNlKCdIb3JkZV9MZGFwJykKPj4+PiAj OSAvdmFyL3d3dy9ob3JkZS9hZG1pbi9waHBzaGVsbC5waHAoNjYpOiBldmFsKCkKPj4+PiAjMTAg e21haW59Cj4+Pgo+Pj4gRnJvbSB3aGF0IEkgY2FuIHRlbGwgdGhlIGxpYnJhcnkgaXMgdHJ5aW5n IHRvIGNvbm5lY3QgbG8gbG9jYWxob3N0OjM4OQo+Pj4gZXZlbiB0aG91Z2ggdGhlIHNldHRpbmdz IHN0YXRlIHRoYXQgaXQgc2hvdWxkIGJlIGNvbm5lY3RpbmcgdG8KPj4+IGRjMS5mbGlhd2VsbHMu Y29tLmFyOjMyNjguIFdoYXQgY291bGQgSSBiZSBtaXNzaW5nIGhlcmU/Cj4+Pgo+Pj4KPj4+IFRo YW5rIHlvdSB2ZXJ5IG11Y2ggaW4gYWR2YW5jZSEKPj4+Cj4+PiBCZXN0IHJlZ2FyZHMsCj4+Pgo+ Pj4gRGF2aWQgV2VsbHMuCj4+Pgo+Pj4KPj4+Cj4+PiAtLQo+Pj4gSG9yZGUgbWFpbGluZyBsaXN0 Cj4+PiBGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uczogaHR0cDovL2hvcmRlLm9yZy9mYXEvCj4+ PiBUbyB1bnN1YnNjcmliZSwgbWFpbDogaG9yZGUtdW5zdWJzY3JpYmVAbGlzdHMuaG9yZGUub3Jn Cj4+Cj4+Cj4+CgoKCi0tIApIb3JkZSBtYWlsaW5nIGxpc3QKRnJlcXVlbnRseSBBc2tlZCBRdWVz dGlvbnM6IGh0dHA6Ly9ob3JkZS5vcmcvZmFxLwpUbyB1bnN1YnNjcmliZSwgbWFpbDogaG9yZGUt dW5zdWJzY3JpYmVAbGlzdHMuaG9yZGUub3JnCg==