Li4gTWV0YWZ1bmN0aW9ucy9Db25jZXB0cy8vUGxhY2Vob2xkZXIgRXhwcmVzc2lvbiB8NDAKClBsYWNlaG9sZGVyIEV4cHJlc3Npb24KPT09PT09PT09PT09PT09PT09PT09PQoKRGVzY3JpcHRpb24KLS0tLS0tLS0tLS0KCkEgfFBsYWNlaG9sZGVyIEV4cHJlc3Npb258IGlzIGEgdHlwZSB0aGF0IGlzIGVpdGhlciBhIHxwbGFjZWhvbGRlcnwgb3IgYSBjbGFzcwp0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiB3aXRoIGF0IGxlYXN0IG9uZSBhcmd1bWVudCB0aGF0IGl0c2VsZiBpcyBhIAp8UGxhY2Vob2xkZXIgRXhwcmVzc2lvbnwuCgoKRXhwcmVzc2lvbiByZXF1aXJlbWVudHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCklmIGBgWGBgIGlzIGEgY2xhc3MgdGVtcGxhdGUsIGFuZCBgYGExYGAsLi4uIGBgYW5gYCBhcmUgYXJiaXRyYXJ5IHR5cGVzLCB0aGVuCmBgWDxhMSwuLi4sYW4+YGAgaXMgYSB8UGxhY2Vob2xkZXIgRXhwcmVzc2lvbnwgaWYgYW5kIG9ubHkgaWYgYWxsIG9mIHRoZSBmb2xsb3dpbmcKY29uZGl0aW9ucyBob2xkOgoKKiBBdCBsZWFzdCBvbmUgb2YgdGhlIHRlbXBsYXRlIGFyZ3VtZW50cyBgYGExYGAsLi4uIGBgYW5gYCBpcyBhIHxwbGFjZWhvbGRlcnwKICBvciBhIHxQbGFjZWhvbGRlciBFeHByZXNzaW9ufC4KICAKKiBBbGwgb2YgYGBYYGBcICdzIHRlbXBsYXRlIHBhcmFtZXRlcnMsIGluY2x1ZGluZyB0aGUgZGVmYXVsdCBvbmVzLCBhcmUgdHlwZXMuCgoqIFRoZSBudW1iZXIgb2YgYGBYYGBcICdzIHRlbXBsYXRlIHBhcmFtZXRlcnMsIGluY2x1ZGluZyB0aGUgZGVmYXVsdCBvbmVzLCBpcwogIGxlc3Mgb3IgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIGBgQk9PU1RfTVBMX0xJTUlUX01FVEFGVU5DVElPTl9BUklUWWBgIAogIGBjb25maWd1cmF0aW9uIG1hY3JvYF9fLgoKX18gYENvbmZpZ3VyYXRpb25gXwoKCk1vZGVscwotLS0tLS0KCiogfF8xfAoqIGBgcGx1czxfLCBpbnRfPDI+ID5gYAoqIGBgaWZfPCBsZXNzPF8xLCBpbnRfPDc+ID4sIHBsdXM8XzEsXzI+LCBfMSA+YGAKCgpTZWUgYWxzbwotLS0tLS0tLQoKfExhbWJkYSBFeHByZXNzaW9ufCwgfFBsYWNlaG9sZGVyc3wsIHxNZXRhZnVuY3Rpb25zfCwgfGFwcGx5fCwgfGxhbWJkYXwKCgouLiBjb3B5cmlnaHQ6OiBDb3B5cmlnaHQgqSAgMjAwMS0yMDA5IEFsZWtzZXkgR3VydG92b3kgYW5kIERhdmlkIEFicmFoYW1zCiAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKICAgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCg==