VHVlIE9jdCAxMiAyMDozMTowMCAxOTk5ICBHdXN0YXZvIEp1bmlvciBBbHZlcyA8YWx2ZXNAY29ycmVpb25ldC5jb20uYnI+CgkqIFtQdC5yY10gW01ha2VmaWxlLmluXQoJQWRkZWQgUG9ydHVndWVzZSBsYW5ndWFnZSBzdXBwb3J0LgoKVGh1IEphbiAyOCAxNzoxNzoyOCAxOTk5ICBKdWtrYSBJaXZvbmVuICA8aWl2b25lbkBpa2kuZmk+CgoJKiBbRmkucmNdIFttYWluLmNdIFtNYWtlZmlsZS5pbl0KCUFkZGVkIEZpbm5pc2ggbGFuZ3VhZ2Ugc3VwcG9ydC4KCk1vbiBOb3YgIDIgMTk6NTI6MjIgMTk5OCAgUm9iZXJ0IFBvdWxpb3QgPGtyeW5vc0BjbGljLm5ldD4KICAgICAgICogW0ZyLnJjXSBbbWFpbi5jXSBbTWFrZWZpbGUuaW5dCiAgICAgICAgIEFkZGVkIEZyZW5jaCBsYW5ndWFnZSBzdXBwb3J0LgoJIEZpeGVzIGZvciBvdGhlciBsYW5ndWFnZXMuCgpTdW4gSnVsICA1IDIwOjEwOjUzIDE5OTggIE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4KICAgICAgICogTW92ZWQgIkFsd2F5cyBvbiB0b3AiIG1lbnUgaW50byBzeXN0ZW0gbWVudSAoYXMgaW4gV2luZG93cykKICAgICAgICAgVGhpcyByZXF1aXJlZCBtaW5vciBjaGFuZ2VzIGluIAogICAgICAgICBbbWFpbi5oXSBbY2xvY2sucmNdIFtsYW5ndWFnZS5jXSBbPz8ucmNdCgpGcmkgSnVuIDEyIDIyOjQ3OjU2IDE5OTggIE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4KICAgICAgICogRml4ZWQgcmVzb3VyY2UgYnVnIGluIFVwZGF0ZVdpbmRvd0NhcHRpb24oKSB0aGF0IGNhdXNlZCB3cm9uZyAob2xkKQogICAgICAgICBsb2NhbGUgZm9yIHRoZSBkaXNwbGF5ZWQgZGF0ZQogICAgICAgKiBUaGUgZGlnaXRhbCBjbG9jayBub3cgc2hvd3MgdXAgKFdJTkUtTkxTLVVOS05PV04gbWVhbnMgdGhhdCB0aGVyZQogICAgICAgICBpcyBubyBsb2NhbGUgcnVsZSBmb3IgdGltZSBzdHJpbmcgZm9ybWF0IGluIC9vbGUvb2xlMm5scy5jKQoKVGh1IE1heSAyOCAyMDo0MjoxMyAxOTk4ICBNYXJjZWwgQmF1ciA8bWJhdXJAZzI2LmV0aHouY2g+CiAgICAgICAqIFtsYW5ndWFnZS5jXQogICAgICAgICBVcGRhdGVXaW5kb3dDYXB0aW9uKCksIGxvY2FsZSBhbmQgZGF0ZQogICAgICAgICBVcGRhdGVNZW51Q2hlY2ttYXJrcygpCiAgICAgICAgIEdlbmVyYWwgY29kZSBjbGVhbnVwIChyZW1vdmVkIG9ic29sZXRlIHByaW50ZidzKQogICAgICAgICAKVGh1IE1heSAyOCAyMDoxMDozNiAxOTk4ICBNaWtvbGFqIFphbGV3c2tpIDxtaWtvbGFqekBpZHMuZWR1LnBsPgogICAgICAgKiBbbWFpbi5jXSBbd2luY2xvY2suaF0KICAgICAgICAgRml4ZWQgZGVzdHJveWVkIGJhY2tncm91bmQKCk1vbiBNYXkgMjUgMTQ6MzA6MzIgMTk5OCAgSGVucmlrIE9sc2VuIDxoZW5yaWtAaWFlc3RlLmRrPgogICAgICAgKiBbRGEucmNdCiAgICAgICAgIEFkZGVkIERhbmlzaCBsYW5ndWFnZSBzdXBwb3J0LgoKV2VkIE1hciAxMSAyMzoxMDozNyAxOTk4ICBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+CiAgICAgICAqIFttYWluLmNdCiAgICAgICAgIFN0YXJ0ZWQgd2l0aCB0aGUgZGlnaXRhbCBjbG9jay4KClR1ZSBGZWIgMjQgMjM6MjY6NDAgMTk5OCAgS2FybCBCYWNrc3Ry9m0gPGthcmxfYkBnZW9jaXRpZXMuY29tPgogICAgICAgKiBbbGFuZ3VhZ2UuY10gW2xhbmd1YWdlLmhdIE5FVwogICAgICAgICBNb3ZlZCBsYW5ndWFnZSBzdHVmZiBoZXJlLgogICAgICAgKiBbbWFpbi5jXSBbd2luY2xvY2suY10gW2Nsb2NrLnJjXQogICAgICAgICBNYWRlIHRoZSBjbG9jayBhcHBlYXIgaW4gdGhlIGNlbnRlci4KICAgICAgICAgRml4ZWQgcHJvYmxlbXMgd2l0aCBtZW51ZXMuCgpNb24gRmViIDIzIDE5OjU5OjI3IDE5OTggIE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4KICAgICAgICogW0NoYW5nZUxvZ10gW0RlLnJjXSBbRW4ucmNdIFtTdy5yY10gW2Nsb2NrLnJjXQogICAgICAgICBbbGljZW5zZS5jXSBbbGljZW5zZS5oXSBbTGljZW5zZV9Fbi5jXQogICAgICAgICBbUkVBRE1FXSBbVE9ET10KICAgICAgICAgW21haW4uY10gW21haW4uaF0gW3dpbmNsb2NrLmNdIFt3aW5jbG9jay5oXQoKICAgICAgICAgT3JpZ2luYWxzIGJ5IE1hcmNlbCBCYXVyCg==