ZGlmZiAtLWdpdCAiYS9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLmFnZW50L1RocmVlRGVlIEFnZW50IFwwNTBTZXJ2ZXJcMDUxLmxhdW5jaCIgImIvb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS5hZ2VudC9UaHJlZURlZSBBZ2VudCBcMDUwU2VydmVyXDA1MS5sYXVuY2giCmluZGV4IDZlM2U3YWMuLjRiYzEwYmYgMTAwNjQ0Ci0tLSAiYS9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLmFnZW50L1RocmVlRGVlIEFnZW50IFwwNTBTZXJ2ZXJcMDUxLmxhdW5jaCIKKysrICJiL29yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUuYWdlbnQvVGhyZWVEZWUgQWdlbnQgXDA1MFNlcnZlclwwNTEubGF1bmNoIgpAQCAtNiw3ICs2LDcgQEAKIDxib29sZWFuQXR0cmlidXRlIGtleT0iYXV0b21hdGljQWRkIiB2YWx1ZT0iZmFsc2UiLz4NCiA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9ImF1dG9tYXRpY1ZhbGlkYXRlIiB2YWx1ZT0iZmFsc2UiLz4NCiA8c3RyaW5nQXR0cmlidXRlIGtleT0iYm9vdHN0cmFwIiB2YWx1ZT0iIi8+DQotPHN0cmluZ0F0dHJpYnV0ZSBrZXk9ImNoZWNrZWQiIHZhbHVlPSJvcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLmFnZW50Ii8+DQorPHN0cmluZ0F0dHJpYnV0ZSBrZXk9ImNoZWNrZWQiIHZhbHVlPSJbTk9ORV0iLz4NCiA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9ImNsZWFyQ29uZmlnIiB2YWx1ZT0idHJ1ZSIvPg0KIDxib29sZWFuQXR0cmlidXRlIGtleT0iY2xlYXJ3cyIgdmFsdWU9ImZhbHNlIi8+DQogPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJjbGVhcndzbG9nIiB2YWx1ZT0iZmFsc2UiLz4NCkBAIC0yOCw4ICsyOCw4IEBACiA8c3RyaW5nQXR0cmlidXRlIGtleT0ib3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZy5WTV9BUkdVTUVOVFMiIHZhbHVlPSItWG1zNDBtJiMxMzsmIzEwOy1YbXgxMDI0bSYjMTM7JiMxMDstRGRlYnVnPXRydWUmIzEzOyYjMTA7LURuZXQ0ai5jb25maWc9JnF1b3Q7JHtwcm9qZWN0X2xvYzovb3JnLmVjbGlwc2UuZW1mLmNkby5zZXJ2ZXIucHJvZHVjdC1mZWF0dXJlfS9yb290ZmlsZXMvY29uZmlndXJhdGlvbiZxdW90OyYjMTM7JiMxMDstRG9yZy5lY2xpcHNlLmVtZi5jZG8uc2VydmVyLmJyb3dzZXIucG9ydD03Nzc3JiMxMzsmIzEwOy1Eb3JnLm9zZ2kuc2VydmljZS5odHRwLnBvcnQ9ODA4MCYjMTM7JiMxMDstRG9zZ2kuZnJhbWV3b3JrLmV4dGVuc2lvbnM9b3JnLmVjbGlwc2UuZXF1aW5veC53ZWF2aW5nLmhvb2smIzEzOyYjMTA7LURvcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLmFnZW50Lm5hbWU9JnF1b3Q7U2VydmVyJnF1b3Q7Ii8+DQogPHN0cmluZ0F0dHJpYnV0ZSBrZXk9InBkZS52ZXJzaW9uIiB2YWx1ZT0iMy4zIi8+DQogPHN0cmluZ0F0dHJpYnV0ZSBrZXk9InByb2R1Y3QiIHZhbHVlPSJvcmcuZWNsaXBzZS5wbGF0Zm9ybS5pZGUiLz4NCi08c3RyaW5nQXR0cmlidXRlIGtleT0ic2VsZWN0ZWRfdGFyZ2V0X3BsdWdpbnMiIHZhbHVlPSJvcmcuZWNsaXBzZS51aS53b3JrYmVuY2hAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmVxdWlub3guYXBwQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5jb3JlLmZpbGVzeXN0ZW0ud2luMzIueDg2XzY0QGRlZmF1bHQ6ZmFsc2Usb3JnLmVjbGlwc2UuamZhY2UuZGF0YWJpbmRpbmdAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUudmFyaWFibGVzQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5oZWxwQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nLm9ic2VydmFibGVAZGVmYXVsdDpkZWZhdWx0LG9yZy5hc3BlY3RqLnJ1bnRpbWVAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5jb21wYXRpYmlsaXR5LmF1dGhAZGVmYXVsdDpkZWZhdWx0LG9yZy5wb3N0Z3Jlc3FsLmpkYmMzQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlc0BkZWZhdWx0OmRlZmF1bHQsb3JnLmFzcGVjdGoud2VhdmVyQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5lbWYuZWNvcmVAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUuZXhwcmVzc2lvbnNAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmpmYWNlQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5lcXVpbm94LnByZWZlcmVuY2VzQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5vc2dpLnNlcnZpY2VzQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuaDJAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUuY29udGVudHR5cGVAZGVmYXVsdDpkZWZhdWx0LGNvbS5teXNxbC5qZGJjQGRlZmF1bHQ6ZGVmYXVsdCxjb20ubW9uZ29kYkBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZXF1aW5veC53ZWF2aW5nLmhvb2tAZGVmYXVsdDpmYWxzZSxvcmcuaHNxbGRiQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5jb3JlLmNvbW1hbmRzQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5hbnQuY29yZUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2Uub3NnaUAtMTp0cnVlLG9yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcucHJvcGVydHlAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5jb21wYXRpYmlsaXR5LnJlZ2lzdHJ5QGRlZmF1bHQ6ZmFsc2UsamF2YXguc2VydmxldEBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnhtaUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNvbW1vbkBkZWZhdWx0OmRlZmF1bHQsb3JnLmFwYWNoZS5kZXJieUBkZWZhdWx0OmRlZmF1bHQsY29tLmlibS5pY3VAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUucnVudGltZUBkZWZhdWx0OnRydWUsb3JnLmVjbGlwc2UuZXF1aW5veC53ZWF2aW5nLmFzcGVjdGpAMzp0cnVlLG9yZy5lY2xpcHNlLnRlYW0uY29yZUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZXF1aW5veC5yZWdpc3RyeUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZXF1aW5veC5jb21tb25AMjp0cnVlLG9yZy5lY2xpcHNlLmNvcmUuam9ic0BkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2Uuc3d0LndpbjMyLndpbjMyLng4Nl82NEBkZWZhdWx0OmZhbHNlLG9yZy5lY2xpcHNlLmVxdWlub3gud2VhdmluZy5jYWNoaW5nQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5lbWYuZWNvcmUuY2hhbmdlQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5jb3JlLmZpbGVzeXN0ZW1AZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLnVpQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5zd3RAZGVmYXVsdDpkZWZhdWx0Ii8+DQotPHN0cmluZ0F0dHJpYnV0ZSBrZXk9InNlbGVjdGVkX3dvcmtzcGFjZV9wbHVnaW5zIiB2YWx1ZT0ib3JnLmVjbGlwc2UuZW1mLmNkby5zZXJ2ZXIubmV0NGpAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLm5ldDRqLnV0aWxAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmVtZi5jZG8uc2VydmVyLm1vbmdvZGJAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmVtZi5jZG8uc2VydmVyLmRiQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5uZXQ0ai5kYi5kZXJieUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UubmV0NGouZGIuaDJAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLm5ldDRqLmRiLm15c3FsQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5lbWYuY2RvLnNlcnZlckBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UubmV0NGouZGIuaHNxbGRiQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5uZXQ0akBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS5hZ2VudEBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNkb0BkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UubmV0NGoudGNwQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5uZXQ0ai5kYkBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UubmV0NGouZGIucG9zdGdyZXNxbEBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS5jb21tb25AZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmVtZi5jZG8uY29tbW9uQGRlZmF1bHQ6ZGVmYXVsdCIvPg0KKzxzdHJpbmdBdHRyaWJ1dGUga2V5PSJzZWxlY3RlZF90YXJnZXRfcGx1Z2lucyIgdmFsdWU9Im9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5jb21wYXRpYmlsaXR5LmF1dGhAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmdAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUuZmlsZXN5c3RlbUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuamZhY2UuZGF0YWJpbmRpbmdAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmVxdWlub3guYXBwQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5lcXVpbm94LndlYXZpbmcuY2FjaGluZ0BkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuYW50LmNvcmVAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcub2JzZXJ2YWJsZUBkZWZhdWx0OmRlZmF1bHQsb3JnLmgyQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuaHNxbGRiQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuY29tcGF0aWJpbGl0eS5yZWdpc3RyeUBkZWZhdWx0OmZhbHNlLG9yZy5lY2xpcHNlLnVpQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5oZWxwQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuYXNwZWN0ai53ZWF2ZXJAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUucnVudGltZUBkZWZhdWx0OnRydWUsb3JnLmVjbGlwc2UuY29yZS5jb21tYW5kc0BkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNvbW1vbkBkZWZhdWx0OmRlZmF1bHQsY29tLmlibS5pY3VAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLm9zZ2kuc2VydmljZXNAZGVmYXVsdDpkZWZhdWx0LGphdmF4LnNlcnZsZXRAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUuZmlsZXN5c3RlbS53aW4zMi54ODZfNjRAZGVmYXVsdDpmYWxzZSxvcmcuZWNsaXBzZS5jb3JlLmpvYnNAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLnVpLndvcmtiZW5jaEBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZXF1aW5veC5yZWdpc3RyeUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuY29yZS5leHByZXNzaW9uc0BkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2Uuc3d0LndpbjMyLndpbjMyLng4Nl82NEBkZWZhdWx0OmZhbHNlLG9yZy5hc3BlY3RqLnJ1bnRpbWVAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUuY29udGVudHR5cGVAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmNvcmUudmFyaWFibGVzQGRlZmF1bHQ6ZGVmYXVsdCxvcmcucG9zdGdyZXNxbC5qZGJjM0BkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmVjb3JlLmNoYW5nZUBkZWZhdWx0OmRlZmF1bHQsY29tLm1vbmdvZGJAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLnRlYW0uY29yZUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZXF1aW5veC53ZWF2aW5nLmFzcGVjdGpAMzp0cnVlLG9yZy5lY2xpcHNlLmVxdWlub3gud2VhdmluZy5ob29rQGRlZmF1bHQ6ZmFsc2Usb3JnLmVjbGlwc2UuZXF1aW5veC5wcmVmZXJlbmNlc0BkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2Uub3NnaUAtMTp0cnVlLG9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5lcXVpbm94LmNvbW1vbkAyOnRydWUsb3JnLmVjbGlwc2UuZW1mLmVjb3JlQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5qZmFjZUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuY29yZS5kYXRhYmluZGluZy5wcm9wZXJ0eUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2Uuc3d0QGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5lbWYuZWNvcmUueG1pQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuYXBhY2hlLmRlcmJ5QGRlZmF1bHQ6ZGVmYXVsdCxjb20ubXlzcWwuamRiY0BkZWZhdWx0OmRlZmF1bHQiLz4NCis8c3RyaW5nQXR0cmlidXRlIGtleT0ic2VsZWN0ZWRfd29ya3NwYWNlX3BsdWdpbnMiIHZhbHVlPSJvcmcuZWNsaXBzZS5lbWYuY2RvLnNlcnZlci5kYkBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNkby5jb21tb25AZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLm5ldDRqLmRiLmhzcWxkYkBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNkb0BkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNkby5zZXJ2ZXJAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUuY29tbW9uQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5uZXQ0ai5kYi5oMkBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UubmV0NGoudGNwQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5uZXQ0akBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS5hZ2VudEBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UubmV0NGouZGJAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLm5ldDRqLnV0aWxAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLm5ldDRqLmRiLm15c3FsQGRlZmF1bHQ6ZGVmYXVsdCxvcmcuZWNsaXBzZS5uZXQ0ai5kYi5kZXJieUBkZWZhdWx0OmRlZmF1bHQsb3JnLmVjbGlwc2UuZW1mLmNkby5zZXJ2ZXIubmV0NGpAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLmVtZi5jZG8uc2VydmVyLm1vbmdvZGJAZGVmYXVsdDpkZWZhdWx0LG9yZy5lY2xpcHNlLm5ldDRqLmRiLnBvc3RncmVzcWxAZGVmYXVsdDpkZWZhdWx0Ii8+DQogPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJzaG93X3NlbGVjdGVkX29ubHkiIHZhbHVlPSJ0cnVlIi8+DQogPHN0cmluZ0F0dHJpYnV0ZSBrZXk9InRlbXBsYXRlQ29uZmlnIiB2YWx1ZT0iJHt0YXJnZXRfaG9tZX1cY29uZmlndXJhdGlvblxjb25maWcuaW5pIi8+DQogPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJ0cmFjaW5nIiB2YWx1ZT0iZmFsc2UiLz4NCmRpZmYgLS1naXQgYS9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL01FVEEtSU5GL01BTklGRVNULk1GIGIvb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS9NRVRBLUlORi9NQU5JRkVTVC5NRgppbmRleCA3YTFmZTZjLi5iYzhmNmM0IDEwMDY0NAotLS0gYS9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL01FVEEtSU5GL01BTklGRVNULk1GCisrKyBiL29yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUudWkvTUVUQS1JTkYvTUFOSUZFU1QuTUYKQEAgLTYsNyArNiw4IEBACiBCdW5kbGUtQWN0aXZhdG9yOiBvcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpLmJ1bmRsZS5PTSRBY3RpdmF0b3IKIFJlcXVpcmUtQnVuZGxlOiBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWU7YnVuZGxlLXZlcnNpb249IlszLjQuMCw0LjAuMCkiLAogIGNvbS5zdW4uajNkO2J1bmRsZS12ZXJzaW9uPSJbMS4wLjAsMi4wLjApIiwKLSBvcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlO2J1bmRsZS12ZXJzaW9uPSJbMS4wLjAsMi4wLjApIgorIG9yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWU7YnVuZGxlLXZlcnNpb249IlsxLjAuMCwyLjAuMCkiLAorIG9yZy5lY2xpcHNlLnVpCiBCdW5kbGUtQWN0aXZhdGlvblBvbGljeTogbGF6eQogQnVuZGxlLVJlcXVpcmVkRXhlY3V0aW9uRW52aXJvbm1lbnQ6IEoyU0UtMS41CiBCdW5kbGUtVmVuZG9yOiAlcHJvdmlkZXJOYW1lCmRpZmYgLS1naXQgYS9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL2ljb25zL3NhbXBsZS5naWYgYi9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL2ljb25zL3NhbXBsZS5naWYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRmYjNjOQotLS0gL2Rldi9udWxsCisrKyBiL29yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUudWkvaWNvbnMvc2FtcGxlLmdpZgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL3BsdWdpbi54bWwgYi9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL3BsdWdpbi54bWwKaW5kZXggYWJiNjRlNy4uNzhkOGFjYSAxMDA2NDQKLS0tIGEvb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS9wbHVnaW4ueG1sCisrKyBiL29yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUudWkvcGx1Z2luLnhtbApAQCAtMjksNSArMjksMzEgQEAKICAgICAgICAgICAgIG5hbWU9IlBhcmFtZXRlcnMiPg0KICAgICAgIDwvdmlldz4NCiAgICA8L2V4dGVuc2lvbj4NCisgICA8ZXh0ZW5zaW9uDQorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLnVpLmFjdGlvblNldHMiPg0KKyAgICAgIDxhY3Rpb25TZXQNCisgICAgICAgICAgICBpZD0ib3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS5hY3Rpb25TZXQiDQorICAgICAgICAgICAgbGFiZWw9IkludHJvIg0KKyAgICAgICAgICAgIHZpc2libGU9InRydWUiPg0KKyAgICAgICAgIDxtZW51DQorICAgICAgICAgICAgICAgaWQ9InNhbXBsZU1lbnUiDQorICAgICAgICAgICAgICAgbGFiZWw9IlNhbXBsZSAmYW1wO01lbnUiPg0KKyAgICAgICAgICAgIDxzZXBhcmF0b3INCisgICAgICAgICAgICAgICAgICBuYW1lPSJzYW1wbGVHcm91cCI+DQorICAgICAgICAgICAgPC9zZXBhcmF0b3I+DQorICAgICAgICAgPC9tZW51Pg0KKyAgICAgICAgIDxhY3Rpb24NCisgICAgICAgICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS5hY3Rpb25zLkludHJvQWN0aW9uIg0KKyAgICAgICAgICAgICAgIGljb249Imljb25zL3dvcmxkLmdpZiINCisgICAgICAgICAgICAgICBpZD0ib3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS5hY3Rpb25zLkludHJvQWN0aW9uIg0KKyAgICAgICAgICAgICAgIGxhYmVsPSJJbnRybyINCisgICAgICAgICAgICAgICBtZW51YmFyUGF0aD0ic2FtcGxlTWVudS9zYW1wbGVHcm91cCINCisgICAgICAgICAgICAgICBzdGF0ZT0idHJ1ZSINCisgICAgICAgICAgICAgICBzdHlsZT0icHVzaCINCisgICAgICAgICAgICAgICB0b29sYmFyUGF0aD0ic2FtcGxlR3JvdXAiDQorICAgICAgICAgICAgICAgdG9vbHRpcD0iSW50cm8iPg0KKyAgICAgICAgIDwvYWN0aW9uPg0KKyAgICAgIDwvYWN0aW9uU2V0Pg0KKyAgIDwvZXh0ZW5zaW9uPg0KIA0KIDwvcGx1Z2luPg0KZGlmZiAtLWdpdCBhL29yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUudWkvc3JjL29yZy9lY2xpcHNlL2VtZi9jZG8vdGhyZWVkZWUvdWkvVGhyZWVEZWVXb3JsZC5qYXZhIGIvb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS9zcmMvb3JnL2VjbGlwc2UvZW1mL2Nkby90aHJlZWRlZS91aS9UaHJlZURlZVdvcmxkLmphdmEKaW5kZXggNDA1M2NlMC4uODU2YTM4NiAxMDA2NDQKLS0tIGEvb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS9zcmMvb3JnL2VjbGlwc2UvZW1mL2Nkby90aHJlZWRlZS91aS9UaHJlZURlZVdvcmxkLmphdmEKKysrIGIvb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS9zcmMvb3JnL2VjbGlwc2UvZW1mL2Nkby90aHJlZWRlZS91aS9UaHJlZURlZVdvcmxkLmphdmEKQEAgLTk4LDcgKzk4LDcgQEAKICAgQFN1cHByZXNzV2FybmluZ3MoInVudXNlZCIpDQogICBwcml2YXRlIHN0YXRpYyBmaW5hbCBDb250ZXh0VHJhY2VyIFRSQUNFUiA9IG5ldyBDb250ZXh0VHJhY2VyKE9NLkRFQlVHLCBUaHJlZURlZVdvcmxkLmNsYXNzKTsNCiANCi0gIHByaXZhdGUgc3RhdGljIGJvb2xlYW4gUFJPRFVDVElPTiA9IGZhbHNlOw0KKyAgcHJpdmF0ZSBzdGF0aWMgYm9vbGVhbiBQUk9EVUNUSU9OID0gdHJ1ZTsNCiANCiAgIHByaXZhdGUgU2V0PEVsZW1lbnREZXNjcmlwdG9yPiBkaXNhYmxlZERlc2NyaXB0b3JzID0gQ29sbGVjdGlvbnMuZW1wdHlTZXQoKTsNCiANCmRpZmYgLS1naXQgYS9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL3NyYy9vcmcvZWNsaXBzZS9lbWYvY2RvL3RocmVlZGVlL3VpL2FjdGlvbnMvSW50cm9BY3Rpb24uamF2YSBiL29yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUudWkvc3JjL29yZy9lY2xpcHNlL2VtZi9jZG8vdGhyZWVkZWUvdWkvYWN0aW9ucy9JbnRyb0FjdGlvbi5qYXZhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxYWNjMWMKLS0tIC9kZXYvbnVsbAorKysgYi9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL3NyYy9vcmcvZWNsaXBzZS9lbWYvY2RvL3RocmVlZGVlL3VpL2FjdGlvbnMvSW50cm9BY3Rpb24uamF2YQpAQCAtMCwwICsxLDY3IEBACitwYWNrYWdlIG9yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUudWkuYWN0aW9uczsKKworaW1wb3J0IG9yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUudWkubm9kZXMuSW50cm9QbGFuZXQ7CisKK2ltcG9ydCBvcmcuZWNsaXBzZS5qZmFjZS5hY3Rpb24uSUFjdGlvbjsKK2ltcG9ydCBvcmcuZWNsaXBzZS5qZmFjZS52aWV3ZXJzLklTZWxlY3Rpb247CitpbXBvcnQgb3JnLmVjbGlwc2UudWkuSVdvcmtiZW5jaFdpbmRvdzsKK2ltcG9ydCBvcmcuZWNsaXBzZS51aS5JV29ya2JlbmNoV2luZG93QWN0aW9uRGVsZWdhdGU7CisKKy8qKgorICogT3VyIHNhbXBsZSBhY3Rpb24gaW1wbGVtZW50cyB3b3JrYmVuY2ggYWN0aW9uIGRlbGVnYXRlLiBUaGUgYWN0aW9uIHByb3h5IHdpbGwgYmUgY3JlYXRlZCBieSB0aGUgd29ya2JlbmNoIGFuZCBzaG93bgorICogaW4gdGhlIFVJLiBXaGVuIHRoZSB1c2VyIHRyaWVzIHRvIHVzZSB0aGUgYWN0aW9uLCB0aGlzIGRlbGVnYXRlIHdpbGwgYmUgY3JlYXRlZCBhbmQgZXhlY3V0aW9uIHdpbGwgYmUgZGVsZWdhdGVkIHRvCisgKiBpdC4KKyAqIAorICogQHNlZSBJV29ya2JlbmNoV2luZG93QWN0aW9uRGVsZWdhdGUKKyAqLworcHVibGljIGNsYXNzIEludHJvQWN0aW9uIGltcGxlbWVudHMgSVdvcmtiZW5jaFdpbmRvd0FjdGlvbkRlbGVnYXRlCit7CisgIHByaXZhdGUgSVdvcmtiZW5jaFdpbmRvdyB3aW5kb3c7CisKKyAgLyoqCisgICAqIFRoZSBjb25zdHJ1Y3Rvci4KKyAgICovCisgIHB1YmxpYyBJbnRyb0FjdGlvbigpCisgIHsKKyAgfQorCisgIC8qKgorICAgKiBUaGUgYWN0aW9uIGhhcyBiZWVuIGFjdGl2YXRlZC4gVGhlIGFyZ3VtZW50IG9mIHRoZSBtZXRob2QgcmVwcmVzZW50cyB0aGUgJ3JlYWwnIGFjdGlvbiBzaXR0aW5nIGluIHRoZSB3b3JrYmVuY2ggVUkuCisgICAqIAorICAgKiBAc2VlIElXb3JrYmVuY2hXaW5kb3dBY3Rpb25EZWxlZ2F0ZSNydW4KKyAgICovCisgIHB1YmxpYyB2b2lkIHJ1bihJQWN0aW9uIGFjdGlvbikKKyAgeworICAgIEludHJvUGxhbmV0LlNUQVJUX0xBVENILmNvdW50RG93bigpOworICAgIC8vIE1lc3NhZ2VEaWFsb2cub3BlbkluZm9ybWF0aW9uKHdpbmRvdy5nZXRTaGVsbCgpLCAiQ0RPIE1vZGVsIFJlcG9zaXRvcnkgM0QgVUkiLCAiSGVsbG8sIEVjbGlwc2Ugd29ybGQiKTsKKyAgfQorCisgIC8qKgorICAgKiBTZWxlY3Rpb24gaW4gdGhlIHdvcmtiZW5jaCBoYXMgYmVlbiBjaGFuZ2VkLiBXZSBjYW4gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgJ3JlYWwnIGFjdGlvbiBoZXJlIGlmIHdlIHdhbnQsIGJ1dCB0aGlzCisgICAqIGNhbiBvbmx5IGhhcHBlbiBhZnRlciB0aGUgZGVsZWdhdGUgaGFzIGJlZW4gY3JlYXRlZC4KKyAgICogCisgICAqIEBzZWUgSVdvcmtiZW5jaFdpbmRvd0FjdGlvbkRlbGVnYXRlI3NlbGVjdGlvbkNoYW5nZWQKKyAgICovCisgIHB1YmxpYyB2b2lkIHNlbGVjdGlvbkNoYW5nZWQoSUFjdGlvbiBhY3Rpb24sIElTZWxlY3Rpb24gc2VsZWN0aW9uKQorICB7CisgIH0KKworICAvKioKKyAgICogV2UgY2FuIHVzZSB0aGlzIG1ldGhvZCB0byBkaXNwb3NlIG9mIGFueSBzeXN0ZW0gcmVzb3VyY2VzIHdlIHByZXZpb3VzbHkgYWxsb2NhdGVkLgorICAgKiAKKyAgICogQHNlZSBJV29ya2JlbmNoV2luZG93QWN0aW9uRGVsZWdhdGUjZGlzcG9zZQorICAgKi8KKyAgcHVibGljIHZvaWQgZGlzcG9zZSgpCisgIHsKKyAgfQorCisgIC8qKgorICAgKiBXZSB3aWxsIGNhY2hlIHdpbmRvdyBvYmplY3QgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwcm92aWRlIHBhcmVudCBzaGVsbCBmb3IgdGhlIG1lc3NhZ2UgZGlhbG9nLgorICAgKiAKKyAgICogQHNlZSBJV29ya2JlbmNoV2luZG93QWN0aW9uRGVsZWdhdGUjaW5pdAorICAgKi8KKyAgcHVibGljIHZvaWQgaW5pdChJV29ya2JlbmNoV2luZG93IHdpbmRvdykKKyAgeworICAgIHRoaXMud2luZG93ID0gd2luZG93OworICB9Cit9CmRpZmYgLS1naXQgYS9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL3NyYy9vcmcvZWNsaXBzZS9lbWYvY2RvL3RocmVlZGVlL3VpL25vZGVzL0ludHJvUGxhbmV0LmphdmEgYi9vcmcuZWNsaXBzZS5lbWYuY2RvLnRocmVlZGVlLnVpL3NyYy9vcmcvZWNsaXBzZS9lbWYvY2RvL3RocmVlZGVlL3VpL25vZGVzL0ludHJvUGxhbmV0LmphdmEKaW5kZXggMzczODkzZi4uYmY0YTAyNyAxMDA2NDQKLS0tIGEvb3JnLmVjbGlwc2UuZW1mLmNkby50aHJlZWRlZS51aS9zcmMvb3JnL2VjbGlwc2UvZW1mL2Nkby90aHJlZWRlZS91aS9ub2Rlcy9JbnRyb1BsYW5ldC5qYXZhCisrKyBiL29yZy5lY2xpcHNlLmVtZi5jZG8udGhyZWVkZWUudWkvc3JjL29yZy9lY2xpcHNlL2VtZi9jZG8vdGhyZWVkZWUvdWkvbm9kZXMvSW50cm9QbGFuZXQuamF2YQpAQCAtNTYsMTIgKzU2LDE1IEBACiANCiBpbXBvcnQgamF2YS5hd3QuRm9udDsNCiBpbXBvcnQgamF2YS5uZXQuVVJMOw0KK2ltcG9ydCBqYXZhLnV0aWwuY29uY3VycmVudC5Db3VudERvd25MYXRjaDsNCiANCiAvKioNCiAgKiBAYXV0aG9yIEVpa2UgU3RlcHBlcg0KICAqLw0KIHB1YmxpYyBjbGFzcyBJbnRyb1BsYW5ldCBleHRlbmRzIEJyYW5jaEdyb3VwIGltcGxlbWVudHMgSUNvbG9ycw0KIHsNCisgIHB1YmxpYyBzdGF0aWMgZmluYWwgQ291bnREb3duTGF0Y2ggU1RBUlRfTEFUQ0ggPSBuZXcgQ291bnREb3duTGF0Y2goMSk7DQorDQogICBwcml2YXRlIHN0YXRpYyBmaW5hbCBmbG9hdCBSQURJVVMgPSA1LjBmOw0KIA0KICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgZG91YmxlIFkwID0gOS41Ow0KQEAgLTEyOSw4ICsxMzIsOSBAQAogICAgICAgew0KICAgICAgICAgdHJ5DQogICAgICAgICB7DQotICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUHJlc3MgZW50ZXIgdG8gc3RhcnQgaW50cm8uLi4iKTsNCi0gICAgICAgICAgU3lzdGVtLmluLnJlYWQoKTsNCisgICAgICAgICAgU1RBUlRfTEFUQ0guYXdhaXQoKTsNCisgICAgICAgICAgLy8gU3lzdGVtLm91dC5wcmludGxuKCJQcmVzcyBlbnRlciB0byBzdGFydCBpbnRyby4uLiIpOw0KKyAgICAgICAgICAvLyBTeXN0ZW0uaW4ucmVhZCgpOw0KICAgICAgICAgfQ0KICAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBleCkNCiAgICAgICAgIHsNCkBAIC0xMzgsNyArMTQyLDYgQEAKICAgICAgICAgfQ0KIA0KICAgICAgICAgSW50cm9QbGFuZXQgcGxhbmV0ID0gbmV3IEludHJvUGxhbmV0KHdvcmxkKTsNCi0NCiAgICAgICAgIHBsYW5ldC5zdGFydCgpOw0KICAgICAgIH0NCiAgICAgfS5zdGFydCgpOw0KQEAgLTE0OSw5ICsxNTIsOSBAQAogICAgIG5ldyBTb3VuZFBsYXllcigiemFyYXRodXN0cmEud2F2Iikuc3RhcnQoKTsNCiAgICAgbmV3IENoaW1lSW4oKS5zdGFydCgpOw0KIA0KLSAgICBuZXcgVGV4dEFuaW1hdGlvbigwLCAzNCwgNDAwLCAiRWlrZSBTdGVwcGVyIiwgMSkuc3RhcnQoKTsNCi0gICAgbmV3IFRleHRBbmltYXRpb24oMCwgNTMsIDUwMCwgIk1hcnRpbiBGbPxnZ2UiLCAxKS5zdGFydCgpOw0KLSAgICBuZXcgVGV4dEFuaW1hdGlvbigxLCAxMiwgNjAwLCAiRWNsaXBzZUNvbiAyMDExIiwgMSkuc3RhcnQoKTsNCisgICAgbmV3IFRleHRBbmltYXRpb24oMCwgMzQsIDQwMCwgIldhaGxlbmRvcmYiLCAxKS5zdGFydCgpOw0KKyAgICBuZXcgVGV4dEFuaW1hdGlvbigwLCA1MywgNTAwLCAiUGFyYW5vciBBRyIsIDEpLnN0YXJ0KCk7DQorICAgIG5ldyBUZXh0QW5pbWF0aW9uKDEsIDEyLCA2MDAsICJFaWtlIFN0ZXBwZXIiLCAxKS5zdGFydCgpOw0KICAgICBuZXcgVGV4dEFuaW1hdGlvbigxLCAzNCwgMCwgIkNETzNEIiwgMykNCiAgICAgew0KICAgICAgIEBPdmVycmlkZQ0K