YQ0NCgAAAAC0q+xfHwwAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzWgAAAGQAWgBkAWQCbAFtAloCAQBkAWQDbAFtA1oDAQBkAWQEbARaBGQBZARsBVoFZAFkBGwGWgZkAWQEbAdaB0cAZAVkBoQAZAZlCIMDWglkCmQIZAmEAVoKZARTACkLYfgCAAAKICAgQ29weXJpZ2h0IDIwMTMsIFNoaW55YSBUYWthbWFlZGEtWWFtYXpha2kgYW5kIENvbnRyaWJ1dG9ycwoKICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKICAgLS0tLQogICBWZXJpbG9nIFByZXByb2Nlc3NvcgogCiAgIEljYXJ1cyBWZXJpbG9nIGlzIHVzZWQgYXMgdGhlIGludGVybmFsIHByZXByb2Nlc3Nvci4KICAgUGxlYXNlIGluc3RhbGwgSWNhcnVzIFZlcmlsb2cgb24geW91ciBlbnZpcm9ubWVu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