PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPkEgbm90ZSBhYm91dCBvcHRpb25hbCZsdDtib29sJmd0OzwvdGl0bGU+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vYm9vc3Rib29rLmNzcyIgdHlwZT0idGV4dC9jc3MiPgo8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjc1LjIiPgo8bGluayByZWw9ImhvbWUiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiIHRpdGxlPSJDaGFwdGVyoDEuoEJvb3N0Lk9wdGlvbmFsIj4KPGxpbmsgcmVsPSJ1cCIgaHJlZj0iLi4vaW5kZXguaHRtbCIgdGl0bGU9IkNoYXB0ZXKgMS6gQm9vc3QuT3B0aW9uYWwiPgo8bGluayByZWw9InByZXYiIGhyZWY9ImluX3BsYWNlX2ZhY3Rvcmllcy5odG1sIiB0aXRsZT0iSW4tUGxhY2UgRmFjdG9yaWVzIj4KPGxpbmsgcmVsPSJuZXh0IiBocmVmPSJleGNlcHRpb25fc2FmZXR5X2d1YXJhbnRlZXMuaHRtbCIgdGl0bGU9IkV4Y2VwdGlvbiBTYWZldHkgR3VhcmFudGVlcyI+CjwvaGVhZD4KPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgo8dGFibGUgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCB2YWxpZ249InRvcCI+PGltZyBhbHQ9IkJvb3N0IEMrKyBMaWJyYXJpZXMiIHdpZHRoPSIyNzciIGhlaWdodD0iODYiIHNyYz0iLi4vLi4vLi4vLi4vLi4vYm9vc3QucG5nIj48L3RkPgo8dGQgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vLi4vLi4vLi4vLi4vaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPgo8dGQgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vLi4vLi4vLi4vbGlicmFyaWVzLmh0bSI+TGlicmFyaWVzPC9hPjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vd3d3LmJvb3N0Lm9yZy91c2Vycy9wZW9wbGUuaHRtbCI+UGVvcGxlPC9hPjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vd3d3LmJvb3N0Lm9yZy91c2Vycy9mYXEuaHRtbCI+RkFRPC9hPjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi8uLi8uLi8uLi8uLi9tb3JlL2luZGV4Lmh0bSI+TW9yZTwvYT48L3RkPgo8L3RyPjwvdGFibGU+Cjxocj4KPGRpdiBjbGFzcz0ic3Bpcml0LW5hdiI+CjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iaW5fcGxhY2VfZmFjdG9yaWVzLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy91cC5wbmciIGFsdD0iVXAiPjwvYT48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvaG9tZS5wbmciIGFsdD0iSG9tZSI+PC9hPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZXhjZXB0aW9uX3NhZmV0eV9ndWFyYW50ZWVzLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvbmV4dC5wbmciIGFsdD0iTmV4dCI+PC9hPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiIgdGl0bGU9IkEgbm90ZSBhYm91dCBvcHRpb25hbCZsdDtib29sJmd0OyI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+CjxhIG5hbWU9ImJvb3N0X29wdGlvbmFsLmFfbm90ZV9hYm91dF9vcHRpb25hbF9ib29sXyI+PC9hPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJhX25vdGVfYWJvdXRfb3B0aW9uYWxfYm9vbF8uaHRtbCIgdGl0bGU9IkEgbm90ZSBhYm91dCBvcHRpb25hbCZsdDtib29sJmd0OyI+QSBub3RlIGFib3V0CiAgICBvcHRpb25hbCZsdDtib29sJmd0OzwvYT4KPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj4KPHA+CiAgICAgIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPm9wdGlvbmFsPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4mbHQ7PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5ib29sPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4mZ3Q7PC9zcGFuPjwvY29kZT4gc2hvdWxkCiAgICAgIGJlIHVzZWQgd2l0aCBzcGVjaWFsIGNhdXRpb24gYW5kIGNvbnNpZGVyYXRpb24uCiAgICA8L3A+CjxwPgogICAgICBGaXJzdCwgaXQgaXMgZnVuY3Rpb25hbGx5IHNpbWlsYXIgdG8gYSB0cmlzdGF0ZSBib29sZWFuIChmYWxzZSxtYXliZSx0cnVlKQogICAgICAmIzgyMTI7c3VjaCBhcyA8YSBocmVmPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC90cmlib29sLmh0bWwiIHRhcmdldD0iX3RvcCI+Ym9vc3Q6OnRyaWJvb2w8L2E+JiM4MjEyOwogICAgICBleGNlcHQgdGhhdCBpbiBhIHRyaXN0YXRlIGJvb2xlYW4sIHRoZSBtYXliZSBzdGF0ZSA8c3BhbiBjbGFzcz0idW5kZXJsaW5lIj5yZXByZXNlbnRzCiAgICAgIGEgdmFsaWQgdmFsdWU8L3NwYW4+LCB1bmxpa2UgdGhlIGNvcnJlc3BvbmRpbmcgc3RhdGUgb2YgYW4gdW5pbml0aWFsaXplZAogICAgICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5vcHRpb25hbDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmx0Ozwvc3Bhbj48c3BhbiBjbGFzcz0ia2V5d29yZCI+Ym9vbDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmd0Ozwvc3Bhbj48L2NvZGU+LiBJdAogICAgICBzaG91bGQgYmUgY2FyZWZ1bGx5IGNvbnNpZGVyZWQgaWYgYW4gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+b3B0aW9uYWw8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiZsdDs8L3NwYW4+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmJvb2w8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPiZndDs8L3NwYW4+PC9jb2RlPgogICAgICBpbnN0ZWFkIG9mIGEgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+dHJpYm9vbDwvc3Bhbj48L2NvZGU+IGlzIHJlYWxseQogICAgICBuZWVkZWQuCiAgICA8L3A+CjxwPgogICAgICBTZWNvbmQsIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPm9wdGlvbmFsPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4mbHQ7Jmd0Ozwvc3Bhbj48L2NvZGU+CiAgICAgIHByb3ZpZGVzIGFuIGltcGxpY2l0IGNvbnZlcnNpb24gdG8gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ia2V5d29yZCI+Ym9vbDwvc3Bhbj48L2NvZGU+LgogICAgICBUaGlzIGNvbnZlcnNpb24gcmVmZXJzIHRvIHRoZSBpbml0aWFsaXphdGlvbiBzdGF0ZSBhbmQgbm90IHRvIHRoZSBjb250YWluZWQKICAgICAgdmFsdWUuIFVzaW5nIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPm9wdGlvbmFsPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4mbHQ7PC9zcGFuPjxzcGFuIGNsYXNzPSJrZXl3b3JkIj5ib29sPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4mZ3Q7PC9zcGFuPjwvY29kZT4gY2FuCiAgICAgIGxlYWQgdG8gc3VidGxlIGVycm9ycyBkdWUgdG8gdGhlIGltcGxpY2l0IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmJvb2w8L3NwYW4+PC9jb2RlPgogICAgICBjb252ZXJzaW9uOgogICAgPC9wPgo8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPnZvaWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5mb288L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oPC9zcGFuPiA8c3BhbiBjbGFzcz0ia2V5d29yZCI+Ym9vbDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3BlY2lhbCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9ImtleXdvcmQiPnZvaWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5iYXI8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPigpPC9zcGFuPgo8c3BhbiBjbGFzcz0ic3BlY2lhbCI+ezwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5vcHRpb25hbDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmx0Ozwvc3Bhbj48c3BhbiBjbGFzcz0ia2V5d29yZCI+Ym9vbDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlY2lhbCI+Jmd0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVjaWFsIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ia2V5d29yZCI+dHJ5PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oKTs8L3NwYW4+CgogICAgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIFRoZSBmb2xsb3dpbmcgaW50ZW5kZWQgdG8gcGFzcyB0aGUgdmFsdWUgb2YgJ3YnIHRvIGZvbygpOgo8L3NwYW4+ICAgIDxzcGFuIGNsYXNzPSJpZGVudGlmaWVyIj5mb288L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPig8L3NwYW4+PHNwYW4gY2xhc3M9ImlkZW50aWZpZXIiPnY8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWNpYWwiPik7PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIEJ1dCBpbnN0ZWFkLCB0aGUgaW5pdGlhbGl6YXRpb24gc3RhdGUgaXMgcGFzc2VkCjwvc3Bhbj4gICAgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPi8vIGR1ZSB0byBhIHR5cG86IGl0IHNob3VsZCBoYXZlIGJlZW4gZm9vKCp2KS4KPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj59PC9zcGFuPgo8L3ByZT4KPHA+CiAgICAgIFRoZSBvbmx5IGltcGxpY2l0IGNvbnZlcnNpb24gaXMgdG8gPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0ia2V5d29yZCI+Ym9vbDwvc3Bhbj48L2NvZGU+LAogICAgICBhbmQgaXQgaXMgc2FmZSBpbiB0aGUgc2Vuc2UgdGhhdCB0eXBpY2FsIGludGVncmFsIHByb21vdGlvbnMgZG9uJ3QgYXBwbHkgKGkuZS4KICAgICAgaWYgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48c3BhbiBjbGFzcz0iaWRlbnRpZmllciI+Zm9vPC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVjaWFsIj4oKTwvc3Bhbj48L2NvZGU+CiAgICAgIHRha2VzIGFuIDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PHNwYW4gY2xhc3M9ImtleXdvcmQiPmludDwvc3Bhbj48L2NvZGU+IGluc3RlYWQsIGl0IHdvbid0CiAgICAgIGNvbXBpbGUpLgogICAgPC9wPgo8L2Rpdj4KPHRhYmxlIHhtbG5zOnJldj0iaHR0cDovL3d3dy5jcy5ycGkuZWR1L35ncmVnb2QvYm9vc3QvdG9vbHMvZG9jL3JldmlzaW9uIiB3aWR0aD0iMTAwJSI+PHRyPgo8dGQgYWxpZ249ImxlZnQiPjwvdGQ+Cjx0ZCBhbGlnbj0icmlnaHQiPjxkaXYgY2xhc3M9ImNvcHlyaWdodC1mb290ZXIiPkNvcHlyaWdodCCpIDIwMDMgLTIwMDcgRmVybmFuZG8gTHVpcyBDYWNjaW9sYSBDYXJiYWxsYWw8cD4KICAgICAgICBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUgYWNjb21wYW55aW5nCiAgICAgICAgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQiIHRhcmdldD0iX3RvcCI+aHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPikKICAgICAgPC9wPgo8L2Rpdj48L3RkPgo8L3RyPjwvdGFibGU+Cjxocj4KPGRpdiBjbGFzcz0ic3Bpcml0LW5hdiI+CjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iaW5fcGxhY2VfZmFjdG9yaWVzLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy91cC5wbmciIGFsdD0iVXAiPjwvYT48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvaG9tZS5wbmciIGFsdD0iSG9tZSI+PC9hPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZXhjZXB0aW9uX3NhZmV0eV9ndWFyYW50ZWVzLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvbmV4dC5wbmciIGFsdD0iTmV4dCI+PC9hPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==