ZGlmZiAtLWdpdCBhL21hbmFnZXIvcG9tLnhtbCBiL21hbmFnZXIvcG9tLnhtbAppbmRleCA2NGYwYWQ3Li40M2E2MzYyIDEwMDY0NAotLS0gYS9tYW5hZ2VyL3BvbS54bWwKKysrIGIvbWFuYWdlci9wb20ueG1sCkBAIC04MCw2ICs4MCwxNiBAQAogCQkgICAgPGFydGlmYWN0SWQ+Ym9vdHN0cmFwPC9hcnRpZmFjdElkPgogCQkgICAgPHZlcnNpb24+NC41LjI8L3ZlcnNpb24+CiAJCTwvZGVwZW5kZW5jeT4KKwkJCisJCTxkZXBlbmRlbmN5PgorCQkgICAgPGdyb3VwSWQ+b3JnLndlYmphcnM8L2dyb3VwSWQ+CisJCSAgICA8YXJ0aWZhY3RJZD5mb250LWF3ZXNvbWU8L2FydGlmYWN0SWQ+CisJCSAgICA8dmVyc2lvbj41LjEzLjA8L3ZlcnNpb24+CisJCTwvZGVwZW5kZW5jeT4KKwkJPGRlcGVuZGVuY3k+CisJCSAgICA8Z3JvdXBJZD5vcmcudGh5bWVsZWFmLmV4dHJhczwvZ3JvdXBJZD4KKwkJICAgIDxhcnRpZmFjdElkPnRoeW1lbGVhZi1leHRyYXMtc3ByaW5nc2VjdXJpdHk1PC9hcnRpZmFjdElkPgorCQk8L2RlcGVuZGVuY3k+CiAJPC9kZXBlbmRlbmNpZXM+CiAKIAk8YnVpbGQ+CmRpZmYgLS1naXQgYS9tYW5hZ2VyL3NyYy9tYWluL2phdmEvb3JnL2VjbGlwc2UvYXBwNG1jL2Nsb3VkL21hbmFnZXIvQWJvdXRQYWdlQ29udHJvbGxlci5qYXZhIGIvbWFuYWdlci9zcmMvbWFpbi9qYXZhL29yZy9lY2xpcHNlL2FwcDRtYy9jbG91ZC9tYW5hZ2VyL0Fib3V0UGFnZUNvbnRyb2xsZXIuamF2YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTRmMzg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWFuYWdlci9zcmMvbWFpbi9qYXZhL29yZy9lY2xpcHNlL2FwcDRtYy9jbG91ZC9tYW5hZ2VyL0Fib3V0UGFnZUNvbnRyb2xsZXIuamF2YQpAQCAtMCwwICsxLDI5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMjAgUm9iZXJ0IEJvc2NoIEdtYkggYW5kIG90aGVycy4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlCisgKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMAorICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICAgUm9iZXJ0IEJvc2NoIEdtYkggLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICovCitwYWNrYWdlIG9yZy5lY2xpcHNlLmFwcDRtYy5jbG91ZC5tYW5hZ2VyOworCitpbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay5zdGVyZW90eXBlLkNvbnRyb2xsZXI7CitpbXBvcnQgb3JnLnNwcmluZ2ZyYW1ld29yay51aS5Nb2RlbDsKK2ltcG9ydCBvcmcuc3ByaW5nZnJhbWV3b3JrLndlYi5iaW5kLmFubm90YXRpb24uR2V0TWFwcGluZzsKKworQENvbnRyb2xsZXIKK3B1YmxpYyBjbGFzcyBBYm91dFBhZ2VDb250cm9sbGVyIHsKKworCUBHZXRNYXBwaW5nKCIvYWJvdXQiKQorCXB1YmxpYyBTdHJpbmcgd29ya2Zsb3coTW9kZWwgbW9kZWwpIHsKKwkJLy8gcmVuZGVyIHRoZSBmb3JtIHZpZXcKKwkJcmV0dXJuICJhYm91dCI7CisJfQorCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvc3RhdGljL2Nzcy9zdHlsZXMuY3NzIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvc3RhdGljL2Nzcy9zdHlsZXMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiZWVjNDMKLS0tIC9kZXYvbnVsbAorKysgYi9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0aWMvY3NzL3N0eWxlcy5jc3MKQEAgLTAsMCArMSwxNDYgQEAKK2h0bWwsIGJvZHl7CisJaGVpZ2h0OjEwMCU7Cit9CisKK2gxeworCWNvbG9yOiBibGFjazsKK30KKworLmN1c3RvbS1maWxlLWxhYmVseworCWJvcmRlci1yYWRpdXMgOiA0MHB4OworCS1tb3otYm9yZGVyLXJhZGl1czo0MHB4OworICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czo0MHB4OworfQorCisuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyeworCWJvcmRlci1yYWRpdXMgOiA0MHB4OworCS1tb3otYm9yZGVyLXJhZGl1czo0MHB4OworICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czo0MHB4OworfQorCisuZm9ybS1jb250cm9seworCWJvcmRlci1yYWRpdXMgOiA0MHB4OworCS1tb3otYm9yZGVyLXJhZGl1czo0MHB4OworICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czo0MHB4OworfQorCisjd2YtZm0tZ3JvdXB7CisJcGFkZGluZzowOwkKK30KKworLmhlcm97CisJaGVpZ2h0OiAxMDAlOworCW1hcmdpbjogMDsKKwlwYWRkaW5nOiAwOworCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDIyMCwgMjIwLCAyMjAsIDAuOSkgNTAlLCByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuOSkgNTAlKSwgdXJsKCIuLi9pbWFnZXMvYmctaGVhZGVyMi5qcGciKTsKKwliYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjOworCWJhY2tncm91bmQtc2l6ZTogY292ZXI7Cit9CisKKy5sZWZ0LWJ0biwgLnJpZ2h0LWJ0bnsKKyAgCWJvcmRlci1yYWRpdXM6IDQwcHg7CisgIAlwYWRkaW5nLWxlZnQ6IDMwcHg7CisgIAlwYWRkaW5nLXJpZ2h0OiAzMHB4OworfQorLmxpc3QtZ3JvdXB7CisJYm9yZGVyLXJhZGl1cyA6IDQwcHg7Cit9CisKKy5iYW5uZXJ7CisJbWFyZ2luOiAwOworCXBhZGRpbmc6IDA7CisJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMjIwLCAyMjAsIDIyMCwgMC45KSA1MCUsIHJnYmEoMjIwLCAyMjAsIDIyMCwgMC45KSA1MCUpLCB1cmwoIi4uL2ltYWdlcy9iZy1oZWFkZXIyLmpwZyIpOworCWJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7CisJYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKKwloZWlnaHQ6IDMwMHB4OworCXdpZHRoOjEwMCU7CisJei1pbmRleDogLTE7CisJcG9zaXRpb246IGFic29sdXRlOworCXRvcDogMDsKKyAgICByaWdodDogMDsKK30KKworLmxpc3QtZ3JvdXAtaXRlbXsKKwlib3JkZXItcmFkaXVzIDogNDBweDsKKwktbW96LWJvcmRlci1yYWRpdXM6NDBweDsKKyAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6NDBweDsKKyAgICBwYWRkaW5nLXRvcDogNXB4OworICAgIHBhZGRpbmctYm90dG9tOiA1cHg7CisgICAgcGFkZGluZy1yaWdodDogNXB4OworfQorCisuYnRuLXJtdnsKKwliYWNrZ3JvdW5kLWNvbG9yOiBCbGFjazsKKyAgICBib3JkZXI6IG5vbmU7CisgICAgY29sb3I6IHdoaXRlOworICAgIHBhZGRpbmc6IDEwcHggMTRweDsKKyAgICBmb250LXNpemU6IDE2cHg7CisgICAgY3Vyc29yOiBwb2ludGVyOworICAgIGJvcmRlci1yYWRpdXMgOiA1MCU7Cit9CisKKy5uYXZjb257CisJbWFyZ2luOiAwOworCXBhZGRpbmc6IDA7Cit9CisKKy5uYXYtaXRlbXsKKwltYXJnaW4tbGVmdDogMzBweDsKK30KKworLm5hdi1icmFuZHsKKwl3aWR0aDogMTUwcHg7CisJZGlzcGxheTogYmxvY2s7Cit9CisKKy5wbGlzdCB7CisgIG1hcmdpbjogYXV0byAwOworfQorCisuZm0tY3RybC1sZWZ0eworCWJvcmRlci1yYWRpdXMgOiA0MHB4IDBweCAwcHggNDBweDsKKwktbW96LWJvcmRlci1yYWRpdXM6NDBweCAwcHggMHB4IDQwcHg7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjQwcHggMHB4IDBweCA0MHB4OworfQorCisuZm0tY3RybC1jZW50ZXJ7CisJYm9yZGVyLXJhZGl1cyA6IDA7CisJLW1vei1ib3JkZXItcmFkaXVzOjA7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7Cit9CisKKy5mbS1jdHJsLXJpZ2h0eworCWJvcmRlci1yYWRpdXMgOiAwcHggNDBweCA0MHB4IDBweDsKKwktbW96LWJvcmRlci1yYWRpdXM6MHB4IDQwcHggNDBweCAwcHg7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjBweCA0MHB4IDQwcHggMHB4OworfQorCisuYnRuLXNhdmV7CisgICAgYm9yZGVyOiBub25lOworICAgIGNvbG9yOiB3aGl0ZTsKKyAgICBwYWRkaW5nOiAxMHB4IDE0cHg7CisgICAgZm9udC1zaXplOiAxNnB4OworICAgIGN1cnNvcjogcG9pbnRlcjsKK30KKworLmhhbGYtYnRueworCXdpZHRoOiAxMDBweAorfQorCisvKiBTY3JvbGwgQmFyICovCis6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgd2lkdGg6IDEwcHg7Cit9CisKKzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgeworICBiYWNrZ3JvdW5kOiAjZjFmMWYxOyAKK30KKyAKKzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeworICBiYWNrZ3JvdW5kOiAjODg4OworICBib3JkZXItcmFkaXVzOiA1cHg7Cit9CisKKzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgeworICBiYWNrZ3JvdW5kOiAjNTU1OyAKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0aWMvaW1hZ2VzL0xvZ29fUGFub3JhbWFfc21hbGwucG5nIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvc3RhdGljL2ltYWdlcy9Mb2dvX1Bhbm9yYW1hX3NtYWxsLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODlhZjBkCi0tLSAvZGV2L251bGwKKysrIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvc3RhdGljL2ltYWdlcy9Mb2dvX1Bhbm9yYW1hX3NtYWxsLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0aWMvaW1hZ2VzL2FwcDRtYy1sb2dvX3NtYWxsLnBuZyBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3N0YXRpYy9pbWFnZXMvYXBwNG1jLWxvZ29fc21hbGwucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiMzk5MmUKLS0tIC9kZXYvbnVsbAorKysgYi9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0aWMvaW1hZ2VzL2FwcDRtYy1sb2dvX3NtYWxsLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0aWMvaW1hZ2VzL2JnLWhlYWRlcjIuanBnIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvc3RhdGljL2ltYWdlcy9iZy1oZWFkZXIyLmpwZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWY2MjU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvc3RhdGljL2ltYWdlcy9iZy1oZWFkZXIyLmpwZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0aWMvaW5kZXguaHRtbCBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3N0YXRpYy9pbmRleC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZWVlYmY3Li4wMDAwMDAwCi0tLSBhL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3N0YXRpYy9pbmRleC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotPCFET0NUWVBFIEhUTUw+Ci08aHRtbCB4bWxuczp0aD0iaHR0cHM6Ly93d3cudGh5bWVsZWFmLm9yZyI+Ci08aGVhZD4gCi08dGl0bGU+QVBQNE1DIENsb3VkIE1hbmFnZXI8L3RpdGxlPiAKLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgotPGxpbmsgaHJlZj0id2ViamFycy9ib290c3RyYXAvNC41LjIvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgotPHNjcmlwdCBzcmM9IndlYmphcnMvanF1ZXJ5LzMuNS4xL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJtb2R1bGUiIHNyYz0id2ViamFycy9wb3BwZXIuanMvMS4xNi4wL3BvcHBlci5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IndlYmphcnMvYm9vdHN0cmFwLzQuNS4yL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0JPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KLQkJPGRpdiBjbGFzcz0icm93IGp1c3RpZnktY29udGVudC1jZW50ZXIiPgotCQkJPGRpdiBjbGFzcz0iY29sIHRleHQtY2VudGVyIiBzdHlsZT0iaGVpZ2h0OjIwMHB4Ij4KLQkJCQk8aW1nIGNsYXNzPSJpbWctZmx1aWQiIHN0eWxlPSJoZWlnaHQ6MTAwJSIgc3JjPSIvaW1hZ2VzL0xvZ29fUGFub3JhbWEucG5nIi8+Ci0JCQk8L2Rpdj4KLQkJPC9kaXY+Ci0JCTxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1lbmQiPgotCQkJPGRpdiBjbGFzcz0iY29sIiBzdHlsZT0iaGVpZ2h0OjEwMHB4Ij4KLQkJCSAgICA8aW1nIGNsYXNzPSJpbWctZmx1aWQgZmxvYXQtcmlnaHQiIHN0eWxlPSJoZWlnaHQ6MTAwJTsgbWFyZ2luLXJpZ2h0OjEwcHg7IiBzcmM9Ii9pbWFnZXMvYXBwNG1jLWxvZ28ucG5nIi8+Ci0JCQk8L2Rpdj4KLQkJCTxkaXYgY2xhc3M9ImNvbCI+Ci0JCQkgICAgPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj48aDE+Q2xvdWQgTWFuYWdlcjwvaDE+PC9kaXY+Ci0JCQk8L2Rpdj4KLQkJPC9kaXY+Ci0JCTxkaXYgY2xhc3M9InJvdyBtdC0zIj4KLQkJICAgIDxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciB0ZXh0LWRhbmdlciI+PGgyPjxlbT4odW5kZXIgZGV2ZWxvcG1lbnQpPC9lbT48L2gyPjwvZGl2PgotCQk8L2Rpdj4KLQkJPGRpdiBjbGFzcz0icm93IG10LTMiPgotCQkJPGRpdiBjbGFzcz0iY29sIj4KLQkJICAgIAk8YSBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGZsb2F0LXJpZ2h0IiBocmVmPSIvd29ya2Zsb3ciPlN0YXJ0IFdvcmtmbG93PC9hPgotCQkJPC9kaXY+Ci0JCQk8ZGl2IGNsYXNzPSJjb2wiPgotCQkJICAgIDxhIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSIgaHJlZj0iL2FkbWluIj5BZG1pbmlzdHJhdGlvbjwvYT4KLQkJCTwvZGl2PgotCQk8L2Rpdj4KLSAgICA8L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3N0YXRpYy9qcy9hZG1pbi5qcyBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3N0YXRpYy9qcy9hZG1pbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWNlOGRjCi0tLSAvZGV2L251bGwKKysrIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvc3RhdGljL2pzL2FkbWluLmpzCkBAIC0wLDAgKzEsMTEgQEAKK2Z1bmN0aW9uIHJlbW92ZVNlcnZpY2Uoc2VydmljZSkgeworCXZhciB0b2tlbiA9ICQoJyNfY3NyZicpLmF0dHIoJ2NvbnRlbnQnKTsKKwl2YXIgaGVhZGVyID0gJCgnI19jc3JmX2hlYWRlcicpLmF0dHIoJ2NvbnRlbnQnKTsKKwkkLmFqYXgoeworCQl0eXBlOiAnUE9TVCcsCisJCXVybDogJy9hZG1pbi9yZW1vdmUvJyArIHNlcnZpY2UsCisJCXN1Y2Nlc3M6IGZ1bmN0aW9uKHJlc3VsdCkgeworCQkJbG9jYXRpb24ucmVsb2FkKCk7CisJCX0KKwl9KTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0aWMvanMvd29ya2Zsb3cuanMgYi9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy9zdGF0aWMvanMvd29ya2Zsb3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVlZWU1MQotLS0gL2Rldi9udWxsCisrKyBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3N0YXRpYy9qcy93b3JrZmxvdy5qcwpAQCAtMCwwICsxLDM5IEBACitmdW5jdGlvbiBjbGVhcldvcmtmbG93KCkgeworCQkkLmFqYXgoeworCQkJdHlwZSA6ICdQT1NUJywKKwkJCXVybCA6ICcvY2xlYXInLAorCQkJc3VjY2VzcyA6IGZ1bmN0aW9uKHJlc3VsdCkgeworCQkJCSQoJyNzZWxlY3RlZFNlcnZpY2VzQmxvY2snKS5sb2FkKCcvc2VsZWN0ZWRTZXJ2aWNlcycpOworCQkJCSQoJyNtZXNzYWdlc0Jsb2NrJykubG9hZCgnL21lc3NhZ2VzJyk7CisJCQkJJCgnI2Vycm9yc0Jsb2NrJykubG9hZCgnL2Vycm9ycycpOworCQkJCSQoJyNyZXN1bHRzQmxvY2snKS5sb2FkKCcvcmVzdWx0cycpOworCQkJfQorCQl9KTsKKwl9CisKKwlmdW5jdGlvbiB1cGRhdGVTZWxlY3RlZFNlcnZpY2VzKHNlcnZpY2UpIHsKKwkJJC5hamF4KHsKKwkJCXR5cGUgOiAnUE9TVCcsCisJCQl1cmwgOiAnL3NlbGVjdC8nICsgc2VydmljZSwKKwkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihyZXN1bHQpIHsKKwkJCQkkKCcjc2VsZWN0ZWRTZXJ2aWNlc0Jsb2NrJykubG9hZCgnL3NlbGVjdGVkU2VydmljZXMnKTsKKwkJCX0KKwkJfSk7CisJfQorCisJZnVuY3Rpb24gcmVtb3ZlU2VsZWN0ZWRTZXJ2aWNlcyhzZXJ2aWNlKSB7CisJCSQuYWpheCh7CisJCQl0eXBlIDogJ1BPU1QnLAorCQkJdXJsIDogJy9yZW1vdmUvJyArIHNlcnZpY2UsCisJCQlzdWNjZXNzIDogZnVuY3Rpb24ocmVzdWx0KSB7CisJCQkJJCgnI3NlbGVjdGVkU2VydmljZXNCbG9jaycpLmxvYWQoJy9zZWxlY3RlZFNlcnZpY2VzJyk7CisJCQl9CisJCX0pOworCX0KKworCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgeworCQkkKCcjc2VsZWN0ZWRTZXJ2aWNlc0Jsb2NrJykubG9hZCgnL3NlbGVjdGVkU2VydmljZXMnKTsKKwkJJCgnI21lc3NhZ2VzQmxvY2snKS5sb2FkKCcvbWVzc2FnZXMnKTsKKwkJJCgnI2Vycm9yc0Jsb2NrJykubG9hZCgnL2Vycm9ycycpOworCQkkKCcjcmVzdWx0c0Jsb2NrJykubG9hZCgnL3Jlc3VsdHMnKTsKKwl9KTsKZGlmZiAtLWdpdCBhL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9hYm91dC5odG1sIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2Fib3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFlMWRkMgotLS0gL2Rldi9udWxsCisrKyBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9hYm91dC5odG1sCkBAIC0wLDAgKzEsMTEzIEBACis8aHRtbCB4bWxuczp0aD0iaHR0cHM6Ly93d3cudGh5bWVsZWFmLm9yZyI+Cis8aGVhZCB0aDppbmNsdWRlPSJmcmFnbWVudCA6OiBmcmFnbWVudF9oZWFkIj4KKzwvaGVhZD4KKzxib2R5PgorCTxkaXYgdGg6cmVwbGFjZT0iZnJhZ21lbnQgOjogZnJhZ21lbnRfbmF2Ij48L2Rpdj4KKwk8ZGl2IGNsYXNzPSJiYW5uZXIiPjwvZGl2PgorCTxkaXYgY2xhc3M9ImNvbnRhaW5lciBjb2wtbWQtNyI+CisJCTxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi10b3A6IDEwMHB4Ij4KKwkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciI+CisJCQkJPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj4KKwkJCQkJPGgxPkFib3V0IEVjbGlwc2UgQVBQNE1DPC9oMT4KKwkJCQk8L2Rpdj4KKwkJCTwvZGl2PgorCQk8L2Rpdj4KKwkJPGRpdiBjbGFzcz0iY29sLW1kLTE4IHBhZGRpbmctYm90dG9tLTMwIiBzdHlsZT0ibWFyZ2luLXRvcDogMTMwcHg7IG1hcmdpbi1ib3R0b206MTAwcHgiPgorCQkJPHA+CisJCQkJPGJyPgorCQkJPC9wPgorCisJCQk8cD4KKwkJCQk8c3Ryb25nPkVjbGlwc2UgQVBQNE1DPC9zdHJvbmc+IGlzIGEgcGxhdGZvcm0gZm9yIGVuZ2luZWVyaW5nCisJCQkJZW1iZWRkZWQgbXVsdGktIGFuZCBtYW55LWNvcmUgc29mdHdhcmUgc3lzdGVtcy4gVGhlIHBsYXRmb3JtIGVuYWJsZXMKKwkJCQl0aGUgY3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgY29tcGxleCB0b29sIGNoYWlucyBpbmNsdWRpbmcKKwkJCQlzaW11bGF0aW9uIGFuZCB2YWxpZGF0aW9uLiBBcyBhbiBvcGVuIHBsYXRmb3JtLCBwcm92ZW4gaW4gdGhlCisJCQkJYXV0b21vdGl2ZSBzZWN0b3IgYnkgQm9zY2ggYW5kIHRoZWlyIHBhcnRuZXJzLCBpdCBzdXBwb3J0cworCQkJCWludGVyb3BlcmFiaWxpdHkgYW5kIGV4dGVuc2liaWxpdHkgYW5kIHVuaWZpZXMgZGF0YSBleGNoYW5nZSBpbgorCQkJCWNyb3NzLW9yZ2FuaXphdGlvbmFsIHByb2plY3RzLjxzcGFuIGlkPSJkb3RzIj4uLi48L3NwYW4+CisJCQk8L3A+CisKKwkJCTxkaXYgaWQ9Im1vcmUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CisJCQkJPHA+CisJCQkJCTxpbWcgc3JjPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9hcHA0bWMvaW1hZ2VzL3N5c3RlbS1tb2RlbC5wbmciCisJCQkJCQljbGFzcz0iaW1nLXJlc3BvbnNpdmUiIHN0eWxlPSJ3aWR0aDogMTAwJSI+CisJCQkJPC9wPgorCisJCQkJPHA+CisJCQkJCTxzdHJvbmc+PGVtPk11bHRpLSBhbmQgTWFueS1Db3JlIERldmVsb3BtZW50IFByb2Nlc3MKKwkJCQkJCQlTdXBwb3J0PC9lbT48L3N0cm9uZz4KKwkJCQk8L3A+CisKKwkJCQk8cD5UaGUgQW1hbHRoZWEgcGxhdGZvcm0gYWxsb3dzIHVzZXJzIHRvIGRpc3RyaWJ1dGUgZGF0YSBhbmQKKwkJCQkJdGFza3MgdG8gdGhlIHRhcmdldCBoYXJkd2FyZSBwbGF0Zm9ybXMsIHdpdGggdGhlIGZvY3VzIG9uCisJCQkJCW9wdGltaXphdGlvbiBvZiB0aW1pbmcgYW5kIHNjaGVkdWxpbmcuIEl0IGFkZHJlc3NlcyB0aGUgbmVlZCBmb3IKKwkJCQkJbmV3IHRvb2xzIGFuZCB0ZWNobmlxdWVzIHRvIG1ha2UgZWZmZWN0aXZlIHVzZSBvZiB0aGUgbGV2ZWwgb2YKKwkJCQkJcGFyYWxsZWxpc20gaW4gdGhpcyBlbnZpcm9ubWVudC48L3A+CisKKwkJCQk8cD4KKwkJCQkJPHN0cm9uZz48ZW0+Q29tbW9uIERhdGEgRXhjaGFuZ2UgYW5kIFNpbXVsYXRpb248L2VtPjwvc3Ryb25nPgorCQkJCTwvcD4KKworCQkJCTxwPlRoZSBTeXN0ZW0gTW9kZWwgY29udGFpbnMgdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvCisJCQkJCXNpbXVsYXRlLCBhbmFseXplIGFuZCBvcHRpbWl6ZSBwZXJmb3JtYW5jZS4gSXQgY29udGFpbnMgZXh0ZW5zaXZlCisJCQkJCWluZm9ybWF0aW9uIGFib3V0IHNvZnR3YXJlLCBoYXJkd2FyZSwgdGltaW5nIGJlaGF2aW9yLCBhbmQKKwkJCQkJY29uc3RyYWludHMgZm9yIHRoZSBzeXN0ZW0gdW5kZXIgZGV2ZWxvcG1lbnQuPC9wPgorCisJCQkJPHA+CisJCQkJCUJhc2VkIG9uIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL21vZGVsaW5nL2VtZi8iPkVjbGlwc2UKKwkJCQkJCU1vZGVsaW5nIEZyYW1ld29yazwvYT4sIGl0cyBjYXBhYmlsaXRpZXMgbm90IG9ubHkgaW5jbHVkZSBoYXJkd2FyZSBhbmQKKwkJCQkJc29mdHdhcmUgbW9kZWxsaW5nIGJ1dCBpbiBhZGRpdGlvbiwgdG9vbHMgZm9yIHZpc3VhbGl6YXRpb24gYW5kCisJCQkJCXByb2Nlc3NpbmcuIFRoZSB1bmlmaWVkIGRhdGEgbW9kZWwgZW5hYmxlcyB0b29sIGludGVyb3BlcmFiaWxpdHkKKwkJCQkJYW5kIGRhdGEgZXhjaGFuZ2Ugd2l0aCBvdGhlciBzeXN0ZW1zIHN1Y2ggYXMgPGEKKwkJCQkJCWhyZWY9Imh0dHA6Ly93d3cuYXV0b3Nhci5vcmciPkF1dG9zYXI8L2E+IGFuZCBzaW1wbGlmaWVzIHRoZQorCQkJCQlleGNoYW5nZSBhbmQgc3RvcmFnZSBvZiBkYXRhLgorCQkJCTwvcD4KKworCQkJCTxwPgorCQkJCQk8c3Ryb25nPjxlbT5FdmVudCBUcmFjaW5nPC9lbT48L3N0cm9uZz4KKwkJCQk8L3A+CisKKwkJCQk8cD5UaGUgQU1BTFRIRUEgZGVmaW5pdGlvbnMgb2YgdGFzayBzdGF0ZXMgYW5kIHRyYW5zaXRpb25zCisJCQkJCXByb3ZpZGVzIHRoZSBiYXNpcyBmb3IgZXZhbHVhdGluZyBzeXN0ZW1zIHdpdGggdHJhY2luZyB0b29scywKKwkJCQkJaWRlbnRpZnlpbmcgcHJvYmxlbXMgYW5kIGRpc2NvdmVyaW5nIGltcHJvdmVtZW50cy4gVGhlc2UKKwkJCQkJZGVmaW5pdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlIGluIGJvdGggY29tbWVyY2lhbCBhbmQgb3BlbiBzb3VyY2UKKwkJCQkJdG9vbHMuPC9wPgorCisJCQkJPHA+CisJCQkJCTxzdHJvbmc+PGVtPkN1c3RvbWl6YWJsZSBXb3JrZmxvdzwvZW0+PC9zdHJvbmc+CisJCQkJPC9wPgorCisJCQkJPHA+CisJCQkJCVRoZSBBTUFMVEhFQSB3b3JrZmxvdyBlbmdpbmUgc3VwcG9ydHMgYSBjb250aW51b3VzIGRldmVsb3BtZW50CisJCQkJCXdvcmtmbG93LCBhbGxvd2luZyBkYXRhIGV4Y2hhbmdlIGFsb25nIHRoZSBlbnRpcmUgdG9vbGNoYWluLgorCQkJCQlXb3JrZmxvdyBlbGVtZW50cyBjYW4gYmUgY3VzdG9taXplZCBhbmQgZXh0ZW5kZWQgYWNjb3JkaW5nIHRvIHVzZXIKKwkJCQkJbmVlZHMuIEFzIGEgYmFzaXMsIGEgc3RhbmRhcmQgd29ya2Zsb3cgZGV2ZWxvcGVkIHdpdGggPGEKKwkJCQkJCWhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvWHRleHQvZG9jdW1lbnRhdGlvbi8zMDZfbXdlMi5odG1sIj5FY2xpcHNlCisJCQkJCQlYdGV4dChNV0UyKTwvYT4gaXMgaW5jbHVkZWQuCisJCQkJPC9wPgorCisJCQk8L2Rpdj4KKwkJCTxidXR0b24gb25jbGljaz0icmVhZE1vcmVPckxlc3MoKSIgaWQ9Im15QnRuIiBjbGFzcz0gImJ0biBidG4tc2Vjb25kYXJ5IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogNDBweCI+UmVhZCBtb3JlPC9idXR0b24+CisJCTwvZGl2PgorCisJPC9kaXY+CisJPHNjcmlwdD4KKwkJZnVuY3Rpb24gcmVhZE1vcmVPckxlc3MoKSB7CisJCQl2YXIgZG90cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkb3RzIik7CisJCQl2YXIgbW9yZVRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9yZSIpOworCQkJdmFyIGJ0blRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibXlCdG4iKTsKKworCQkJaWYgKGRvdHMuc3R5bGUuZGlzcGxheSA9PT0gIm5vbmUiKSB7CisJCQkJZG90cy5zdHlsZS5kaXNwbGF5ID0gImlubGluZSI7CisJCQkJYnRuVGV4dC5pbm5lckhUTUwgPSAiUmVhZCBtb3JlIjsKKwkJCQltb3JlVGV4dC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworCQkJfSBlbHNlIHsKKwkJCQlkb3RzLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisJCQkJYnRuVGV4dC5pbm5lckhUTUwgPSAiUmVhZCBsZXNzIjsKKwkJCQltb3JlVGV4dC5zdHlsZS5kaXNwbGF5ID0gImlubGluZSI7CisJCQl9CisJCX0KKwk8L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9hZG1pbi5odG1sIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2FkbWluLmh0bWwKaW5kZXggMTA3YzhhNi4uZTI0NjFiMSAxMDA2NDQKLS0tIGEvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2FkbWluLmh0bWwKKysrIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2FkbWluLmh0bWwKQEAgLTEsMTM4ICsxLDEyMiBAQAotPGh0bWwgeG1sbnM6dGg9Imh0dHBzOi8vd3d3LnRoeW1lbGVhZi5vcmciCi0gICAgICB4bWxuczpzZWM9Imh0dHBzOi8vd3d3LnRoeW1lbGVhZi5vcmcvdGh5bWVsZWFmLWV4dHJhcy1zcHJpbmdzZWN1cml0eTMiPgotPGhlYWQ+IAotPHRpdGxlPkFQUDRNQyBDbG91ZCBNYW5hZ2VyIC0gQWRtaW5pc3RyYXRpb248L3RpdGxlPiAKLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgotPGxpbmsgaHJlZj0id2ViamFycy9ib290c3RyYXAvNC41LjIvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgotPHNjcmlwdCBzcmM9IndlYmphcnMvanF1ZXJ5LzMuNS4xL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJtb2R1bGUiIHNyYz0id2ViamFycy9wb3BwZXIuanMvMS4xNi4wL3BvcHBlci5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IndlYmphcnMvYm9vdHN0cmFwLzQuNS4yL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotZnVuY3Rpb24gcmVtb3ZlU2VydmljZShzZXJ2aWNlKSB7Ci0JdmFyIHRva2VuID0gJCgnI19jc3JmJykuYXR0cignY29udGVudCcpOwotCXZhciBoZWFkZXIgPSAkKCcjX2NzcmZfaGVhZGVyJykuYXR0cignY29udGVudCcpOwotCSQuYWpheCh7Ci0JCXR5cGU6ICdQT1NUJywKLQkJdXJsOiAnL2FkbWluL3JlbW92ZS8nICsgc2VydmljZSwKLQkJc3VjY2VzczogZnVuY3Rpb24ocmVzdWx0KSB7Ci0JCQlsb2NhdGlvbi5yZWxvYWQoKTsKLQkJfQotCX0pOwotfQotPC9zY3JpcHQ+Cis8aHRtbCB4bWxuczp0aD0iaHR0cHM6Ly93d3cudGh5bWVsZWFmLm9yZyI+Cis8aGVhZCB0aDppbmNsdWRlPSJmcmFnbWVudCA6OiBmcmFnbWVudF9oZWFkIj4KIDwvaGVhZD4KIDxib2R5PgotCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Ci0JCTxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KLQkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciIgc3R5bGU9ImhlaWdodDoyMDBweCI+Ci0JCQkJPGltZyBjbGFzcz0iaW1nLWZsdWlkIiBzdHlsZT0iaGVpZ2h0OjEwMCUiIHNyYz0iL2ltYWdlcy9Mb2dvX1Bhbm9yYW1hLnBuZyIvPgotCQkJPC9kaXY+Ci0JCTwvZGl2PgotCQk8ZGl2IGNsYXNzPSJyb3ciPgorCTxkaXYgdGg6cmVwbGFjZT0iZnJhZ21lbnQgOjogZnJhZ21lbnRfbmF2Ij48L2Rpdj4KKwk8ZGl2IGNsYXNzPSJiYW5uZXIiPjwvZGl2PgorCTxkaXYgY2xhc3M9ImNvbnRhaW5lciBjb2wtbWQtNyI+CisJCTxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi10b3A6IDEwMHB4Ij4KIAkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciI+Ci0JCQkgICAgPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj48aDI+Q29uZmlndXJlIGF2YWlsYWJsZSBjbG91ZCBzZXJ2aWNlczwvaDI+PC9kaXY+CisJCQkJPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj4KKwkJCQkJPGgxPkNvbmZpZ3VyZSBBdmFpbGFibGUgU2VydmljZXM8L2gxPgorCQkJCTwvZGl2PgogCQkJPC9kaXY+CiAJCTwvZGl2PgogCi0JCTxmb3JtIGFjdGlvbj0iIyIgdGg6YWN0aW9uPSJAey9hZG1pbi9zYXZlfSIgdGg6b2JqZWN0PSIke2R0b30iIG1ldGhvZD0iUE9TVCI+Ci0JCSAgICA8ZmllbGRzZXQ+CisJCTxmb3JtIGFjdGlvbj0iIyIgdGg6YWN0aW9uPSJAey9hZG1pbi9zYXZlfSIgdGg6b2JqZWN0PSIke2R0b30iCisJCQltZXRob2Q9IlBPU1QiPgorCQkJPGZpZWxkc2V0PgogCi0JCQkJPGRpdiBjbGFzcz0icm93IG10LTMiPgorCQkJCTxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi10b3A6IDEwMHB4Ij4KIAkJCQkJPGRpdiBjbGFzcz0iY29sIHRleHQtY2VudGVyIj4KLQkJCQkgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtc20iPgotCQkJCSAgICAgICAgICAgIDx0aGVhZD4KLQkJCQkgICAgICAgICAgICAgICAgPHRyPgotCQkJCSAgICAgICAgICAgICAgICAgICAgPHRoPlNlcnZpY2UgTmFtZTwvdGg+Ci0JCQkJICAgICAgICAgICAgICAgICAgICA8dGg+U2VydmljZSBCYXNlIFVSTDwvdGg+Ci0JCQkJICAgICAgICAgICAgICAgICAgICA8dGg+U2VydmljZSBEZXNjcmlwdGlvbjwvdGg+Ci0JCQkJICAgICAgICAgICAgICAgICAgICA8dGg+PC90aD4KLQkJCQkgICAgICAgICAgICAgICAgPC90cj4KLQkJCQkgICAgICAgICAgICA8L3RoZWFkPgotCQkJCSAgICAgICAgICAgIDx0Ym9keT4KLQkJCQkgICAgICAgICAgICAgICAgPHRyIHRoOmVhY2g9InNlcnZpY2UsIHN0YXQgOiAqe3NlcnZpY2VzfSI+Ci0JCQkJICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IHRoOmZpZWxkPSIqe3NlcnZpY2VzW19fJHtzdGF0LmluZGV4fV9fXS5uYW1lfSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPjwvdGQ+Ci0JCQkJICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IHRoOmZpZWxkPSIqe3NlcnZpY2VzW19fJHtzdGF0LmluZGV4fV9fXS5iYXNlVXJsfSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPjwvdGQ+Ci0JCQkJICAgICAgICAgICAgICAgICAgICA8dGQ+PGlucHV0IHRoOmZpZWxkPSIqe3NlcnZpY2VzW19fJHtzdGF0LmluZGV4fV9fXS5kZXNjcmlwdGlvbn0iIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz48L3RkPgotCQkJCSAgICAgICAgICAgICAgICAgICAgPHRkPgotCQkJCSAgICAgICAgICAgICAgICAgICAgCTxhIHRoOmlmPSIqe3NlcnZpY2VzW19fJHtzdGF0LmluZGV4fV9fXS5uYW1lICE9IG51bGx9IgotCQkJCSAgICAgICAgICAgICAgICAgICAgCQl0aDphdHRyPSJvbmNsaWNrPXxyZW1vdmVTZXJ2aWNlKCcqe3NlcnZpY2VzW19fJHtzdGF0LmluZGV4fV9fXS5uYW1lfScpfCIgCi0JCQkJICAgICAgICAgICAgICAgICAgICAJCWNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iPnJlbW92ZTwvYT4KLQkJCQkgICAgICAgICAgICAgICAgICAgIDwvdGQ+Ci0JCQkJICAgICAgICAgICAgICAgIDwvdHI+Ci0JCQkJICAgICAgICAgICAgPC90Ym9keT4KLQkJCQkgICAgICAgIDwvdGFibGU+CisJCQkJCQk8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXNtIj4KKwkJCQkJCQk8dGhlYWQ+CisJCQkJCQkJCTx0cj4KKwkJCQkJCQkJCTx0aD5TZXJ2aWNlIE5hbWU8L3RoPgorCQkJCQkJCQkJPHRoPlNlcnZpY2UgQmFzZSBVUkw8L3RoPgorCQkJCQkJCQkJPHRoPlNlcnZpY2UgRGVzY3JpcHRpb248L3RoPgorCQkJCQkJCQkJPHRoPjwvdGg+CisJCQkJCQkJCTwvdHI+CisJCQkJCQkJPC90aGVhZD4KKwkJCQkJCQk8dGJvZHk+CisJCQkJCQkJCTx0ciB0aDplYWNoPSJzZXJ2aWNlLCBzdGF0IDogKntzZXJ2aWNlc30iPgorCQkJCQkJCQkJPHRkPjxpbnB1dCB0aDpmaWVsZD0iKntzZXJ2aWNlc1tfXyR7c3RhdC5pbmRleH1fX10ubmFtZX0iCisJCQkJCQkJCQkJY2xhc3M9ImZvcm0tY29udHJvbCBmbS1jdHJsLWxlZnQiIC8+PC90ZD4KKwkJCQkJCQkJCTx0ZD48aW5wdXQKKwkJCQkJCQkJCQl0aDpmaWVsZD0iKntzZXJ2aWNlc1tfXyR7c3RhdC5pbmRleH1fX10uYmFzZVVybH0iCisJCQkJCQkJCQkJY2xhc3M9ImZvcm0tY29udHJvbCBmbS1jdHJsLWNlbnRlciIgLz48L3RkPgorCQkJCQkJCQkJPHRkPjxpbnB1dAorCQkJCQkJCQkJCXRoOmZpZWxkPSIqe3NlcnZpY2VzW19fJHtzdGF0LmluZGV4fV9fXS5kZXNjcmlwdGlvbn0iCisJCQkJCQkJCQkJY2xhc3M9ImZvcm0tY29udHJvbCBmbS1jdHJsLXJpZ2h0IiAvPjwvdGQ+CisJCQkJCQkJCQk8dGQ+PGEgdGg6aWY9Iip7c2VydmljZXNbX18ke3N0YXQuaW5kZXh9X19dLm5hbWUgIT0gbnVsbH0iCisJCQkJCQkJCQkJdGg6YXR0cj0ib25jbGljaz18cmVtb3ZlU2VydmljZSgnKntzZXJ2aWNlc1tfXyR7c3RhdC5pbmRleH1fX10ubmFtZX0nKXwiCisJCQkJCQkJCQkJY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBidG4tcm12Ij48aQorCQkJCQkJCQkJCQljbGFzcz0iZmFzIGZhLXRpbWVzIj48L2k+PC9hPgorCQkJCQkJCQkJCTxidXR0b24KKwkJCQkJCQkJCQkJdGg6dW5sZXNzPSIqe3NlcnZpY2VzW19fJHtzdGF0LmluZGV4fV9fXS5uYW1lICE9IG51bGx9IgorCQkJCQkJCQkJCQl0eXBlPSJzdWJtaXQiIGlkPSJzdWJtaXRTZXJ2aWNlc0J1dHRvbiIgdGg6dmFsdWU9IlNhdmUiCisJCQkJCQkJCQkJCWNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLXNhdmUiPgorCQkJCQkJCQkJCQk8aSBjbGFzcz0iZmFzIGZhLXNhdmUiPjwvaT4KKwkJCQkJCQkJCQk8L2J1dHRvbj48L3RkPgorCQkJCQkJCQk8L3RyPgorCQkJCQkJCTwvdGJvZHk+CisJCQkJCQk8L3RhYmxlPgogCQkJCQk8L2Rpdj4KIAkJCQk8L2Rpdj4KIAkJCQk8ZGl2IGNsYXNzPSJyb3ciPgotCQkJCQk8ZGl2IGNsYXNzPSJjb2wgdGV4dC1yaWdodCIgc3R5bGU9InBhZGRpbmctcmlnaHQ6MnB4Ij4KLQkJCQkgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJzdWJtaXRTZXJ2aWNlc0J1dHRvbiIgdGg6dmFsdWU9IlNhdmUiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiLz4KLQkJCQkJPC9kaXY+Ci0JCQkJCTxkaXYgY2xhc3M9ImNvbCIgc3R5bGU9InBhZGRpbmctbGVmdDoycHgiPgotCQkJCSAgICAgICAgPGlucHV0IHR5cGU9InJlc2V0IiBpZD0icmVzZXRTZXJ2aWNlc0J1dHRvbiIgbmFtZT0icmVzZXQiIHRoOnZhbHVlPSJSZXNldCIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5Ii8+CisJCQkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciIgc3R5bGU9InBhZGRpbmctbGVmdDogMnB4Ij4KKwkJCQkJCTxpbnB1dCB0eXBlPSJyZXNldCIgaWQ9InJlc2V0U2VydmljZXNCdXR0b24iIG5hbWU9InJlc2V0IgorCQkJCQkJCXRoOnZhbHVlPSJSZXNldCIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IiAvPgogCQkJCQk8L2Rpdj4KIAkJCQk8L2Rpdj4KIAotCQkgICAgPC9maWVsZHNldD4KKwkJCTwvZmllbGRzZXQ+CiAJCTwvZm9ybT4KIAogCQk8ZGl2IGNsYXNzPSJyb3cgbWItMyBtdC01Ij4KIAkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciI+Ci0JCQkgICAgPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj48aDI+Q29uZmlndXJlIFByb3h5PC9oMj48L2Rpdj4KKwkJCQk8ZGl2IGNsYXNzPSJjb250ZW50LWhlYWRpbmciPgorCQkJCQk8aDI+Q29uZmlndXJlIFByb3h5PC9oMj4KKwkJCQk8L2Rpdj4KIAkJCTwvZGl2PgogCQk8L2Rpdj4KIAogCQk8Zm9ybSBhY3Rpb249Ii9hZG1pbi9zYXZlUHJveHkiIG1ldGhvZD0iUE9TVCI+Ci0JCSAgICA8ZmllbGRzZXQ+CisJCQk8ZmllbGRzZXQ+CiAKIAkJCQk8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sIj4KLQkJCQkJCTxsYWJlbCBmb3I9InByb3h5X2hvc3QiPkhvc3Q8L2xhYmVsPgotCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJwcm94eV9ob3N0IiBuYW1lPSJwcm94eV9ob3N0IiB0aDp2YWx1ZT0iJHtwcm94eV9ob3N0fSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPgorCQkJCQkJPGxhYmVsIGZvcj0icHJveHlfaG9zdCI+SG9zdDwvbGFiZWw+IDxpbnB1dCB0eXBlPSJ0ZXh0IgorCQkJCQkJCWlkPSJwcm94eV9ob3N0IiBuYW1lPSJwcm94eV9ob3N0IiB0aDp2YWx1ZT0iJHtwcm94eV9ob3N0fSIKKwkJCQkJCQljbGFzcz0iZm9ybS1jb250cm9sIiAvPgogCQkJCQk8L2Rpdj4KIAkJCQk8L2Rpdj4KIAkJCQk8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sIj4KLQkJCQkJCTxsYWJlbCBmb3I9InByb3h5X3BvcnQiPlBvcnQ8L2xhYmVsPgotCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJwcm94eV9wb3J0IiBuYW1lPSJwcm94eV9wb3J0IiB0aDp2YWx1ZT0iJHtwcm94eV9wb3J0fSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPgorCQkJCQkJPGxhYmVsIGZvcj0icHJveHlfcG9ydCI+UG9ydDwvbGFiZWw+IDxpbnB1dCB0eXBlPSJ0ZXh0IgorCQkJCQkJCWlkPSJwcm94eV9wb3J0IiBuYW1lPSJwcm94eV9wb3J0IiB0aDp2YWx1ZT0iJHtwcm94eV9wb3J0fSIKKwkJCQkJCQljbGFzcz0iZm9ybS1jb250cm9sIiAvPgogCQkJCQk8L2Rpdj4KIAkJCQk8L2Rpdj4KIAkJCQk8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sIj4KLQkJCQkJCTxsYWJlbCBmb3I9InByb3h5X3VzZXIiPlVzZXI8L2xhYmVsPgotCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJwcm94eV91c2VyIiBuYW1lPSJwcm94eV91c2VyIiB0aDp2YWx1ZT0iJHtwcm94eV91c2VyfSIgY2xhc3M9ImZvcm0tY29udHJvbCIvPgorCQkJCQkJPGxhYmVsIGZvcj0icHJveHlfdXNlciI+VXNlcjwvbGFiZWw+IDxpbnB1dCB0eXBlPSJ0ZXh0IgorCQkJCQkJCWlkPSJwcm94eV91c2VyIiBuYW1lPSJwcm94eV91c2VyIiB0aDp2YWx1ZT0iJHtwcm94eV91c2VyfSIKKwkJCQkJCQljbGFzcz0iZm9ybS1jb250cm9sIiAvPgogCQkJCQk8L2Rpdj4KIAkJCQk8L2Rpdj4KIAkJCQk8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sIj4KLQkJCQkJCTxsYWJlbCBmb3I9InByb3h5X3B3ZCI+UGFzc3dvcmQ8L2xhYmVsPgotCQkJCQkJPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0icHJveHlfcHdkIiBuYW1lPSJwcm94eV9wd2QiIHRoOnZhbHVlPSIke3Byb3h5X3B3ZH0iIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4KKwkJCQkJCTxsYWJlbCBmb3I9InByb3h5X3B3ZCI+UGFzc3dvcmQ8L2xhYmVsPiA8aW5wdXQgdHlwZT0icGFzc3dvcmQiCisJCQkJCQkJaWQ9InByb3h5X3B3ZCIgbmFtZT0icHJveHlfcHdkIiB0aDp2YWx1ZT0iJHtwcm94eV9wd2R9IgorCQkJCQkJCWNsYXNzPSJmb3JtLWNvbnRyb2wiIC8+CiAJCQkJCTwvZGl2PgogCQkJCTwvZGl2PgotCQkJCTxkaXYgY2xhc3M9InJvdyI+Ci0JCQkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LXJpZ2h0IiBzdHlsZT0icGFkZGluZy1yaWdodDoycHgiPgotCQkJCSAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9InN1Ym1pdFByb3h5QnV0dG9uIiB0aDp2YWx1ZT0iU2F2ZSIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBtdC0yIi8+CisJCQkJPGRpdiBjbGFzcz0icm93IiBzdHlsZT0ibWFyZ2luLXRvcDogMjBweDsgbWFyZ2luLWJvdHRvbTogMTAwcHgiPgorCQkJCQk8ZGl2IGNsYXNzPSJjb2wgdGV4dC1yaWdodCIgc3R5bGU9InBhZGRpbmctcmlnaHQ6IDJweCI+CisJCQkJCQk8aW5wdXQgdHlwZT0icmVzZXQiIGlkPSJyZXNldFByb3h5QnV0dG9uIiBuYW1lPSJyZXNldCIKKwkJCQkJCQl0aDp2YWx1ZT0iUmVzZXQiCisJCQkJCQkJY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IG10LTIgZm0tY3RybC1sZWZ0IGhhbGYtYnRuIiAvPgogCQkJCQk8L2Rpdj4KLQkJCQkJPGRpdiBjbGFzcz0iY29sIiBzdHlsZT0icGFkZGluZy1sZWZ0OjJweCI+Ci0JCQkJICAgICAgICA8aW5wdXQgdHlwZT0icmVzZXQiIGlkPSJyZXNldFByb3h5QnV0dG9uIiBuYW1lPSJyZXNldCIgdGg6dmFsdWU9IlJlc2V0IiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgbXQtMiIvPgorCQkJCQk8ZGl2IGNsYXNzPSJjb2wiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDJweCI+CisJCQkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0ic3VibWl0UHJveHlCdXR0b24iIHRoOnZhbHVlPSJTYXZlIgorCQkJCQkJCWNsYXNzPSJidG4gYnRuLXByaW1hcnkgbXQtMiBmbS1jdHJsLXJpZ2h0IGhhbGYtYnRuIiAvPgogCQkJCQk8L2Rpdj4KIAkJCQk8L2Rpdj4KIAotCQkgICAgPC9maWVsZHNldD4KKwkJCTwvZmllbGRzZXQ+CiAJCTwvZm9ybT4KLQkKLQkJPGRpdiBjbGFzcz0icm93Ij4KLQkJCTxkaXYgY2xhc3M9ImNvbCI+Ci0JCQkJPGZvcm0gdGg6YWN0aW9uPSJAey9sb2dvdXR9IiBtZXRob2Q9InBvc3QiPgotCQkJCQk8aW5wdXQgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IG1iLTEiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNpZ24gT3V0Ii8+Ci0JCQkJPC9mb3JtPgotCQkJPC9kaXY+Ci0JCTwvZGl2PgotCQk8ZGl2IGNsYXNzPSJyb3ciPgotCQkJPGRpdiBjbGFzcz0iY29sIj4KLQkJCQk8YSB0aDpocmVmPSJAey99IiBjbGFzcz0iYnRuIGJ0bi1kYXJrIG1iLTUiPkdvIGJhY2s8L2E+Ci0JCQk8L2Rpdj4KLQkJPC9kaXY+Ci0gICAgPC9kaXY+Ci0KKwk8L2Rpdj4KKwk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9hZG1pbi5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2Vycm9yLmh0bWwgYi9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvZXJyb3IuaHRtbAppbmRleCBjOTY4YWRmLi43NDg0NzQ2IDEwMDY0NAotLS0gYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvZXJyb3IuaHRtbAorKysgYi9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvZXJyb3IuaHRtbApAQCAtMSw4NiArMSw2MCBAQAogPCFET0NUWVBFIEhUTUw+CiA8aHRtbCB4bWxuczp0aD0iaHR0cHM6Ly93d3cudGh5bWVsZWFmLm9yZyI+Ci08aGVhZD4gCi08dGl0bGU+QVBQNE1DIENsb3VkIE1hbmFnZXIgLSBFcnJvcjwvdGl0bGU+IAotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+Ci08bGluayBocmVmPSJ3ZWJqYXJzL2Jvb3RzdHJhcC80LjUuMi9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Ci08c2NyaXB0IHNyYz0id2ViamFycy9qcXVlcnkvMy41LjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9Im1vZHVsZSIgc3JjPSJ3ZWJqYXJzL3BvcHBlci5qcy8xLjE2LjAvcG9wcGVyLm1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0id2ViamFycy9ib290c3RyYXAvNC41LjIvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+Cis8aGVhZCB0aDppbmNsdWRlPSJmcmFnbWVudCA6OiBmcmFnbWVudF9oZWFkIj4KIDwvaGVhZD4KIDxib2R5PgotCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Ci0JCTxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KLQkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciIgc3R5bGU9ImhlaWdodDoyMDBweCI+Ci0JCQkJPGltZyBjbGFzcz0iaW1nLWZsdWlkIiBzdHlsZT0iaGVpZ2h0OjEwMCUiIHNyYz0iL2ltYWdlcy9Mb2dvX1Bhbm9yYW1hLnBuZyIvPgotCQkJPC9kaXY+Ci0JCTwvZGl2PgotCQk8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtZW5kIj4KKwk8ZGl2IHRoOnJlcGxhY2U9ImZyYWdtZW50IDo6IGZyYWdtZW50X25hdiI+PC9kaXY+CisJPGRpdiBjbGFzcz0iYmFubmVyIj48L2Rpdj4KKwk8ZGl2IGNsYXNzPSJjb250YWluZXIiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxMDBweCI+CisJCTxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1lbmQiIHN0eWxlPSJtYXJnaW4tdG9wOiAyMzBweCI+CiAJCQk8ZGl2IGNsYXNzPSJjb2wiPgotCQkJICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtaGVhZGluZyI+PGgxPkFuIGVycm9yIG9jY3VyZWQ8L2gxPjwvZGl2PgorCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQtaGVhZGluZyI+CisJCQkJCTxoMT5BbiBlcnJvciBvY2N1cmVkPC9oMT4KKwkJCQk8L2Rpdj4KIAkJCTwvZGl2PgogCQk8L2Rpdj4KIAkJPGRpdiBjbGFzcz0icm93IG10LTMiPgotCQkJPGRpdiBjbGFzcz0iY29sLTIiPgotCQkJCURhdGUKLQkJCTwvZGl2PgorCQkJPGRpdiBjbGFzcz0iY29sLTIiPkRhdGU8L2Rpdj4KIAkJCTxkaXYgY2xhc3M9ImNvbCI+CiAJCQkJPHNwYW4gdGg6dGV4dD0iJHt0aW1lc3RhbXB9Ij48L3NwYW4+CiAJCQk8L2Rpdj4KIAkJPC9kaXY+CiAJCTxkaXYgY2xhc3M9InJvdyBtdC0zIj4KLQkJCTxkaXYgY2xhc3M9ImNvbC0yIj4KLQkJCQlQYXRoCi0JCQk8L2Rpdj4KKwkJCTxkaXYgY2xhc3M9ImNvbC0yIj5QYXRoPC9kaXY+CiAJCQk8ZGl2IGNsYXNzPSJjb2wiPgogCQkJCTxzcGFuIHRoOnRleHQ9IiR7cGF0aH0iPjwvc3Bhbj4KIAkJCTwvZGl2PgogCQk8L2Rpdj4KIAkJPGRpdiBjbGFzcz0icm93IG10LTMiPgotCQkJPGRpdiBjbGFzcz0iY29sLTIiPgotCQkJCUVycm9yCi0JCQk8L2Rpdj4KKwkJCTxkaXYgY2xhc3M9ImNvbC0yIj5FcnJvcjwvZGl2PgogCQkJPGRpdiBjbGFzcz0iY29sIj4KIAkJCQk8c3BhbiB0aDp0ZXh0PSIke2Vycm9yfSI+PC9zcGFuPgogCQkJPC9kaXY+CiAJCTwvZGl2PgogCQk8ZGl2IGNsYXNzPSJyb3cgbXQtMyI+Ci0JCQk8ZGl2IGNsYXNzPSJjb2wtMiI+Ci0JCQkJU3RhdHVzCi0JCQk8L2Rpdj4KKwkJCTxkaXYgY2xhc3M9ImNvbC0yIj5TdGF0dXM8L2Rpdj4KIAkJCTxkaXYgY2xhc3M9ImNvbCI+CiAJCQkJPHNwYW4gdGg6dGV4dD0iJHtzdGF0dXN9Ij48L3NwYW4+CiAJCQk8L2Rpdj4KIAkJPC9kaXY+CiAJCTxkaXYgY2xhc3M9InJvdyBtdC0zIj4KLQkJCTxkaXYgY2xhc3M9ImNvbC0yIj4KLQkJCQlNZXNzYWdlCi0JCQk8L2Rpdj4KKwkJCTxkaXYgY2xhc3M9ImNvbC0yIj5NZXNzYWdlPC9kaXY+CiAJCQk8ZGl2IGNsYXNzPSJjb2wiPgogCQkJCTxzcGFuIHRoOnRleHQ9IiR7bWVzc2FnZX0iPjwvc3Bhbj4KIAkJCTwvZGl2PgogCQk8L2Rpdj4KIAkJPGRpdiBjbGFzcz0icm93IG10LTMiPgotCQkJPGRpdiBjbGFzcz0iY29sLTIiPgotCQkJCUV4Y2VwdGlvbgotCQkJPC9kaXY+CisJCQk8ZGl2IGNsYXNzPSJjb2wtMiI+RXhjZXB0aW9uPC9kaXY+CiAJCQk8ZGl2IGNsYXNzPSJjb2wiPgogCQkJCTxzcGFuIHRoOnRleHQ9IiR7ZXhjZXB0aW9ufSI+PC9zcGFuPgogCQkJPC9kaXY+CiAJCTwvZGl2PgogCQk8ZGl2IGNsYXNzPSJyb3cgbXQtMyI+Ci0JCQk8ZGl2IGNsYXNzPSJjb2wtMiI+Ci0JCQkJVHJhY2UKLQkJCTwvZGl2PgorCQkJPGRpdiBjbGFzcz0iY29sLTIiPlRyYWNlPC9kaXY+CiAJCQk8ZGl2IGNsYXNzPSJjb2wiPgogCQkJCTxwcmUgdGg6dGV4dD0iJHt0cmFjZX0iPjwvcHJlPgogCQkJPC9kaXY+CiAJCTwvZGl2PgotCQk8ZGl2IGNsYXNzPSJyb3ciPgotCQkJPGRpdiBjbGFzcz0iY29sIj4KLQkJCQk8YSB0aDpocmVmPSJAey99IiBjbGFzcz0iYnRuIGJ0bi1kYXJrIG10LTUgbWItNSI+R28gYmFjazwvYT4KLQkJCTwvZGl2PgotCQk8L2Rpdj4KLSAgICA8L2Rpdj4KKwk8L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9mcmFnbWVudC5odG1sIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2ZyYWdtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE1YTM0MAotLS0gL2Rldi9udWxsCisrKyBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9mcmFnbWVudC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWwgeG1sbnM6dGg9Imh0dHBzOi8vd3d3LnRoeW1lbGVhZi5vcmciCisJICB4bWxuczpzZWM9Imh0dHA6Ly93d3cudGh5bWVsZWFmLm9yZy9leHRyYXMvc3ByaW5nLXNlY3VyaXR5Ij4KKzxoZWFkIHRoOmZyYWdtZW50PSJmcmFnbWVudF9oZWFkIj4KKzx0aXRsZT5BUFA0TUMgQ2xvdWQgTWFuYWdlcjwvdGl0bGU+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KKzxsaW5rIGhyZWY9IndlYmphcnMvYm9vdHN0cmFwLzQuNS4yL2Nzcy9ib290c3RyYXAubWluLmNzcyIKKwlyZWw9InN0eWxlc2hlZXQiPgorPGxpbmsgaHJlZj0iY3NzL3N0eWxlcy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KKzxzY3JpcHQgc3JjPSJ3ZWJqYXJzL2pxdWVyeS8zLjUuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0ibW9kdWxlIiBzcmM9IndlYmphcnMvcG9wcGVyLmpzLzEuMTYuMC9wb3BwZXIubWluLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ3ZWJqYXJzL2Jvb3RzdHJhcC80LjUuMi9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ3ZWJqYXJzL2ZvbnQtYXdlc29tZS81LjEzLjAvanMvYWxsLm1pbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKwk8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbmF2Y29uIiB0aDpmcmFnbWVudD0iZnJhZ21lbnRfbmF2Ij4KKwkJPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1leHBhbmQtc20gYmctbGlnaHQiPgorCQkJPGEgY2xhc3M9Im5hdi1icmFuZCIgdGg6aHJlZj0iQHsvfSI+PGltZyBzdHlsZT0id2lkdGg6IDEwMCUiCisJCQkJc3JjPSIvaW1hZ2VzL0xvZ29fUGFub3JhbWFfc21hbGwucG5nIiAvPjwvYT4KKwkJCTx1bCBjbGFzcz0ibmF2YmFyLW5hdiBjb2wtbWQtMTAganVzdGlmeS1jb250ZW50LWVuZCI+CisJCQkJPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiB0aDpocmVmPSJAey99Ij5Ib21lPC9hPjwvbGk+CisJCQkJPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiB0aDpocmVmPSJAey9hZG1pbn0iPkFkbWluPC9hPjwvbGk+CisJCQkJPGxpIGNsYXNzPSJuYXYtaXRlbSIgc2VjOmF1dGhvcml6ZT0iaXNBdXRoZW50aWNhdGVkKCkiPjxhIGNsYXNzPSJuYXYtbGluayIgdGg6aHJlZj0iQHsvbG9nb3V0fSI+TG9nb3V0PC9hPjwvbGk+CisJCQkJPGxpIGNsYXNzPSJuYXYtaXRlbSIgc2VjOmF1dGhvcml6ZT0iaXNBbm9ueW1vdXMoKSI+PGEgY2xhc3M9Im5hdi1saW5rIiB0aDpocmVmPSJAey9sb2dpbn0iPkxvZ2luPC9hPjwvbGk+CisJCQkJPGxpIGNsYXNzPSJuYXYtaXRlbSI+PGEgY2xhc3M9Im5hdi1saW5rIiB0aDpocmVmPSJAey9hYm91dH0iPkFib3V0PC9hPjwvbGk+CisJCQk8L3VsPgorCQk8L25hdj4KKwk8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9pbmRleC5odG1sIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzc1MGU2ZQotLS0gL2Rldi9udWxsCisrKyBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9pbmRleC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWwgeG1sbnM6dGg9Imh0dHBzOi8vd3d3LnRoeW1lbGVhZi5vcmciCisJICB4bWxuczpzZWM9Imh0dHA6Ly93d3cudGh5bWVsZWFmLm9yZy9leHRyYXMvc3ByaW5nLXNlY3VyaXR5Ij4KKzxoZWFkIHRoOnJlcGxhY2U9ImZyYWdtZW50IDo6IGZyYWdtZW50X2hlYWQiPgorPC9oZWFkPgorPGJvZHk+CisJPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIGhlcm8iPgorCQk8ZGl2IHRoOnJlcGxhY2U9ImZyYWdtZW50IDo6IGZyYWdtZW50X25hdiI+PC9kaXY+CisJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciBjdGEiPgorCQkJPGRpdiBjbGFzcz0icm93IGp1c3RpZnktY29udGVudC1jZW50ZXIiCisJCQkJc3R5bGU9ImhlaWdodDogMTAwcHg7IG1hcmdpbi10b3A6IDE1MHB4Ij4KKwkJCQk8aW1nIGNsYXNzPSJpbWctZmx1aWQiIHN0eWxlPSJoZWlnaHQ6IDEwMCU7IG1hcmdpbi1yaWdodDogMTBweDsiCisJCQkJCXNyYz0iL2ltYWdlcy9hcHA0bWMtbG9nby5wbmciIC8+CisJCQk8L2Rpdj4KKwkJCTxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KKwkJCQk8ZGl2IGNsYXNzPSJjb250ZW50LWhlYWRpbmciPgorCQkJCQk8aDE+Q2xvdWQgTWFuYWdlcjwvaDE+CisJCQkJPC9kaXY+CisJCQk8L2Rpdj4KKwkJCTxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi10b3A6IDMwcHgiPgorCQkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciI+CisJCQkJCTxhIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgbGVmdC1idG4iIGhyZWY9Ii93b3JrZmxvdyI+U3RhcnQKKwkJCQkJCVdvcmtmbG93PC9hPgorCQkJCTwvZGl2PgorCQkJPC9kaXY+CisJCTwvZGl2PgorCTwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL2xvZ2luLmh0bWwgYi9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvbG9naW4uaHRtbAppbmRleCAwYWMxMmYxLi4wYTZmNjBiIDEwMDY0NAotLS0gYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvbG9naW4uaHRtbAorKysgYi9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvbG9naW4uaHRtbApAQCAtMSw2NSArMSw1OCBAQAogPCFET0NUWVBFIGh0bWw+Ci08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6dGg9Imh0dHBzOi8vd3d3LnRoeW1lbGVhZi5vcmciCi0gICAgICB4bWxuczpzZWM9Imh0dHBzOi8vd3d3LnRoeW1lbGVhZi5vcmcvdGh5bWVsZWFmLWV4dHJhcy1zcHJpbmdzZWN1cml0eTMiPgotPGhlYWQ+Ci08dGl0bGU+QVBQNE1DIENsb3VkIE1hbmFnZXIgLSBMb2dpbjwvdGl0bGU+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KLTxsaW5rIGhyZWY9IndlYmphcnMvYm9vdHN0cmFwLzQuNS4yL2Nzcy9ib290c3RyYXAubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KLTxzY3JpcHQgc3JjPSJ3ZWJqYXJzL2pxdWVyeS8zLjUuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0ibW9kdWxlIiBzcmM9IndlYmphcnMvcG9wcGVyLmpzLzEuMTYuMC9wb3BwZXIubWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ3ZWJqYXJzL2Jvb3RzdHJhcC80LjUuMi9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIgorCXhtbG5zOnRoPSJodHRwczovL3d3dy50aHltZWxlYWYub3JnIgorCXhtbG5zOnNlYz0iaHR0cHM6Ly93d3cudGh5bWVsZWFmLm9yZy90aHltZWxlYWYtZXh0cmFzLXNwcmluZ3NlY3VyaXR5MyI+Cis8aGVhZCB0aDppbmNsdWRlPSJmcmFnbWVudCA6OiBmcmFnbWVudF9oZWFkIj4KIDwvaGVhZD4KIDxib2R5PgotCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Ci0JCTxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KLQkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciIgc3R5bGU9ImhlaWdodDoyMDBweCI+Ci0JCQkJPGltZyBjbGFzcz0iaW1nLWZsdWlkIiBzdHlsZT0iaGVpZ2h0OjEwMCUiIHNyYz0iL2ltYWdlcy9Mb2dvX1Bhbm9yYW1hLnBuZyIvPgotCQkJPC9kaXY+Ci0JCTwvZGl2PgotCQk8ZGl2IGNsYXNzPSJyb3ciPgorCTxkaXYgdGg6cmVwbGFjZT0iZnJhZ21lbnQgOjogZnJhZ21lbnRfbmF2Ij48L2Rpdj4KKwk8ZGl2IGNsYXNzPSJiYW5uZXIiPjwvZGl2PgorCTxkaXYgY2xhc3M9ImNvbnRhaW5lciBjb2wtbWQtNyI+CisJCTxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi10b3A6IDEwMHB4Ij4KIAkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciI+Ci0JCQkgICAgPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj48aDE+TG9naW48L2gxPjwvZGl2PgorCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQtaGVhZGluZyI+CisJCQkJCTxoMT5Mb2dpbjwvaDE+CisJCQkJPC9kaXY+CiAJCQk8L2Rpdj4KIAkJPC9kaXY+Ci0JCTxkaXYgY2xhc3M9InJvdyBtdC0zIG1iLTMiPgorCQk8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW46IDEzMHB4IDBweCAwcHggMHB4OyI+CiAJCQk8ZGl2IHRoOmlmPSIke3BhcmFtLmVycm9yfSI+Ci0JCQkgICAgPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj48aDI+SW52YWxpZCB1c2VybmFtZSBhbmQgcGFzc3dvcmQuPC9oMj48L2Rpdj4KKwkJCQk8ZGl2IGNsYXNzPSJjb250ZW50LWhlYWRpbmciPgorCQkJCQk8aDM+SW52YWxpZCB1c2VybmFtZSBhbmQgcGFzc3dvcmQuPC9oMz4KKwkJCQk8L2Rpdj4KIAkJCTwvZGl2PgogCQk8L2Rpdj4KIAkJPGRpdiBjbGFzcz0icm93IG10LTMgbWItMyI+Ci0JICAgICAgICA8ZGl2IHRoOmlmPSIke3BhcmFtLmxvZ291dH0iPgotCQkJICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtaGVhZGluZyI+PGgyPllvdSBoYXZlIGJlZW4gbG9nZ2VkIG91dC48L2gyPjwvZGl2PgotCSAgICAgICAgPC9kaXY+CisJCQk8ZGl2IHRoOmlmPSIke3BhcmFtLmxvZ291dH0iPgorCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQtaGVhZGluZyI+CisJCQkJCTxoMz5Zb3UgaGF2ZSBiZWVuIGxvZ2dlZCBvdXQuPC9oMz4KKwkJCQk8L2Rpdj4KKwkJCTwvZGl2PgogCQk8L2Rpdj4KLQkJCi0JICAgIDxmb3JtIHRoOmFjdGlvbj0iQHsvbG9naW59IiBtZXRob2Q9InBvc3QiPgotCQkgICAgPGZpZWxkc2V0PgorCisJCTxmb3JtIHRoOmFjdGlvbj0iQHsvbG9naW59IiBtZXRob2Q9InBvc3QiPgorCQkJPGZpZWxkc2V0PgogCiAJCQkJPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIGNvbCI+Ci0JCQkJCQk8bGFiZWwgZm9yPSJ1c2VybmFtZSI+VXNlciBOYW1lPC9sYWJlbD4KLQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idXNlcm5hbWUiIG5hbWU9InVzZXJuYW1lImNsYXNzPSJmb3JtLWNvbnRyb2wiLz4KKwkJCQkJCTxsYWJlbCBmb3I9InVzZXJuYW1lIj5Vc2VyIE5hbWU8L2xhYmVsPiA8aW5wdXQgdHlwZT0idGV4dCIKKwkJCQkJCQlpZD0idXNlcm5hbWUiIG5hbWU9InVzZXJuYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIiAvPgogCQkJCQk8L2Rpdj4KIAkJCQk8L2Rpdj4KIAkJCQk8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sIj4KLQkJCQkJCTxsYWJlbCBmb3I9InBhc3N3b3JkIj5QYXNzd29yZDwvbGFiZWw+Ci0JCQkJCQk8aW5wdXQgdHlwZT0icGFzc3dvcmQiIGlkPSJwYXNzd29yZCIgbmFtZT0icGFzc3dvcmQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4KKwkJCQkJCTxsYWJlbCBmb3I9InBhc3N3b3JkIj5QYXNzd29yZDwvbGFiZWw+IDxpbnB1dCB0eXBlPSJwYXNzd29yZCIKKwkJCQkJCQlpZD0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIiBjbGFzcz0iZm9ybS1jb250cm9sIiAvPgogCQkJCQk8L2Rpdj4KIAkJCQk8L2Rpdj4KIAkJCQk8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAJCQkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciI+Ci0JCQkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2lnbiBJbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBtdC0yIi8+CisJCQkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2lnbiBJbiIKKwkJCQkJCQljbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IG10LTIgbGVmdC1idG4iIC8+CiAJCQkJCTwvZGl2PgogCQkJCTwvZGl2PgogCQkJPC9maWVsZHNldD4KLSAgICAgICAgPC9mb3JtPgotCi0JCTxkaXYgY2xhc3M9InJvdyI+Ci0JCQk8ZGl2IGNsYXNzPSJjb2wiPgotCQkJCTxhIHRoOmhyZWY9IkB7L30iIGNsYXNzPSJidG4gYnRuLWRhcmsiPkdvIGJhY2s8L2E+Ci0JCQk8L2Rpdj4KLQkJPC9kaXY+Ci0gICAgPC9kaXY+CisJCTwvZm9ybT4KKwk8L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvc2VsZWN0ZWRTZXJ2aWNlcy5odG1sIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL3NlbGVjdGVkU2VydmljZXMuaHRtbAppbmRleCA2NmE1YjExLi5jYTcxNzYxIDEwMDY0NAotLS0gYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvc2VsZWN0ZWRTZXJ2aWNlcy5odG1sCisrKyBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9zZWxlY3RlZFNlcnZpY2VzLmh0bWwKQEAgLTgsOCArOCw4IEBACiAgICAgPGRpdiB0aDpmcmFnbWVudD0ic2VydmljZXNMaXN0IiBpZD0ic2VsZWN0ZWRTZXJ2aWNlcyIgdGg6b2JqZWN0PSIke3dvcmtmbG93U3RhdHVzfSI+CiAJCTx1bCBjbGFzcz0ibGlzdC1ncm91cCI+IAogCQkJPGxpIHRoOmVhY2g9InNlbGVjdGVkIDogJHt3b3JrZmxvd1N0YXR1cy5zZWxlY3RlZFNlcnZpY2VzfSIgY2xhc3M9Imxpc3QtZ3JvdXAtaXRlbSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4iPgotCQkJCTxwIGNsYXNzPSJwLTAgbS0wIGZsZXgtZ3Jvdy0xIiB0aDp0ZXh0PSIke3NlbGVjdGVkfSI+U2VydmljZTwvcD4gCi0JCQkJPGEgdGg6YXR0cj0ib25jbGljaz18cmVtb3ZlU2VsZWN0ZWRTZXJ2aWNlcygnJHtzZWxlY3RlZH0nKXwiIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iPnJlbW92ZTwvYT4KKwkJCQk8cCBjbGFzcz0icC0wIGZsZXgtZ3Jvdy0xIHBsaXN0IiB0aDp0ZXh0PSIke3NlbGVjdGVkfSI+U2VydmljZTwvcD4gCisJCQkJPGEgdGg6YXR0cj0ib25jbGljaz18cmVtb3ZlU2VsZWN0ZWRTZXJ2aWNlcygnJHtzZWxlY3RlZH0nKXwiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLXNtIGJ0bi1ybXYiPjxpIGNsYXNzPSJmYXMgZmEtdGltZXMiPjwvaT48L2E+CiAJCQk8L2xpPgogCQk8L3VsPgogCQk8c2VsZWN0IG5hbWU9InNlcnZpY2VzIiBpZD0ic2VydmljZXMiIG9uY2hhbmdlPSJ1cGRhdGVTZWxlY3RlZFNlcnZpY2VzKHRoaXMudmFsdWUpIiBjbGFzcz0iZm9ybS1jb250cm9sIj4KZGlmZiAtLWdpdCBhL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9zdGF0dXMuaHRtbCBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy9zdGF0dXMuaHRtbAppbmRleCA1MzdjNTg0Li4wNjI2YmY1IDEwMDY0NAotLS0gYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvc3RhdHVzLmh0bWwKKysrIGIvbWFuYWdlci9zcmMvbWFpbi9yZXNvdXJjZXMvdGVtcGxhdGVzL3N0YXR1cy5odG1sCkBAIC0yNiw4ICsyNiw4IEBACiAJCQk8dWwgY2xhc3M9Imxpc3QtZ3JvdXAiPgogCQkJCTxsaSB0aDplYWNoPSJyZXN1bHQgOiAke3dvcmtmbG93U3RhdHVzLnJlc3VsdHN9IiBjbGFzcz0ibGlzdC1ncm91cC1pdGVtIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiI+CiAJCQkJCTxwIGNsYXNzPSJwLTAgbS0wIGZsZXgtZ3Jvdy0xIiB0aDp0ZXh0PSIke3Jlc3VsdC5rZXl9Ij5SZXN1bHQ8L3A+IAotCQkJCQk8YSBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtci0xIiB0aDpocmVmPSIke3Jlc3VsdC52YWx1ZX0iPlZpZXc8L2E+Ci0JCQkJCTxhIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHRoOmhyZWY9IiR7cmVzdWx0LnZhbHVlICsgJz9kb3dubG9hZD10cnVlJ30iPkRvd25sb2FkPC9hPgorCQkJCQk8YSBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtci0xIGJ0bi1zYXZlIiB0aDpocmVmPSIke3Jlc3VsdC52YWx1ZX0iPjxpIGNsYXNzPSJmYXMgZmEtZXllIj48L2k+PC9hPgorCQkJCQk8YSBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGJ0bi1ybXYiIHRoOmhyZWY9IiR7cmVzdWx0LnZhbHVlICsgJz9kb3dubG9hZD10cnVlJ30iPjxpIGNsYXNzPSJmYXMgZmEtZG93bmxvYWQiPjwvaT48L2E+CiAJCQkJPC9saT4KIAkJCTwvdWw+CiAJCQk8YSB0aDpocmVmPSJAey97dXVpZH0vZGVsZXRlKHV1aWQ9JHt3b3JrZmxvd1N0YXR1cy51dWlkfSl9IiBjbGFzcz0iYnRuIGJ0bi1kYW5nZXIgbXQtNCBtYi00Ij5EZWxldGU8L2E+CmRpZmYgLS1naXQgYS9tYW5hZ2VyL3NyYy9tYWluL3Jlc291cmNlcy90ZW1wbGF0ZXMvd29ya2Zsb3cuaHRtbCBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy93b3JrZmxvdy5odG1sCmluZGV4IGRlOTIwM2YuLjc3Y2EyMzUgMTAwNjQ0Ci0tLSBhL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy93b3JrZmxvdy5odG1sCisrKyBiL21hbmFnZXIvc3JjL21haW4vcmVzb3VyY2VzL3RlbXBsYXRlcy93b3JrZmxvdy5odG1sCkBAIC0xLDExNSArMSw2MCBAQAogPGh0bWwgeG1sbnM6dGg9Imh0dHBzOi8vd3d3LnRoeW1lbGVhZi5vcmciPgotPGhlYWQ+IAotPHRpdGxlPkFQUDRNQyBDbG91ZCBNYW5hZ2VyIC0gV29ya2Zsb3c8L3RpdGxlPiAKLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgotPGxpbmsgaHJlZj0id2ViamFycy9ib290c3RyYXAvNC41LjIvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgotPHNjcmlwdCBzcmM9IndlYmphcnMvanF1ZXJ5LzMuNS4xL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJtb2R1bGUiIHNyYz0id2ViamFycy9wb3BwZXIuanMvMS4xNi4wL3BvcHBlci5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IndlYmphcnMvYm9vdHN0cmFwLzQuNS4yL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgotPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotZnVuY3Rpb24gY2xlYXJXb3JrZmxvdygpIHsKLQkkLmFqYXgoewotCQl0eXBlOiAnUE9TVCcsCi0JCXVybDogJy9jbGVhcicsCi0JCXN1Y2Nlc3M6IGZ1bmN0aW9uKHJlc3VsdCkgewotCQkJJCgnI3NlbGVjdGVkU2VydmljZXNCbG9jaycpLmxvYWQoJy9zZWxlY3RlZFNlcnZpY2VzJyk7Ci0JCQkkKCcjbWVzc2FnZXNCbG9jaycpLmxvYWQoJy9tZXNzYWdlcycpOwotCQkJJCgnI2Vycm9yc0Jsb2NrJykubG9hZCgnL2Vycm9ycycpOwotCQkJJCgnI3Jlc3VsdHNCbG9jaycpLmxvYWQoJy9yZXN1bHRzJyk7Ci0JCX0KLQl9KTsKLX0KLQotZnVuY3Rpb24gdXBkYXRlU2VsZWN0ZWRTZXJ2aWNlcyhzZXJ2aWNlKSB7Ci0JJC5hamF4KHsKLQkJdHlwZTogJ1BPU1QnLAotCQl1cmw6ICcvc2VsZWN0LycgKyBzZXJ2aWNlLAotCQlzdWNjZXNzOiBmdW5jdGlvbihyZXN1bHQpIHsKLQkJCSQoJyNzZWxlY3RlZFNlcnZpY2VzQmxvY2snKS5sb2FkKCcvc2VsZWN0ZWRTZXJ2aWNlcycpOwotCQl9Ci0JfSk7Ci19Ci0KLWZ1bmN0aW9uIHJlbW92ZVNlbGVjdGVkU2VydmljZXMoc2VydmljZSkgewotCSQuYWpheCh7Ci0JCXR5cGU6ICdQT1NUJywKLQkJdXJsOiAnL3JlbW92ZS8nICsgc2VydmljZSwKLQkJc3VjY2VzczogZnVuY3Rpb24ocmVzdWx0KSB7Ci0JCQkkKCcjc2VsZWN0ZWRTZXJ2aWNlc0Jsb2NrJykubG9hZCgnL3NlbGVjdGVkU2VydmljZXMnKTsKLQkJfQotCX0pOwotfQotCi0kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewotCSQoJyNzZWxlY3RlZFNlcnZpY2VzQmxvY2snKS5sb2FkKCcvc2VsZWN0ZWRTZXJ2aWNlcycpOwotCSQoJyNtZXNzYWdlc0Jsb2NrJykubG9hZCgnL21lc3NhZ2VzJyk7Ci0JJCgnI2Vycm9yc0Jsb2NrJykubG9hZCgnL2Vycm9ycycpOwotCSQoJyNyZXN1bHRzQmxvY2snKS5sb2FkKCcvcmVzdWx0cycpOwotfSk7Ci08L3NjcmlwdD4KKzxoZWFkIHRoOmluY2x1ZGU9ImZyYWdtZW50IDo6IGZyYWdtZW50X2hlYWQiPgogPC9oZWFkPgogPGJvZHk+Ci0JPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KLQkJPGRpdiBjbGFzcz0icm93IGp1c3RpZnktY29udGVudC1jZW50ZXIiPgotCQkJPGRpdiBjbGFzcz0iY29sIHRleHQtY2VudGVyIiBzdHlsZT0iaGVpZ2h0OjIwMHB4Ij4KLQkJCQk8aW1nIGNsYXNzPSJpbWctZmx1aWQiIHN0eWxlPSJoZWlnaHQ6MTAwJSIgc3JjPSIvaW1hZ2VzL0xvZ29fUGFub3JhbWEucG5nIi8+Ci0JCQk8L2Rpdj4KLQkJPC9kaXY+Ci0JCTxkaXYgY2xhc3M9InJvdyBtYi00Ij4KKwk8ZGl2IHRoOnJlcGxhY2U9ImZyYWdtZW50IDo6IGZyYWdtZW50X25hdiI+PC9kaXY+CisJPGRpdiBjbGFzcz0iYmFubmVyIj48L2Rpdj4KKwk8ZGl2IGNsYXNzPSJjb250YWluZXIgY29sLW1kLTciPgorCQk8ZGl2IGNsYXNzPSJyb3cgbWItNCIgc3R5bGU9Im1hcmdpbi10b3A6IDEwMHB4Ij4KIAkJCTxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciI+Ci0JCQkgICAgPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj48aDE+Q2xvdWQgU2VydmljZSBXb3JrZmxvdzwvaDE+PC9kaXY+CisJCQkJPGRpdiBjbGFzcz0iY29udGVudC1oZWFkaW5nIj4KKwkJCQkJPGgxPkNsb3VkIFNlcnZpY2UgV29ya2Zsb3c8L2gxPgorCQkJCTwvZGl2PgogCQkJPC9kaXY+CiAJCTwvZGl2PgogCi0JCTxmb3JtIG1ldGhvZD0iUE9TVCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgYWN0aW9uPSIvd29ya2Zsb3ciIHRoOm9iamVjdD0iJHt3b3JrZmxvd1N0YXR1c30iPgotCQkJPGRpdiBjbGFzcz0iZm9ybS1yb3cgbWItMyI+CisJCTxmb3JtIG1ldGhvZD0iUE9TVCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgYWN0aW9uPSIvd29ya2Zsb3ciCisJCQl0aDpvYmplY3Q9IiR7d29ya2Zsb3dTdGF0dXN9Ij4KKwkJCTxkaXYgY2xhc3M9ImZvcm0tcm93IG1iLTMiIHN0eWxlPSJtYXJnaW4tdG9wOiAxMzBweCI+CiAJCQkJPGRpdiBjbGFzcz0iY3VzdG9tLWZpbGUiPgotCQkJCQk8aW5wdXQgdHlwZT0iZmlsZSIgY2xhc3M9ImN1c3RvbS1maWxlLWlucHV0IiBpZD0iY3VzdG9tRmlsZSIgbmFtZT0iZmlsZSI+Ci0JCQkJCTxsYWJlbCBjbGFzcz0iY3VzdG9tLWZpbGUtbGFiZWwiIGZvcj0iY3VzdG9tRmlsZSI+U2VsZWN0IGlucHV0IGZpbGUgdG8gcHJvY2VzczwvbGFiZWw+CisJCQkJCTxpbnB1dCB0eXBlPSJmaWxlIiBjbGFzcz0iY3VzdG9tLWZpbGUtaW5wdXQiIGlkPSJjdXN0b21GaWxlIgorCQkJCQkJbmFtZT0iZmlsZSI+IDxsYWJlbCBjbGFzcz0iY3VzdG9tLWZpbGUtbGFiZWwiCisJCQkJCQlmb3I9ImN1c3RvbUZpbGUiPlNlbGVjdCBpbnB1dCBmaWxlIHRvIHByb2Nlc3M8L2xhYmVsPgogCQkJCQk8c2NyaXB0PgotCQkJICAgICAgICAgICAgJCgnI2N1c3RvbUZpbGUnKS5vbignY2hhbmdlJyxmdW5jdGlvbigpewotCQkJICAgICAgICAgICAgICAgIC8vZ2V0IHRoZSBmaWxlIG5hbWUKLQkJCSAgICAgICAgICAgICAgICB2YXIgZmlsZU5hbWUgPSAkKHRoaXMpLnZhbCgpLnNwbGl0KCdcXCcpLnBvcCgpOwotCQkJICAgICAgICAgICAgICAgIC8vcmVwbGFjZSB0aGUgIkNob29zZSBhIGZpbGUiIGxhYmVsCi0JCQkgICAgICAgICAgICAgICAgJCh0aGlzKS5uZXh0KCcuY3VzdG9tLWZpbGUtbGFiZWwnKS5odG1sKGZpbGVOYW1lKTsKLQkJCSAgICAgICAgICAgICAgICBjbGVhcldvcmtmbG93KCk7Ci0JCQkgICAgICAgICAgICB9KQotCQkJICAgICAgICA8L3NjcmlwdD4KKwkJCQkJCSQoJyNjdXN0b21GaWxlJykub24oJ2NoYW5nZScsIGZ1bmN0aW9uKCkgeworCQkJCQkJCS8vZ2V0IHRoZSBmaWxlIG5hbWUKKwkJCQkJCQl2YXIgZmlsZU5hbWUgPSAkKHRoaXMpLnZhbCgpLnNwbGl0KCdcXCcpLnBvcCgpOworCQkJCQkJCS8vcmVwbGFjZSB0aGUgIkNob29zZSBhIGZpbGUiIGxhYmVsCisJCQkJCQkJJCh0aGlzKS5uZXh0KCcuY3VzdG9tLWZpbGUtbGFiZWwnKS5odG1sKGZpbGVOYW1lKTsKKwkJCQkJCQljbGVhcldvcmtmbG93KCk7CisJCQkJCQl9KQorCQkJCQk8L3NjcmlwdD4KIAkJCQk8L2Rpdj4KIAkJCTwvZGl2PgogCQkJPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgotCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sIj4KLQkJCQkJPGxhYmVsID5TZWxlY3Qgc2VydmljZShzKSB0byBwcm9jZXNzPC9sYWJlbD4KLQkJCQkJPGRpdiBpZD0ic2VsZWN0ZWRTZXJ2aWNlc0Jsb2NrIj4KLQotCQkJCQk8L2Rpdj4KKwkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIGNvbCIgaWQ9IndmLWZtLWdyb3VwIj4KKwkJCQkJPGxhYmVsPlNlbGVjdCBzZXJ2aWNlKHMpIHRvIHByb2Nlc3M8L2xhYmVsPgorCQkJCQk8ZGl2IGlkPSJzZWxlY3RlZFNlcnZpY2VzQmxvY2siPjwvZGl2PgogCQkJCTwvZGl2PgogCQkJPC9kaXY+Ci0JCQk8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CisJCQk8ZGl2IGNsYXNzPSJmb3JtLXJvdyIgc3R5bGU9Im1hcmdpbi10b3A6IDIwcHg7IG1hcmdpbi1ib3R0b206IDEwMHB4Ij4KIAkJCQk8ZGl2IGNsYXNzPSJjb2wgdGV4dC1jZW50ZXIiPgotCQkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3RhcnQgd29ya2Zsb3ciIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgbXQtMiIgb25DbGljaz0idGhpcy5mb3JtLnN1Ym1pdCgpOyB0aGlzLmRpc2FibGVkPXRydWU7IHRoaXMudmFsdWU9J1Byb2Nlc3NpbmfigKYnOyAiLz4KKwkJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN0YXJ0IHdvcmtmbG93IgorCQkJCQkJY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBtdC0yIGxlZnQtYnRuIgorCQkJCQkJb25DbGljaz0idGhpcy5mb3JtLnN1Ym1pdCgpOyB0aGlzLmRpc2FibGVkPXRydWU7IHRoaXMudmFsdWU9J1Byb2Nlc3NpbmeFJzsgIiAvPgogCQkJCTwvZGl2PgogCQkJPC9kaXY+CiAJCTwvZm9ybT4KIAotCTxkaXYgaWQ9Im1lc3NhZ2VzQmxvY2siPgorCQk8ZGl2IGlkPSJtZXNzYWdlc0Jsb2NrIj48L2Rpdj4KKworCQk8ZGl2IGlkPSJlcnJvcnNCbG9jayI+PC9kaXY+CisKKwkJPGRpdiBpZD0icmVzdWx0c0Jsb2NrIj48L2Rpdj4KIAogCTwvZGl2PgotCi0JPGRpdiBpZD0iZXJyb3JzQmxvY2siPgotCi0JPC9kaXY+Ci0KLQk8ZGl2IGlkPSJyZXN1bHRzQmxvY2siPgotCi0JPC9kaXY+Ci0JCi0JCTxkaXYgY2xhc3M9InJvdyI+Ci0JCQk8ZGl2IGNsYXNzPSJjb2wiPgotCQkJCTxhIHRoOmhyZWY9IkB7L30iIGNsYXNzPSJidG4gYnRuLWRhcmsgbWItNSI+R28gYmFjazwvYT4KLQkJCTwvZGl2PgotCQk8L2Rpdj4KLQotCTwvZGl2PgorCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3dvcmtmbG93LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KKworCiA8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=