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==