--- http_interactions: - request: method: get uri: http://glosbe.com/pl/en/asdfff body: encoding: US-ASCII string: '' headers: accept: - ! '*/*' user-agent: - Ruby response: status: code: 404 message: Not Found headers: server: - nginx/1.0.15 date: - Fri, 01 Feb 2013 22:09:48 GMT content-type: - text/html;charset=UTF-8 transfer-encoding: - chunked connection: - keep-alive content-language: - en-US vary: - Accept-Encoding body: encoding: ASCII-8BIT string: !binary |- PCFET0NUWVBFIEhUTUwgU1lTVEVNICJhYm91dDpsZWdhY3ktY29tcGF0Ij4K PGh0bWwgbGFuZz0iZW4iPjxoZWFkPgogIAogICAgPCEtLVtpZiBsdCBJRSA5 XT4KICAgICAgPHNjcmlwdCBzcmM9Imh0dHA6Ly9odG1sNXNoaXYuZ29vZ2xl Y29kZS5jb20vc3ZuL3RydW5rL2h0bWw1LmpzIj48L3NjcmlwdD4KICAgIDwh W2VuZGlmXS0tPgogIAogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz48bWV0 YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIGh0dHAtZXF1 aXY9IkNvbnRlbnQtVHlwZSIvPjxtZXRhIGNvbnRlbnQ9IndpZHRoPWRldmlj ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIG5hbWU9InZpZXdwb3J0Ii8+ PG1ldGEgY29udGVudD0iJmNvcHk7IDIwMTMgQ2xvdWQgSW5zaWRlIiBuYW1l PSJjb3B5cmlnaHQiLz48bWV0YSBjb250ZW50PSJTS1lQRV9UT09MQkFSX1BB UlNFUl9DT01QQVRJQkxFIiBuYW1lPSJTS1lQRV9UT09MQkFSIi8+PG1ldGEg Y29udGVudD0iZW4iIGlkPSJYLUFjYy1MYW5nIiBuYW1lPSJYLUFjYy1MYW5n Ii8+PG1ldGEgdmFsdWU9Im5vdHJhbnNsYXRlIiBuYW1lPSJnb29nbGUiLz48 bWV0YSBjb250ZW50PSJwbCIgaWQ9IlgtZnJvbUxhbmciIG5hbWU9IlgtZnJv bUxhbmciLz48bWV0YSBjb250ZW50PSJlbiIgaWQ9IlgtZGVzdExhbmciIG5h bWU9IlgtZGVzdExhbmciLz48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9 InRleHQvY3NzIiBjaGFyc2V0PSJ1dGYtOCIgIGhyZWY9Ii9yZXNvdXJjZXMv Y29tYmluZVJlc291cmNlcy82YWY1ZDYxNWE1MDdkOWQwLmNzcyIgLz48c2Ny aXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KICAgICAgd2luZG93LmRlZmF1 bHRTZWFyY2hNc2cgPSAiIjsKICAgICAgd2luZG93LnNpdGVVcmwgPSAiLyI7 CiAgICAgIHdpbmRvdy5leGVjdXRpb25Db250ZXh0ID0gIi8iOwogICAgICB3 aW5kb3cuc2l0ZUhvc3QgPSAiZ2xvc2JlLmNvbSI7CiAgICAgIHdpbmRvdy5s b2NhbGVDb2RlMiA9ICJlbiI7CiAgICAgIHdpbmRvdy5sb2NhbGVDb2RlMyA9 ICJlbmciOwogICAgICB3aW5kb3cubG9nZ2VkPWZhbHNlOwogICAgICB3aW5k b3cuZmJTdmNVcmwgPSAnL2ZiU3ZjL2FjdGlvbic7CiAgICA8L3NjcmlwdD48 bWV0YSBjb250ZW50PSJlbixwbCxlbiIgaHR0cC1lcXVpdj0iY29udGVudC1s YW5ndWFnZSIvPjxsaW5rIGhyZWY9Ii9yZXNvdXJjZXMvcmVzb3VyY2VzX2lt Zy9mYXZpY29uLnBuZyIgcmVsPSJzaG9ydGN1dCBpY29uIi8+PHNjcmlwdCB0 eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICB3aW5kb3cuZ29vZ2xlX2Fu YWx5dGljc191YWNjdCA9ICJVQS0xMzExMDczMy0xMSI7CiAgICA8L3Njcmlw dD4KICAgIAogICAgPCEtLVtpZiBsdCBJRSA3XT4gPGxpbmsgaHJlZj0iIiB0 eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+IDwhW2VuZGlmXS0t PgogICAgCgoKICA8dGl0bGU+QXNkZmZmIGluIEVuZ2xpc2gsIHRyYW5zbGF0 aW9uLCBtZWFuaW5nLCBkZWZpbml0aW9uLCBEaWN0aW9uYXJ5IFBvbGlzaCBF bmdsaXNoPC90aXRsZT48bWV0YSBjb250ZW50PSJhc2RmZmYsUG9saXNoLEVu Z2xpc2gsZGljdGlvbmFyeSx0cmFuc2xhdGlvbiIgbmFtZT0ia2V5d29yZHMi Lz48bWV0YSBjb250ZW50PSJhc2RmZmYgdHJhbnNsYXRpb24gaW4gUG9saXNo LUVuZ2xpc2ggZGljdGlvbmFyeSIgbmFtZT0iZGVzY3JpcHRpb24iLz48bGlu ayBocmVmPSJodHRwOi8vZW4uZ2xvc2JlLmNvbS9wbC9lbi9hc2RmZmYiIGhy ZWZsYW5nPSJlbi11cyIgcmVsPSJhbHRlcm5hdGUiLz48bGluayBocmVmPSJo dHRwOi8vcGwuZ2xvc2JlLmNvbS9wbC9lbi9hc2RmZmYiIGhyZWZsYW5nPSJw bCIgcmVsPSJhbHRlcm5hdGUiLz48bWV0YSBjb250ZW50PSJ3ZWJzaXRlIiBw cm9wZXJ0eT0ib2c6dHlwZSIvPjxtZXRhIGNvbnRlbnQ9Imh0dHA6Ly9nbG9z YmUuY29tIiBwcm9wZXJ0eT0ib2c6dXJsIi8+CiAgICA8IS0tIGh0dHA6Ly9n bG9zYmUuY29tLS0+CiAgPG1ldGEgY29udGVudD0iaHR0cDovL2dsb3NiZS5j b20vZmJfbG9nby5wbmciIHByb3BlcnR5PSJvZzppbWFnZSIvPjxtZXRhIGNv bnRlbnQ9Ikdsb3NiZSIgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIvPjxtZXRh IGNvbnRlbnQ9IjY2ODk5MTc2NywxNjUyMjM1MTgyIiBwcm9wZXJ0eT0iZmI6 YWRtaW5zIi8+PG1ldGEgY29udGVudD0iMjcwNjczMzQ5NjE0MjM3IiBwcm9w ZXJ0eT0iZmI6YXBwX2lkIi8+PGxpbmsgcmVsPSJwdWJsaXNoZXIiIGhyZWY9 Imh0dHBzOi8vcGx1cy5nb29nbGUuY29tLzExNTYxNTM4OTQ2ODc1NTkxODUz MyIvPjxtZXRhIGNvbnRlbnQ9ImVuX1VTIiBwcm9wZXJ0eT0ib2c6bG9jYWxl Ii8+PG1ldGEgY29udGVudD0icGxfUEwiIHByb3BlcnR5PSJvZzpsb2NhbGU6 YWx0ZXJuYXRlIi8+PG1ldGEgY29udGVudD0iZW5fVVMiIHByb3BlcnR5PSJv Zzpsb2NhbGU6YWx0ZXJuYXRlIi8+PGxpbmsgaHJlZj0iL09wZW5TZWFyY2gu YXNweD9mcm9tPXBsJmRlc3Q9ZW4iIHRpdGxlPSJEaWN0aW9uYXJ5IChQb2xp c2gg4oaSIEVuZ2xpc2gpIiB0eXBlPSJhcHBsaWNhdGlvbi9vcGVuc2VhcmNo ZGVzY3JpcHRpb24reG1sIiByZWw9InNlYXJjaCIvPjxzY3JpcHQgdHlwZT0i dGV4dC9qYXZhc2NyaXB0Ij4KICB3aW5kb3cuZmJlYXZlciA9IHt9OwogIHdp bmRvdy5mYmVhdmVyLnNjcmlwdHNUb0xvYWRBZnRlckluaXQgPSBbXTsKICBm dW5jdGlvbiBsb2FkQWZ0ZXJJbml0KHNjcmlwdElkT3JVcmwpIHsKCSAgd2lu ZG93LmZiZWF2ZXIuc2NyaXB0c1RvTG9hZEFmdGVySW5pdC5wdXNoKHNjcmlw dElkT3JVcmwpOwogIH0gCiA8L3NjcmlwdD48L2hlYWQ+PGJvZHk+PGRpdiBj bGFzcz0ibmF2YmFyIG5hdmJhci1pbnZlcnNlIGhlYWRlck5hdmJhciI+PGRp diBjbGFzcz0ibmF2YmFyLWlubmVyIj48ZGl2IGNsYXNzPSJjb250YWluZXIi PjxhIGRhdGEtdGFyZ2V0PSIubmF2LWNvbGxhcHNlIiBkYXRhLXRvZ2dsZT0i Y29sbGFwc2UiIGNsYXNzPSJidG4gYnRuLW5hdmJhciI+PHNwYW4gY2xhc3M9 Imljb24tYmFyIj48L3NwYW4+PHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3Nw YW4+PHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+PC9hPjxhIGlkPSJs b2dvIiBjbGFzcz0iYnJhbmQiIGhyZWY9Ii8iPjxzcGFuPkdsb3NiZTwvc3Bh bj4mbmJzcDs8L2E+PGRpdiBjbGFzcz0ibmF2LWNvbGxhcHNlIGNvbGxhcHNl Ij48dWwgY2xhc3M9Im5hdiI+PGxpIGNsYXNzPSJhY3RpdmUiPjxhIGhyZWY9 Ii8iPkhvbWU8L2E+PC9saT48bGk+PGEgaHJlZj0iL2Fib3V0Ij5BYm91dDwv YT48L2xpPjxsaT48YSBocmVmPSIvY29udGFjdCI+Q29udGFjdDwvYT48L2xp PjxsaT48YSBocmVmPSIvZG9uYXRlIj5Eb25hdGU8L2E+PC9saT48L3VsPjx1 bCBpZD0ibG9naW5MaW5rc05hdkNvbnRhaW5lciIgY2xhc3M9Im5hdiI+PGxp PjxkaXYgaWQ9ImxvY2FsZUNoYW5nZUNvbnRhaW5lciI+PGRpdiBkYXRhLWFk ZGl0aW9uYWwtYnRuY2xhc3M9ImJ0bi1zbWFsbCBidG4taW52ZXJzZSIgY2xh c3M9ImZsYXRNZW51QnV0dG9uIj48c2VsZWN0IGZtX2NvbHVtbnM9IjYiIGZt X21vcmU9ImZhbHNlIiBpZD0ibG9jYWxlQ2hhbmdlIiBjbGFzcz0iZmxhdE1l bnVCb3giPjxvcHRpb24gdmFsdWU9ImFmIj5hZnJpa2FhbnM8L29wdGlvbj48 b3B0aW9uIHZhbHVlPSJzcSI+YWxiYW5pYW48L29wdGlvbj48b3B0aW9uIHZh bHVlPSJhciI+YXJhYmljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaHkiPmFy bWVuaWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXoiPmF6ZXJiYWlqYW5p PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZXUiPmJhc3F1ZTwvb3B0aW9uPjxv cHRpb24gdmFsdWU9ImJlIj5iZWxhcnVzaWFuPC9vcHRpb24+PG9wdGlvbiB2 YWx1ZT0iYm4iPmJlbmdhbGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJiZyI+ YnVsZ2FyaWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibXkiPmJ1cm1lc2U8 L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjYSI+Y2F0YWxhbjwvb3B0aW9uPjxv cHRpb24gdmFsdWU9InpoIj5jaGluZXNlPC9vcHRpb24+PG9wdGlvbiB2YWx1 ZT0iaHIiPmNyb2F0aWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY3MiPmN6 ZWNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGEiPmRhbmlzaDwvb3B0aW9u PjxvcHRpb24gdmFsdWU9Im5sIj5kdXRjaDwvb3B0aW9uPjxvcHRpb24gc2Vs ZWN0ZWQ9InRydWUiIHZhbHVlPSJlbiI+ZW5nbGlzaDwvb3B0aW9uPjxvcHRp b24gdmFsdWU9ImV0Ij5lc3Rvbmlhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9 ImZpIj5maW5uaXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZnIiPmZyZW5j aDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImdsIj5nYWxpY2lhbjwvb3B0aW9u PjxvcHRpb24gdmFsdWU9ImthIj5nZW9yZ2lhbjwvb3B0aW9uPjxvcHRpb24g dmFsdWU9ImRlIj5nZXJtYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJndSI+ Z3VqYXJhdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJodCI+aGFpdGlhbjwv b3B0aW9uPjxvcHRpb24gdmFsdWU9ImhlIj5oZWJyZXc8L29wdGlvbj48b3B0 aW9uIHZhbHVlPSJoaSI+aGluZGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJo dSI+aHVuZ2FyaWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaXMiPmljZWxh bmRpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImlkIj5pbmRvbmVzaWFuPC9v cHRpb24+PG9wdGlvbiB2YWx1ZT0iZ2EiPmlyaXNoPC9vcHRpb24+PG9wdGlv biB2YWx1ZT0iaXQiPml0YWxpYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJq YSI+amFwYW5lc2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJrbiI+a2FubmFk YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImtvIj5rb3JlYW48L29wdGlvbj48 b3B0aW9uIHZhbHVlPSJsdiI+bGF0dmlhbjwvb3B0aW9uPjxvcHRpb24gdmFs dWU9Imx0Ij5saXRodWFuaWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibWsi Pm1hY2Vkb25pYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtcyI+bWFsYXk8 L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtdCI+bWFsdGVzZTwvb3B0aW9uPjxv cHRpb24gdmFsdWU9ImVsIj5tb2Rlcm4gZ3JlZWs8L29wdGlvbj48b3B0aW9u IHZhbHVlPSJuYiI+bm9yd2VnaWFuIGJva23DpWw8L29wdGlvbj48b3B0aW9u IHZhbHVlPSJmYSI+cGVyc2lhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InBs Ij5wb2xpc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwdCI+cG9ydHVndWVz ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJvIj5yb21hbmlhbjwvb3B0aW9u PjxvcHRpb24gdmFsdWU9InJ1Ij5ydXNzaWFuPC9vcHRpb24+PG9wdGlvbiB2 YWx1ZT0ic3IiPnNlcmJpYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzayI+ c2xvdmFrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ic2wiPnNsb3Zlbmlhbjwv b3B0aW9uPjxvcHRpb24gdmFsdWU9ImVzIj5zcGFuaXNoPC9vcHRpb24+PG9w dGlvbiB2YWx1ZT0ic3ciPnN3YWhpbGk8L29wdGlvbj48b3B0aW9uIHZhbHVl PSJzdiI+c3dlZGlzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InRsIj50YWdh bG9nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGEiPnRhbWlsPC9vcHRpb24+ PG9wdGlvbiB2YWx1ZT0idGUiPnRlbHVndTwvb3B0aW9uPjxvcHRpb24gdmFs dWU9InRoIj50aGFpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idHIiPnR1cmtp c2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ1ayI+dWtyYWluaWFuPC9vcHRp b24+PG9wdGlvbiB2YWx1ZT0idXIiPnVyZHU8L29wdGlvbj48b3B0aW9uIHZh bHVlPSJ2aSI+dmlldG5hbWVzZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImN5 Ij53ZWxzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InlpIj55aWRkaXNoPC9v cHRpb24+PC9zZWxlY3Q+PHNjcmlwdCBjbGFzcz0iZmJlYXZlckxvYWRBZnRl ckluaXQiIHR5cGU9InRleHQvaHRtbCI+CiAgICAgICAgJChkb2N1bWVudCku cmVhZHkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAkKCIjbG9jYWxlQ2hhbmdl IikuY2hhbmdlKGZ1bmN0aW9uKCkgewogICAgICAgICAgICBzZXRDb29raWUo J2xvY2FsZScsICQodGhpcykudmFsKCksMzY1LHdpbmRvdy5zaXRlSG9zdCk7 CiAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpOwogICAgICAgICAgfSk7 CiAgICAgICAgfSk7ICAgICAgICAgICAgICAgICAgCiAgICAgIDwvc2NyaXB0 PjwvZGl2PjwvZGl2PjwvbGk+PGxpPjxwIGlkPSJsb2dpbkxpbmtzQ29udGFp bmVyIiBjbGFzcz0ibmF2YmFyLXRleHQiPjxhIGlkPSJsb2dpbldpbmRvd1Ry aWdnZXIiIGRhdGEtdG9nZ2xlPSJtb2RhbCIgY2xhc3M9Im5hdmJhci1saW5r ICIgcm9sZT0iYnV0dG9uIiBocmVmPSIjbG9naW5Db250YWluZXIiPkxvZyBp bjwvYT48L3A+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjxk aXYgY2xhc3M9ImNvbnRhaW5lciI+PHVsIGNsYXNzPSJzb2NpYWxCdXR0b25z Q29udGFpbmVyIj48bGk+PGRpdiBjbGFzcz0ic29jaWFsQnV0dG9uIj48Zzpw bHVzb25lIGNhbGxiYWNrPSJwbHVzb25lVm90ZSIgaHJlZj0iaHR0cDovL2ds b3NiZS5jb20iIHNpemU9IiI+PC9nOnBsdXNvbmU+PHNjcmlwdCBjbGFzcz0i ZmJlYXZlckxvYWRBZnRlckluaXQiIHR5cGU9InRleHQvaHRtbCI+CgkgICAg IGZ1bmN0aW9uIHBsdXNvbmVWb3RlKG9iaikgewoJICAgICAgIF9nYXEucHVz aChbJ190cmFja0V2ZW50JywncGx1c09uZScsb2JqLnN0YXRlLCBkb2N1bWVu dC5sb2NhdGlvbi5ocmVmXSk7CgkgICAgIH0KCSAgICAKCSAgICAgIAoJCQl2 YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzb2NpYWxCdXR0b25z Iik7CQkJCQkKCQkJdmFyIGdwTG9hZGVkID0gZmFsc2U7CgkJCSQoIC8vIiNz b2NpYWxCdXR0b25zIikuYmluZCgna2V5cHJlc3MnLCAKCQkJCQlmdW5jdGlv bihlKSB7CgkJCQlpZihncExvYWRlZCkgcmV0dXJuOwoJCQkJZWxzZSBncExv YWRlZCA9IHRydWU7CgkJCSAgICB2YXIgcG8gPSBkb2N1bWVudC5jcmVhdGVF bGVtZW50KCdzY3JpcHQnKTsgcG8udHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQn OyBwby5hc3luYyA9IHRydWU7CgkJCSAgICBwby5zcmMgPSAnaHR0cHM6Ly9h cGlzLmdvb2dsZS5jb20vanMvcGx1c29uZS5qcyc7CgkJCSAgICB2YXIgcyA9 IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTsg cy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShwbywgcyk7CSAgCgkJCX0sZmFs c2UpOwkKCQkJCgkJPC9zY3JpcHQ+PC9kaXY+PC9saT48bGk+PGRpdiBpZD0i dHdpdHRlckJ0biIgY2xhc3M9InNvY2lhbEJ1dHRvbiI+PGEgcmVsPSJub2Zv bGxvdyIgY2xhc3M9InR3aXR0ZXItc2hhcmUtYnV0dG9uIiBkYXRhLXVybD0i aHR0cDovL2dsb3NiZS5jb20iIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9z aGFyZSI+VHdlZXQ8L2E+PHNjcmlwdCBjbGFzcz0iZmJlYXZlckxvYWRBZnRl ckluaXQiIGlkPSJ0d2l0dGVyQnV0dG9uU2NyaXB0IiB0eXBlPSJ0ZXh0L2h0 bWwiPgoJCQl2YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzb2Np YWxCdXR0b25zIik7CgkJCXZhciB0d0xvYWRlZCA9IGZhbHNlOwoJCQkkKC8v IiNzb2NpYWxCdXR0b25zIikuYmluZCgna2V5cHJlc3MnLCAKCQkJCQlmdW5j dGlvbihlKSB7CgkJCQlpZih0d0xvYWRlZCkgcmV0dXJuOwoJCQkJZWxzZSB0 d0xvYWRlZCA9IHRydWU7CgkJCQl2YXIgc1R3aXQgPSBkb2N1bWVudC5jcmVh dGVFbGVtZW50KCdTQ1JJUFQnKTsKCQkJCXZhciBjVHdpdCA9ICQoIiN0d2l0 dGVyQnRuIik7CgkJCQlzVHdpdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7 CgkJCQlzVHdpdC5hc3luYyA9IHRydWU7CgkJCQlzVHdpdC5zcmMgPSAnaHR0 cDovL3BsYXRmb3JtLnR3aXR0ZXIuY29tL3dpZGdldHMuanMnOwoJCQkJCgkJ CQkKCQkJCWNUd2l0LmFwcGVuZChzVHdpdCk7CgkJCX0sIGZhbHNlKTsKCQk8 L3NjcmlwdD48L2Rpdj48L2xpPjxsaT48ZGl2IGNsYXNzPSJzb2NpYWxCdXR0 b24gZmIiPjxkaXYgaWQ9ImZiLXJvb3QiPjwvZGl2PjxzY3JpcHQgY2xhc3M9 ImZiZWF2ZXJMb2FkQWZ0ZXJJbml0IiB0eXBlPSJ0ZXh0L2h0bWwiPgoJCQl2 YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzb2NpYWxCdXR0b25z Iik7CgkJCXZhciBmYkxvYWRlZCA9IGZhbHNlOwoJCQl3aW5kb3cub25sb2Fk ID0gCgkJCQkJLy8iI3NvY2lhbEJ1dHRvbnMiKS5iaW5kKCdrZXlwcmVzcycs IAoJCQkJZnVuY3Rpb24oZSkgewoJCQkJaWYoZmJMb2FkZWQpIHJldHVybjsK CQkJCWVsc2UgZmJMb2FkZWQgPSB0cnVlOwoKCQkJCXZhciBlID0gZG9jdW1l bnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CgkJCQllLmFzeW5jID0gdHJ1 ZTsKCQkJCWUuc3JjID0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wKCQkJ CQkJKyAnLy9jb25uZWN0LmZhY2Vib29rLm5ldC9lbl9VUy9hbGwuanMjeGZi bWw9MSc7CgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmItcm9vdCcp LmFwcGVuZENoaWxkKGUpOwoJCQkJCgkJCQkKCQkJCQkJCgkJCX0KCQkJCgkg IAoJCQkvL3ZhciB0bXAgPSB3aW5kb3cuZmJBc3luY0luaXQ7CgkJCXdpbmRv dy5mYkFzeW5jSW5pdCA9IGZ1bmN0aW9uKCkgewoJCQkJICBGQi5pbml0KHsK ICAgICAgICAgICAgIGFwcElkOiAnMjcwNjczMzQ5NjE0MjM3JywgY2hhbm5l bFVybDogJ2h0dHA6Ly9nbG9zYmUuY29tL2ZiL2NoYW5uZWwuaHRtbCcsIHhm Ym1sOiB0cnVlCiAgICAgICAgICB9KTsKCgkJCQkgX2dhLnRyYWNrRmFjZWJv b2soKTsKCQkJCSAKCQkJCSBGQi5FdmVudC5zdWJzY3JpYmUoJ2VkZ2UuY3Jl YXRlJywgZnVuY3Rpb24oaHJlZiwgd2lkZ2V0KSB7CgkJCSAgICAgX2dhcS5w dXNoKFsnX3RyYWNrRXZlbnQnLCdmYWNlYm9va0xpa2UnLCAnbGlrZScsIGhy ZWZdKTsKCQkJICAgfSk7CgkJICAgICAKCQkJCSBGQi5FdmVudC5zdWJzY3Jp YmUoJ2VkZ2UucmVtb3ZlJywgZnVuY3Rpb24oaHJlZiwgd2lkZ2V0KSB7CgkJ ICAgICAgIF9nYXEucHVzaChbJ190cmFja0V2ZW50JywnZmFjZWJvb2tMaWtl JywgJ3VubGlrZScsIGhyZWZdKTsKCQkgICAgIH0pOwovKgoJCQkgICBpZiAo dG1wKSB7CgkJCSAgICAgdG1wKCk7CgkJCSAgIH0qLwoJCQl9CgkJPC9zY3Jp cHQ+PGRpdiBkYXRhLXNob3ctZmFjZXM9ImZhbHNlIiBkYXRhLXdpZHRoPSI4 MCIgZGF0YS1sYXlvdXQ9ImJ1dHRvbl9jb3VudCIgZGF0YS1zZW5kPSJmYWxz ZSIgZGF0YS1ocmVmPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9wYWdlcy9H bG9zYmUvMjA1NDMwMTg2MTgyMTA0IiBjbGFzcz0iZmItbGlrZSI+PC9kaXY+ PC9kaXY+PC9saT48L3VsPjxkaXYgY2xhc3M9ImJyZWFkY3J1bWIiPjxkaXYg eG1sbnM6dj0iaHR0cDovL3JkZi5kYXRhLXZvY2FidWxhcnkub3JnLyMiPjxz cGFuIHR5cGVvZj0idjpCcmVhZGNydW1iIiBjbGFzcz0iIj48YSBocmVmPSIv IiByZWw9InY6dXJsIiBwcm9wZXJ0eT0idjp0aXRsZSI+RGljdGlvbmFyeTwv YT48c3BhbiBjbGFzcz0iZGl2aWRlciI+Lzwvc3Bhbj48c3BhbiByZWw9InY6 Y2hpbGQiPjxzcGFuIHR5cGVvZj0idjpCcmVhZGNydW1iIiBjbGFzcz0iIj48 YSBocmVmPSIvcGwvZW4vIiByZWw9InY6dXJsIiBwcm9wZXJ0eT0idjp0aXRs ZSI+RGljdGlvbmFyeSBQb2xpc2ggRW5nbGlzaDwvYT48L3NwYW4+PC9zcGFu Pjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJ3aWR0aDogNzI4cHg7 IGhlaWdodDogOTBweDsiIGlkPSJhZF90b3BCYW5uZXIiIGNsYXNzPSJhZENv bnRhaW5lciI+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAg ICAgIGdvb2dsZV9hZF9jbGllbnQgPSAnY2EtcHViLTMzMTQ2NjIyNjEzOTQ4 MTYnOwogICAgICAgIGdvb2dsZV9hZF9zbG90ID0gJzExNjg3NDMxMDEnOwog ICAgICAgIGdvb2dsZV9hZF93aWR0aCA9IDcyODsKICAgICAgICBnb29nbGVf YWRfaGVpZ2h0ID0gOTA7CiAgICAgIDwvc2NyaXB0PjxzY3JpcHQgc3JjPSJo dHRwOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL3No b3dfYWRzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pjwv ZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PGRpdiBjbGFzcz0i cm93LWZsdWlkIj48ZGl2IGNsYXNzPSJzcGFuMyI+PGRpdiBjbGFzcz0ic2lk ZWJhci1uYXYiPjxkaXYgY2xhc3M9InZpc2libGUtcGhvbmUiIGlkPSJsYW5n dWFnZVN3YXBQaG9uZSI+PHN0cm9uZz4KICAgICAgICBQb2xpc2ggCiAgICAg ICAgLSAgICAgIAogICAgICAgIEVuZ2xpc2gKICAgICAgICA8L3N0cm9uZz48 YSB0aXRsZT0iRW5nbGlzaCBQb2xpc2giIGNsYXNzPSJidG4gYnRuLW1pbmkg cHVsbC1yaWdodCIgaHJlZj0iL2VuL3BsIj4KICAgICAgICBFbmdsaXNoCiAg ICAgICAgPGkgY2xhc3M9Imljb24tcmVzaXplLWhvcml6b250YWwiPjwvaT4K ICAgICAgICBQb2xpc2gKICAgICAgPC9hPjwvZGl2PjxkaXYgY2xhc3M9InNl YXJjaEJveFNtYWxsIHdlbGwgIiBkaXI9Imx0ciIgaWQ9InNlYXJjaF9iYXIi PjxkaXYgY2xhc3M9ImlucHV0LWFwcGVuZCIgaWQ9InNlYXJjaF9jb250YWlu ZXIiPjxmb3JtIG1ldGhvZD0iZ2V0IiBhY3Rpb249Ii9wbC9lbiI+PGlucHV0 IGlkPSJ3b3JkaW5wdXQiIG5hbWU9InEiIHBsYWNlaG9sZGVyPSJQb2xpc2gg LSBFbmdsaXNoIERpY3Rpb25hcnkiIG1heGxlbmd0aD0iMjAwMCIgeC13ZWJr aXQtZ3JhbW1hcj0iYnVpbHRpbjpzZWFyY2giIHgtd2Via2l0LXNwZWVjaD0i eC13ZWJraXQtc3BlZWNoIiBhdXRvZm9jdXM9ImF1dG9mb2N1cyIgdHlwZT0i dGV4dCIvPjxidXR0b24gdGl0bGU9InNlYXJjaCIgY2xhc3M9ImJ0biBidG4t cHJpbWFyeSIgaWQ9Im5hdmlnYXRlVG9Xb3JkQnV0dG9uIj4KICAgICAgICAg ICAgICAmbmJzcDs8aSBjbGFzcz0iaWNvbi1zZWFyY2ggaWNvbi13aGl0ZSI+ PC9pPjwvYnV0dG9uPjwvZm9ybT48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcmZp eCI+PC9kaXY+PGRpdiBpZD0ia2V5Ym9hcmRfY29udGFpbmVyIj48L2Rpdj48 YSBpbnB1dD0iIiBmcm9tPSIiIGxhbmc9InBsIiBjbGFzcz0iY3NzYnV0dG9u IGNzc2J1dHRvbi1zbWFsbCBrZXlib2FyZCIgdGl0bGU9InNob3cgb25saW5l IGtleWJvYXJkLCBQb2xpc2giIGhyZWY9ImphdmFzY3JpcHQ6OyI+PGltZyBh bHQ9Ik9ubGluZSBrZXlib2FyZCwgUG9saXNoIiBzcmM9Ii9yZXNvdXJjZXMv cmVzb3VyY2VzX2ltZy9rZXlib2FyZC5wbmciLz48L2E+PGRpdiBjbGFzcz0i dmlzaWJsZS1kZXNrdG9wIHZpc2libGUtdGFibGV0IiBpZD0ibGFuZ3VhZ2VT d2FwIj4KICAgICAgUG9saXNoIAogICAgICA8YSB0aXRsZT0iRGljdGlvbmFy eSBFbmdsaXNoIFBvbGlzaCIgY2xhc3M9ImJ0biBidG4tbWluaSIgaHJlZj0i L2VuL3BsIj48aSBjbGFzcz0iaWNvbi1yZXNpemUtaG9yaXpvbnRhbCI+PC9p PjwvYT4gRW5nbGlzaAogICAgPC9kaXY+PC9kaXY+PG5hdj48ZGl2IGNsYXNz PSJoaWRkZW4tcGhvbmUiIGlkPSJ3b3JkTGlzdFdpZGdldCI+PHVsIGxhbmc9 InBsIiBkaXI9Imx0ciIgY2xhc3M9Im5hdiBuYXYtbGlzdCI+PGxpIGNsYXNz PSIgaGlkZGVuLXBob25lIj48YSB0aXRsZT0iYXNjZXR5ayBpbiBFbmdsaXNo IiBocmVmPSIvcGwvZW4vYXNjZXR5ayI+YXNjZXR5ayZuYnNwOzwvYT48L2xp PjxsaSBjbGFzcz0iIGhpZGRlbi1waG9uZSI+PGEgdGl0bGU9ImFzY2V0eXpt IGluIEVuZ2xpc2giIGhyZWY9Ii9wbC9lbi9hc2NldHl6bSI+YXNjZXR5em0m bmJzcDs8L2E+PC9saT48bGkgY2xhc3M9IiBoaWRkZW4tcGhvbmUiPjxhIHRp dGxlPSJhc2NlemEgaW4gRW5nbGlzaCIgaHJlZj0iL3BsL2VuL2FzY2V6YSI+ YXNjZXphJm5ic3A7PC9hPjwvbGk+PGxpIGNsYXNzPSIgaGlkZGVuLXBob25l Ij48YSB0aXRsZT0iQXNjb2xpIFBpY2VubyBpbiBFbmdsaXNoIiBocmVmPSIv cGwvZW4vQXNjb2xpJTIwUGljZW5vIj5Bc2NvbGkgUGljZW5vJm5ic3A7PC9h PjwvbGk+PGxpIGNsYXNzPSIgIj48YSB0aXRsZT0iQXNjdXRlIGluIEVuZ2xp c2giIGhyZWY9Ii9wbC9lbi9Bc2N1dGUiPkFzY3V0ZSZuYnNwOzwvYT48L2xp PjxsaSBjbGFzcz0iICI+PGEgdGl0bGU9IkFTRUFOIGluIEVuZ2xpc2giIGhy ZWY9Ii9wbC9lbi9BU0VBTiI+QVNFQU4mbmJzcDs8L2E+PC9saT48bGkgY2xh c3M9IiAiPjxhIHRpdGxlPSJhc2Vrc3VhbGl6bSBpbiBFbmdsaXNoIiBocmVm PSIvcGwvZW4vYXNla3N1YWxpem0iPmFzZWtzdWFsaXptJm5ic3A7PC9hPjwv bGk+PGxpIGNsYXNzPSIgIj48YSB0aXRsZT0iYXNla3N1YWxueSBpbiBFbmds aXNoIiBocmVmPSIvcGwvZW4vYXNla3N1YWxueSI+YXNla3N1YWxueSZuYnNw OzwvYT48L2xpPjxsaSBjbGFzcz0iIGhpZGRlbi1waG9uZSI+PGEgdGl0bGU9 ImFzZWt1cmFjamEgaW4gRW5nbGlzaCIgaHJlZj0iL3BsL2VuL2FzZWt1cmFj amEiPmFzZWt1cmFjamEmbmJzcDs8L2E+PC9saT48bGkgY2xhc3M9IiBoaWRk ZW4tcGhvbmUiPjxhIHRpdGxlPSJhc2VrdXJhbnQgaW4gRW5nbGlzaCIgaHJl Zj0iL3BsL2VuL2FzZWt1cmFudCI+YXNla3VyYW50Jm5ic3A7PC9hPjwvbGk+ PGxpIGNsYXNzPSIgaGlkZGVuLXBob25lIj48YSB0aXRsZT0iYXNla3Vyb3dh xIcgaW4gRW5nbGlzaCIgaHJlZj0iL3BsL2VuL2FzZWt1cm93YSVDNCU4NyI+ YXNla3Vyb3dhxIcmbmJzcDs8L2E+PC9saT48bGkgY2xhc3M9IiBoaWRkZW4t cGhvbmUiPjxhIHRpdGxlPSJhc2VtIGluIEVuZ2xpc2giIGhyZWY9Ii9wbC9l bi9hc2VtIj5hc2VtJm5ic3A7PC9hPjwvbGk+PGxpIGNsYXNzPSIgaGlkZGVu LXBob25lIj48YSB0aXRsZT0iQVNFTSBpbiBFbmdsaXNoIiBocmVmPSIvcGwv ZW4vQVNFTSI+QVNFTSZuYnNwOzwvYT48L2xpPjxsaSBjbGFzcz0iIGhpZGRl bi1waG9uZSI+PGEgdGl0bGU9ImFzZW1ibGVyIGluIEVuZ2xpc2giIGhyZWY9 Ii9wbC9lbi9hc2VtYmxlciI+YXNlbWJsZXImbmJzcDs8L2E+PC9saT48bGkg Y2xhc3M9IiBoaWRkZW4tcGhvbmUiPjxhIHRpdGxlPSJhc2VtYmxlciBpbiBq xJl6eWsgYXNlbWJsZXJhIiBocmVmPSIvcGwvZW4vYXNlbWJsZXIlMjNqJUM0 JTk5enlrJTIwYXNlbWJsZXJhIj5hc2VtYmxlciNqxJl6eWsgYXNlbWJsZXJh Jm5ic3A7PC9hPjwvbGk+PGxpIGNsYXNzPSIgaGlkZGVuLXBob25lIj48YSB0 aXRsZT0iYXNlbWJsb3dhxIcgaW4gRW5nbGlzaCIgaHJlZj0iL3BsL2VuL2Fz ZW1ibG93YSVDNCU4NyI+YXNlbWJsb3dhxIcmbmJzcDs8L2E+PC9saT48L3Vs PjxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj48L2Rpdj48L25hdj48L2Rp dj48L2Rpdj48ZGl2IGlkPSJzY3JvbGxTcHlDb250ZW50IiBkYXRhLXRhcmdl dD0iI3BocmFzZVBhZ2VOYXYiIGRhdGEtc3B5PSJzY3JvbGwiIGNsYXNzPSJz cGFuNyI+PGRpdj48ZGl2IGxhbmc9InBsIiBpZD0id29yZERldGFpbHNDb250 YWluZXIiIGNsYXNzPSJ3b3JkRGV0YWlscyI+PGFydGljbGU+PHA+V2UgYXJl IHNvcnJ5LCBidXQgd2UgaGF2ZSBubyB0cmFuc2xhdGlvbnMgZm9yIHdvcmQg YXNkZmZmIGluIFBvbGlzaCBFbmdsaXNoIGRpY3Rpb25hcnkuIFBsZWFzZSwg Y29uc2lkZXIgYWRkaW5nIG5ldyB0cmFuc2xhdGlvbiB0byBHbG9zYmUuPC9w PjxwPjxhIHBocmFzZT0iYXNkZmZmIiBkZXN0PSJlbmciIGZyb209InBvbCIg aWQ9ImFkZC10cmFuc2xhdGlvbi1idXR0b24iIGNsYXNzPSJidXR0b24gYnRu IGJ0bi1wcmltYXJ5IiBocmVmPSIvYWRkLXRyYW5zbGF0aW9uP2xhbmcxPXBs JmxhbmcyPWVuJnBocmFzZT1hc2RmZmYiPjxpIGNsYXNzPSJpY29uLXBsdXMi PjwvaT4mbmJzcDsKICAgICAgICAgICAgYWRkIHRyYW5zbGF0aW9uPC9hPjwv cD48ZGl2IGlkPSJhZGQtdHJhbnNsYXRpb24tY29udGFpbmVyIj48L2Rpdj48 ZGl2IGNsYXNzPSJ3ZWxsIHdlbGwtc21hbGwiIHN0eWxlPSJkaXNwbGF5OiBu b25lIiBpZD0iZ3QtY29udGFpbmVyIj48aW1nIHdpZHRoPSI4MCIgYWx0PSJH b29nbGUgVHJhbnNsYXRlIFRNIiBjbGFzcz0iZ3QtbG9nbyBwdWxsLXJpZ2h0 IiBzcmM9Ii9yZXNvdXJjZXMvcmVzb3VyY2VzX2ltZy9Hb29nbGVfVHJhbnNs YXRlX2xvZ28ucG5nIi8+PHN0cm9uZz5BdXRvbWF0aWMgdHJhbnNsYXRpb246 PC9zdHJvbmc+PGRpdiBsYW5nPSJwbCIgY2xhc3M9Imdvb2ctdHJhbnMtc2Vj dGlvbiI+PGRpdiBpZD0iZ3QtY29udHJvbCIgY2xhc3M9Imdvb2ctdHJhbnMt Y29udHJvbCI+PC9kaXY+PHNwYW4gY2xhc3M9Imd0LXRleHQiPmFzZGZmZjwv c3Bhbj48L2Rpdj48L2Rpdj48c2NyaXB0IGNsYXNzPSJmYmVhdmVyTG9hZEFm dGVySW5pdCIgdHlwZT0idGV4dC9odG1sIj4KCXRyeXsKCQlmdW5jdGlvbiBn b29nbGVTZWN0aW9uYWxFbGVtZW50SW5pdCgpIHsKCQkgIG5ldyBnb29nbGUu dHJhbnNsYXRlLlNlY3Rpb25hbEVsZW1lbnQoewoJCSAgICBzZWN0aW9uYWxO b2RlQ2xhc3NOYW1lOiAnZ29vZy10cmFucy1zZWN0aW9uJywKCQkgICAgY29u dHJvbE5vZGVDbGFzc05hbWU6ICdnb29nLXRyYW5zLWNvbnRyb2wnLAoJCSAg ICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnCgkJICB9LCAnZ29vZ2xlX3Nl Y3Rpb25hbF9lbGVtZW50Jyk7CgkJICAKCQkgIHNldFRpbWVvdXQoZnVuY3Rp b24oKSB7CQoJCQkgIHRyeSB7CgkJCQkJdmFyIGEgPSBqUXVlcnkoJyNndC1j b250cm9sIGEnKVswXTsKCQkJCQlteUZpcmVFdmVudChhLCAiY2xpY2siKTsK CQkJCQlqUXVlcnkoJyNndC1jb250cm9sIGEnKS50ZXh0KCcnKTsKCQkJICB9 Y2F0Y2goZSl7fQoJCQl9ICwgMTUwMCk7CgkJICB2YXIgcmVmcmVzaEludGVy dmFsQ291bnRlciA9IDA7CgkJICB2YXIgcmVmcmVzaEludGVydmFsSWQgPSBz ZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKCQkJICB0cnl7CgkJCQkgIHZhciB0 cmFuc2xhdGVkPWpRdWVyeSgnI2d0LWNvbnRhaW5lciBzcGFuLmd0LXRleHQn KS50ZXh0KCk7CgkJCQkgIAoJCQkJICByZWZyZXNoSW50ZXJ2YWxDb3VudGVy Kys7CgkJCQkgIGlmKHRyYW5zbGF0ZWQudG9Mb3dlckNhc2UoKSAhPSAiYXNk ZmZmIi50b0xvd2VyQ2FzZSgpKSB7CgkJCQkJCWpRdWVyeSgnI2d0LWNvbnRh aW5lcicpLnNsaWRlRG93bigic2xvdyIpOwoJCQkJCQljbGVhckludGVydmFs KHJlZnJlc2hJbnRlcnZhbElkKTsKCSAJCQkgIH0gZWxzZSBpZiAocmVmcmVz aEludGVydmFsQ291bnRlciA+IDIwKSB7CgkgCQkJCSAJY2xlYXJJbnRlcnZh bChyZWZyZXNoSW50ZXJ2YWxJZCk7CgkgCQkJICB9CgkJCSAgfWNhdGNoKGUp e30KCQkJfSAsIDI1MDApOyAgCgkJfQoJfQljYXRjaChlKSB7fQoJdHJ5IHsK CQlmdW5jdGlvbiBteUZpcmVFdmVudChvYmosZXZ0KXsKCQkKCQkgICAgdmFy IGZpcmVPblRoaXMgPSBvYmo7CgkJICAgIGlmKCBkb2N1bWVudC5jcmVhdGVF dmVudCApIHsKCQkgICAgICB2YXIgZXZPYmogPSBkb2N1bWVudC5jcmVhdGVF dmVudCgnTW91c2VFdmVudHMnKTsKCQkgICAgICBldk9iai5pbml0RXZlbnQo IGV2dCwgdHJ1ZSwgZmFsc2UgKTsKCQkgICAgICBmaXJlT25UaGlzLmRpc3Bh dGNoRXZlbnQoIGV2T2JqICk7CgkJCgkJICAgIH0gZWxzZSBpZiggZG9jdW1l bnQuY3JlYXRlRXZlbnRPYmplY3QgKSB7CgkJICAgICAgdmFyIGV2T2JqID0g ZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QoKTsKCQkgICAgICBmaXJlT25U aGlzLmZpcmVFdmVudCggJ29uJyArIGV2dCwgZXZPYmogKTsKCQkgICAgfQoJ CX0JCgkJCgkJKGZ1bmN0aW9uKCkgCgkJICB7CgkJCXZhciBzID0gZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoImd0LWNvbnRyb2wiKTsKCQkgICAgdmFyIG15 c2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CgkJ ICAgIG15c2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKCQkgICAg bXlzY3JpcHQuc3JjID0gJ2h0dHA6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbS90 cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVNlY3Rpb25hbEVsZW1l bnRJbml0JnVnPXNlY3Rpb24maGw9ZW4nOwoJCSAgICBteXNjcmlwdC5zZXRB dHRyaWJ1dGUoJ2FzeW5jJywgJ3RydWUnKTsKCQkgICAgcy5hcHBlbmRDaGls ZChteXNjcmlwdCk7CgkJIH0pKCk7Cgl9IGNhdGNoKGUpIHt9Cgk8L3Njcmlw dD48ZGl2IGlkPSJzaW1taWxhclBocmFzZXMiPjwvZGl2PjwvYXJ0aWNsZT48 L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzcGFuMiI+PGRpdiBzdHls ZT0id2lkdGg6IDE2MHB4OyBoZWlnaHQ6IDYwMHB4OyIgaWQ9ImFkX3JpZ2h0 U2lkZWJhckZpcnN0QmFubmVyIiBjbGFzcz0iYWRDb250YWluZXIiPjxzY3Jp cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICBnb29nbGVfYWRf Y2xpZW50ID0gJ2NhLXB1Yi0zMzE0NjYyMjYxMzk0ODE2JzsKICAgICAgICBn b29nbGVfYWRfc2xvdCA9ICc4ODc3MTc5NTE5JzsKICAgICAgICBnb29nbGVf YWRfd2lkdGggPSAxNjA7CiAgICAgICAgZ29vZ2xlX2FkX2hlaWdodCA9IDYw MDsKICAgICAgPC9zY3JpcHQ+PHNjcmlwdCBzcmM9Imh0dHA6Ly9wYWdlYWQy Lmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hvd19hZHMuanMiIHR5 cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9kaXY+PGRpdiBzdHls ZT0id2lkdGg6IDE2MHB4OyBoZWlnaHQ6IDYwMHB4OyIgaWQ9ImFkX3JpZ2h0 U2lkZWJhclNlY29uZEJhbm5lciIgY2xhc3M9ImFkQ29udGFpbmVyIj48c2Ny aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgZ29vZ2xlX2Fk X2NsaWVudCA9ICdjYS1wdWItMzMxNDY2MjI2MTM5NDgxNic7CiAgICAgICAg Z29vZ2xlX2FkX3Nsb3QgPSAnNTAzMzgwNzQ3NSc7CiAgICAgICAgZ29vZ2xl X2FkX3dpZHRoID0gMTYwOwogICAgICAgIGdvb2dsZV9hZF9oZWlnaHQgPSA2 MDA7CiAgICAgIDwvc2NyaXB0PjxzY3JpcHQgc3JjPSJodHRwOi8vcGFnZWFk Mi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL3Nob3dfYWRzLmpzIiB0 eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PjwvZGl2PjwvZGl2Pjwv ZGl2PjwvZGl2Pjx1bCBjbGFzcz0ibmF2IG5hdi1waWxscyIgaWQ9InBocmFz ZVBhZ2VOYXYiPjxsaT48YSBocmVmPSIjcGhyYXNlVHJhbnNsYXRpb24iPlRy YXNsLjwvYT48L2xpPjxsaT48YSBocmVmPSIjdHJhbnNsYXRpb25FeGFtcGxl cyI+RXhhbXBsZXM8L2E+PC9saT48L3VsPjxkaXYgY2xhc3M9ImNsZWFyZml4 Ij48L2Rpdj48Zm9vdGVyIGNsYXNzPSJmb290ZXIiPjxkaXYgY2xhc3M9ImNv bnRhaW5lciI+PG5hdj48dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLWNvbmRl bnNlZCB0ZXh0Q2VudGVyZWQiPjx0Ym9keT48dHI+PHRkIHdpZHRoPSIxOTVw eCIgdmFsaWduPSJ0b3AiPjxzcGFuIGNsYXNzPSJmb290ZXJsaXN0Ij48YSBo cmVmPSIvIj5Ib21lPC9hPjxici8+PGEgaHJlZj0iL2FsbC1kaWN0aW9uYXJp ZXMiPkFsbCBkaWN0aW9uYXJpZXM6CiAgICAgICAgICAgICAgICAgICAgICBF bmdsaXNoIDwvYT48YnIvPjxhIGhyZWY9Ii9hbGwtbGFuZ3VhZ2VzIj5BbGwg bGFuZ3VhZ2VzPC9hPjxici8+PGEgaHJlZj0iL3RtZW0vIj5UcmFuc2xhdGlv biBtZW1vcnk8L2E+PGJyLz48L3NwYW4+PC90ZD48dGQgd2lkdGg9IjE0MHB4 IiB2YWxpZ249InRvcCI+PHNwYW4gY2xhc3M9ImZvb3Rlcmxpc3QiPjxhIHJl bD0ibm9mb2xsb3ciIGhyZWY9Ii9yZWNlbnQiPlJlY2VudCBjaGFuZ2VzPC9h Pjxici8+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iL2FkZC10cmFuc2xhdGlv biI+YWRkIHRyYW5zbGF0aW9uPC9hPjxici8+PGEgcmVsPSJub2ZvbGxvdyIg aHJlZj0iL3VwbG9hZCI+VXBsb2FkIGRpY3Rpb25hcnk8L2E+PGJyLz48YSBy ZWw9Im5vZm9sbG93IiBocmVmPSIvYS1hcGkiPkdsb3NiZSBBUEk8L2E+PGJy Lz48L3NwYW4+PC90ZD48dGQgd2lkdGg9IjE2MHB4IiB2YWxpZ249InRvcCI+ PHNwYW4gY2xhc3M9ImZvb3Rlcmxpc3QiPjxhIHJlbD0ibm9mb2xsb3ciIGhy ZWY9Ii9hYm91dCI+QWJvdXQgdXM8L2E+PGJyLz48YSByZWw9Im5vZm9sbG93 IiBocmVmPSIvcGFydG5lcnMiPlBhcnRuZXJzPC9hPjxici8+PGEgcmVsPSJu b2ZvbGxvdyIgaHJlZj0iL2Jsb2cvIj5CbG9nPC9hPjxici8+PGEgcmVsPSJu b2ZvbGxvdyIgaHJlZj0iL2NvbnRhY3QiPkNvbnRhY3Q8L2E+PGJyLz48L3Nw YW4+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L25hdj48ZGl2IGNsYXNz PSJwb3dlcmVkLWJ5Ij5Qb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly9jbG91 ZC1pbnNpZGUuY29tIj5DbG91ZCBJbnNpZGU8L2E+PC9kaXY+PC9kaXY+PC9m b290ZXI+PGRpdiBjbGFzcz0ibW9kYWwgaGlkZSBmYWRlIiBpZD0ibG9naW5D b250YWluZXIiPjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPjxidXR0b24gYXJp YS1oaWRkZW49InRydWUiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGNsYXNzPSJj bG9zZSIgdHlwZT0iYnV0dG9uIj4mdGltZXM7PC9idXR0b24+PHNjcmlwdCB0 eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgZnVuY3Rpb24gZW1wdHlG dW4oYXJnKSB7CiAgICAgICAgICAgCiAgICAgICB9CiAgICA8L3NjcmlwdD48 dWwgaWQ9ImxvZ2luUmVnaXN0ZXJUYWJzIiBjbGFzcz0ibmF2IG5hdi10YWJz Ij48bGkgY2xhc3M9ImFjdGl2ZSI+PGEgZGF0YS10b2dnbGU9InRhYiIgaHJl Zj0iI2xvZ2luVGFiU2lnbkluIj5Mb2cgaW48L2E+PC9saT48bGk+PGEgZGF0 YS10b2dnbGU9InRhYiIgaHJlZj0iI2xvZ2luVGFiUmVnaXN0ZXIiPlJlZ2lz dGVyPC9hPjwvbGk+PGxpPjxhIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNs b2dpblRhYkZvcmdvdFBhc3N3b3JkIj5Gb3Jnb3QgcGFzc3dvcmQ8L2E+PC9s aT48L3VsPjxkaXYgY2xhc3M9InRhYi1jb250ZW50IiBpZD0ibG9naW5UYWJz Ij48ZGl2IGNsYXNzPSJ0YWItcGFuZSBhY3RpdmUiIGlkPSJsb2dpblRhYlNp Z25JbiI+PGRpdj48c2VjdGlvbiBjbGFzcz0iZm9ybS1zZWN0aW9uIHNvY2lh bExvZ2luTGlua3NDb250YWluZXIiPjxhIG9uY2xpY2s9IkZCZWF2ZXIuZXh0 ZXJuYWxMb2dpbih0aGlzLCAnL2F1dGgvZXh0ZXJuYWwvZmFjZWJvb2snLCAn U2lnbiBpbiB3aXRoIEZhY2Vib29rJywgJ2xvZ2luU3VjY2VzcycsICdsb2dp bkVycm9yJykiIGNsYXNzPSJzaWduSW5GYWNlYm9vayBidG4iIGhyZWY9Imph dmFzY3JpcHQ6OyI+PGltZyBzcmM9Ii9yZXNvdXJjZXMvcmVzb3VyY2VzX2lt Zy9sb2dpbi9mYWNlYm9vay1sb2dpbi1idXR0b24ucG5nIiBhbHQ9IlNpZ24g aW4gd2l0aCBGYWNlYm9vayIvPjwvYT4KICAgICAgICAgICAgICAgICZuYnNw OwogICAgICAgICAgICAgICAgPGEgb25jbGljaz0iRkJlYXZlci5leHRlcm5h bExvZ2luKHRoaXMsICcvYXV0aC9leHRlcm5hbC9nb29nbGUnLCAnU2lnbiBp biB3aXRoIEdvb2dsZScsICdsb2dpblN1Y2Nlc3MnLCAnbG9naW5FcnJvcicg KSIgY2xhc3M9InNpZ25Jbkdvb2dsZSBidG4iIGhyZWY9ImphdmFzY3JpcHQ6 OyI+PGltZyBzcmM9Ii9yZXNvdXJjZXMvcmVzb3VyY2VzX2ltZy9sb2dpbi9n b29nbGUtbG9naW4tYnV0dG9uLnBuZyIgYWx0PSJTaWduIGluIHdpdGggR29v Z2xlIi8+PC9hPjwvc2VjdGlvbj48aDQgY2xhc3M9InNvY2lhbExvZ2luTGlu a3NMYWJlbCI+b3IgbG9nIGluIHdpdGggdXNlciBuYW1lIGFuZCBwYXNzd29y ZDo8L2g0PjxzZWN0aW9uIGlkPSJsb2dpbkZvcm1fMF9zZWN0aW9uIj48ZGl2 IGNsYXNzPSJsb2dpbkZvcm1Db250YWluZXIiIGlkPSJsb2dpbkZvcm1fMF9j b250YWluZXIiPjxpZnJhbWUgbmFtZT0iZm9ybUxvZ2luRnJhbWUwIiBzdHls ZT0id2lkdGg6IDBweDsgaGVpZ2h0OiAwcHg7IHZpc2liaWxpdHk6IGhpZGRl bjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMTAwMDA7Ij48L2lmcmFt ZT48Zm9ybSB0YXJnZXQ9ImZvcm1Mb2dpbkZyYW1lMCIgYWN0aW9uPSIvYXV0 aC9zZWN1cml0eV9jaGVjayIgaWQ9ImxvZ2luRm9ybV8wIiBuYW1lPSJsb2dp bkZvcm1fMCIgbWV0aG9kPSJwb3N0Ij48c2VjdGlvbj48bGFiZWwgZm9yPSJs b2dpbkZvcm1fMF9lbWFpbCI+ZW1haWw8L2xhYmVsPjxkaXYgY2xhc3M9Imxv Z2luRm9ybV9lbWFpbCI+PGlucHV0IGNsYXNzPSJyZXF1aXJlZCBlbWFpbCIg bmFtZT0ial91c2VybmFtZSIgdHlwZT0iZW1haWwiIGlkPSJsb2dpbkZvcm1f MF9lbWFpbCIvPjwvZGl2Pjwvc2VjdGlvbj48c2VjdGlvbj48bGFiZWwgZm9y PSJsb2dpbkZvcm1fMF9wYXNzd29yZCI+cGFzc3dvcmQ8L2xhYmVsPjxkaXYg Y2xhc3M9ImxvZ2luRm9ybV9wYXNzd29yZCI+PGlucHV0IHR5cGU9InBhc3N3 b3JkIiBuYW1lPSJqX3Bhc3N3b3JkIiBpZD0ibG9naW5Gb3JtXzBfcGFzc3dv cmQiIGNsYXNzPSJyZXF1aXJlZCIvPjwvZGl2Pjwvc2VjdGlvbj48c2VjdGlv bj48aW5wdXQgdmFsdWU9InRydWUiIGNsYXNzPSJzaWduSW5SZW1lbWJlck1l IiBuYW1lPSJyZW1lbWJlck1lIiB0eXBlPSJoaWRkZW4iIGlkPSJsb2dpbkZv cm1fMF9yZW1lbWJlck1lIi8+PC9zZWN0aW9uPjxzZWN0aW9uPjxpbnB1dCBj bGFzcz0iYnV0dG9uIHByaW1hcnkgbG9naW5Gb3JtX2xvZ2luICBidG4gYnRu LXByaW1hcnkiIG9uY2xpY2s9IkZCZWF2ZXIuZm9ybUxvZ2luKCdsb2dpblN1 Y2Nlc3MnLCAnbG9naW5FcnJvcicpIiB2YWx1ZT0ibG9nIGluIiB0eXBlPSJz dWJtaXQiLz48L3NlY3Rpb24+PC9mb3JtPjwvZGl2Pjwvc2VjdGlvbj48L2Rp dj48L2Rpdj48ZGl2IGNsYXNzPSJ0YWItcGFuZSIgaWQ9ImxvZ2luVGFiUmVn aXN0ZXIiPjxkaXY+PHNlY3Rpb24gY2xhc3M9ImZvcm0tc2VjdGlvbiBzb2Np YWxMb2dpbkxpbmtzQ29udGFpbmVyIj48YSBvbmNsaWNrPSJGQmVhdmVyLmV4 dGVybmFsTG9naW4odGhpcywgJy9hdXRoL2V4dGVybmFsL2ZhY2Vib29rJywg J1NpZ24gaW4gd2l0aCBGYWNlYm9vaycsICdsb2dpblN1Y2Nlc3MnLCAnbG9n aW5FcnJvcicpIiBjbGFzcz0ic2lnbkluRmFjZWJvb2sgYnRuIiBocmVmPSJq YXZhc2NyaXB0OjsiPjxpbWcgc3JjPSIvcmVzb3VyY2VzL3Jlc291cmNlc19p bWcvbG9naW4vZmFjZWJvb2stbG9naW4tYnV0dG9uLnBuZyIgYWx0PSJTaWdu IGluIHdpdGggRmFjZWJvb2siLz48L2E+CiAgICAgICAgICAgICAgICAmbmJz cDsKICAgICAgICAgICAgICAgIDxhIG9uY2xpY2s9IkZCZWF2ZXIuZXh0ZXJu YWxMb2dpbih0aGlzLCAnL2F1dGgvZXh0ZXJuYWwvZ29vZ2xlJywgJ1NpZ24g aW4gd2l0aCBHb29nbGUnLCAnbG9naW5TdWNjZXNzJywgJ2xvZ2luRXJyb3In ICkiIGNsYXNzPSJzaWduSW5Hb29nbGUgYnRuIiBocmVmPSJqYXZhc2NyaXB0 OjsiPjxpbWcgc3JjPSIvcmVzb3VyY2VzL3Jlc291cmNlc19pbWcvbG9naW4v Z29vZ2xlLWxvZ2luLWJ1dHRvbi5wbmciIGFsdD0iU2lnbiBpbiB3aXRoIEdv b2dsZSIvPjwvYT48L3NlY3Rpb24+PGg0IGNsYXNzPSJzb2NpYWxMb2dpbkxp bmtzTGFiZWwiPm9yIGNyZWF0ZSBhY2NvdW50OjwvaDQ+PHNlY3Rpb24gaWQ9 InJlZ2lzdHJhdGlvbkZvcm1fMF9zZWN0aW9uIj48ZGl2IGNsYXNzPSJyZWdp c3RyYXRpb25Gb3JtQ29udGFpbmVyIiBpZD0icmVnaXN0cmF0aW9uRm9ybV8w X2NvbnRhaW5lciI+PGZvcm0gaWQ9InJlZ2lzdHJhdGlvbkZvcm1fMF9mb3Jt IiBuYW1lPSJyZWdpc3RlckZvcm1fMCIgb25FcnJvcj0icmVnaXN0ZXJFcnJv ciIgb25TdWNjZXNzPSJsb2dpblN1Y2Nlc3MiIG1ldGhvZD0icG9zdCIgZW5j dHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgY2xhc3M9ImFjdGlvbkZvcm0i PjxzZWN0aW9uPjxsYWJlbCBmb3I9InJlZ2lzdHJhdGlvbkZvcm1fMF9lbWFp bCI+ZW1haWw8L2xhYmVsPjxkaXYgY2xhc3M9InJlZ2lzdHJhdGlvbkZvcm1f ZW1haWwiPjxpbnB1dCBjbGFzcz0icmVxdWlyZWQgZW1haWwiIG5hbWU9ImFj dGlvbi5wcm9wc1tlbWFpbF0iIHR5cGU9InRleHQiIGlkPSJyZWdpc3RyYXRp b25Gb3JtXzBfZW1haWwiLz48L2Rpdj48L3NlY3Rpb24+PHNlY3Rpb24+PGxh YmVsIGZvcj0icmVnaXN0cmF0aW9uRm9ybV8wX3Bhc3N3b3JkMSI+cGFzc3dv cmQ8L2xhYmVsPjxkaXYgY2xhc3M9InJlZ2lzdHJhdGlvbkZvcm1fcGFzc3dv cmQxIj48aW5wdXQgY2xhc3M9InJlcXVpcmVkIiBuYW1lPSJhY3Rpb24ucHJv cHNbcGFzc3dvcmQxXSIgaWQ9InJlZ2lzdHJhdGlvbkZvcm1fMF9wYXNzd29y ZDEiIHR5cGU9InBhc3N3b3JkIi8+PC9kaXY+PC9zZWN0aW9uPjxzZWN0aW9u PjxsYWJlbCBmb3I9InJlZ2lzdHJhdGlvbkZvcm1fMF9wYXNzd29yZDIiPnJl dHlwZSBwYXNzd29yZDwvbGFiZWw+PGRpdiBjbGFzcz0icmVnaXN0cmF0aW9u Rm9ybV9wYXNzd29yZDIiPjxpbnB1dCBjbGFzcz0icmVxdWlyZWQiIG5hbWU9 ImFjdGlvbi5wcm9wc1twYXNzd29yZDJdIiBpZD0icmVnaXN0cmF0aW9uRm9y bV8wX3Bhc3N3b3JkMiIgdHlwZT0icGFzc3dvcmQiLz48L2Rpdj48aW5wdXQg Y2xhc3M9ImJ1dHRvbiBwcmltYXJ5IGJ0biBidG4tcHJpbWFyeSIgdmFsdWU9 ImNyZWF0ZSBhY2NvdW50IiB0eXBlPSJzdWJtaXQiLz48aW5wdXQgdmFsdWU9 ImNvcmUuQ3JlYXRlQWNjb3VudEFjdGlvbiIgbmFtZT0iYWN0aW9uLm5hbWUi IHR5cGU9ImhpZGRlbiIvPjwvc2VjdGlvbj48L2Zvcm0+PC9kaXY+PC9zZWN0 aW9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InRhYi1wYW5lIiBpZD0ibG9n aW5UYWJGb3Jnb3RQYXNzd29yZCI+PGRpdj48aDQ+UGFzc3dvcmQgcmVtaW5k ZXI6PC9oND48c2VjdGlvbiBpZD0iZm9yZ290UGFzc3dvcmRfMF9zZWN0aW9u Ij48ZGl2IGNsYXNzPSJmb3Jnb3RQYXNzd29yZF9jb250YWluZXIgZm9yZ290 UGFzc3dvcmRGb3JtQ29udGFpbmVyIiBpZD0iZm9yZ290UGFzc3dvcmRGb3Jt XzFfY29udGFpbmVyIj48Zm9ybSBvblN1Y2Nlc3M9ImVtcHR5RnVuIiBpZD0i Zm9yZ290UGFzc3dvcmRGb3JtXzAiIG5hbWU9ImZvcmdvdFBhc3NGb3JtXzAi IG9uRXJyb3I9InVwZGF0ZVB3ZEVycm9yIiBvbnJlc3BvbnNlPSJmb3Jnb3RQ YXNzQ2FsbGJhY2siIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0 L2Zvcm0tZGF0YSIgY2xhc3M9ImFjdGlvbkZvcm0iPjxzZWN0aW9uPjxsYWJl bCBmb3I9ImZvcmdvdFBhc3N3b3JkRm9ybV8wX2VtYWlsIj5lbWFpbDwvbGFi ZWw+PGRpdiBjbGFzcz0iZm9yZ290UGFzc3dvcmRGb3JtX2VtYWlsIj48aW5w dXQgY2xhc3M9InJlcXVpcmVkIGVtYWlsIiBpZD0iZm9yZ290UGFzc3dvcmRG b3JtXzBfZW1haWwiIG5hbWU9ImFjdGlvbi5wcm9wc1tlbWFpbF0iIHR5cGU9 ImVtYWlsIi8+PC9kaXY+PC9zZWN0aW9uPjxzZWN0aW9uPjxpbnB1dCBjbGFz cz0iYnV0dG9uIHByaW1hcnkgZm9yZ290UGFzc3dvcmRGb3JtX3N1Ym1pdCAg YnRuIGJ0bi1wcmltYXJ5IiB2YWx1ZT0icmVzZXQgcGFzc3dvcmQiIHR5cGU9 InN1Ym1pdCIvPjxpbnB1dCB2YWx1ZT0iY29yZS5Gb3Jnb3RQYXNzd29yZEFj dGlvbiIgbmFtZT0iYWN0aW9uLm5hbWUiIHR5cGU9ImhpZGRlbiIvPjwvc2Vj dGlvbj48L2Zvcm0+PC9kaXY+PC9zZWN0aW9uPjwvZGl2PjwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2NvbWJpbmVS ZXNvdXJjZXMvNTNiM2M5YTQ5OWRhOTgwMC5qcyIgY2hhcnNldD0idXRmLTgi IHR5cGU9InRleHQvamF2YXNjcmlwdCIgPiA8IS0tIC0tPiA8L3NjcmlwdD48 bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBjaGFyc2V0 PSJ1dGYtOCIgIGhyZWY9Ii9yZXNvdXJjZXMvY29tYmluZVJlc291cmNlcy9m M2JjZmU4MGQ0NGNkYTY4LmNzcyIgLz48c2NyaXB0IGlkPSJ3ZWxjb21lVGV4 dFRtcGwiIHR5cGU9InRleHQvaHRtbCI+CiAgICAgIDxzcGFuPldlbGNvbWUg PGVtPjxhIGhyZWY9IjwlPSB1cmwgJT4iPjwlPSBuYW1lICU+PC9hPjwvZW0+ PC9zcGFuPiB8IDxhIGhyZWY9Ii9hdXRoL2xvZ291dCI+bG9nb3V0PC9hPgog ICAgPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJ ICB2YXIgX2dhcSA9IF9nYXEgfHwgW107CgkgIF9nYXEucHVzaChbJ19zZXRB Y2NvdW50JywgJ1VBLTEzMTEwNzMzLTExJ10pOwoJICBfZ2FxLnB1c2goWydf dHJhY2tQYWdldmlldyddKTsKCSAgCgkgIF9nYXEucHVzaChbJ19zZXREb21h aW5OYW1lJywgJ2dsb3NiZS5jb20nXSk7CgkgIAoJCgkgIChmdW5jdGlvbigp IHsKCSAgICB2YXIgZ2EgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3Jp cHQnKTsgZ2EudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOyBnYS5hc3luYyA9 IHRydWU7CgkgICAgZ2Euc3JjID0gKCdodHRwczonID09IGRvY3VtZW50Lmxv Y2F0aW9uLnByb3RvY29sID8gJ2h0dHBzOi8vc3NsJyA6ICdodHRwOi8vd3d3 JykgKyAnLmdvb2dsZS1hbmFseXRpY3MuY29tL2dhLmpzJzsKCSAgICB2YXIg cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVsw XTsgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnYSwgcyk7CgkgIH0pKCk7 CgkvLyBDb3B5cmlnaHQgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJl c2VydmVkLgoKCSAgLyoqCgkgICAqIEBmaWxlb3ZlcnZpZXcgQSBzaW1wbGUg c2NyaXB0IHRvIGF1dG9tYXRpY2FsbHkgdHJhY2sgRmFjZWJvb2sgYW5kIFR3 aXR0ZXIKCSAgICogYnV0dG9ucyB1c2luZyBHb29nbGUgQW5hbHl0aWNzIHNv Y2lhbCB0cmFja2luZyBmZWF0dXJlLgoJICAgKiBAYXV0aG9yIGFwaS5uaWNr bUBnb29nbGUuY29tIChOaWNrIE1paGFpbG92c2tpKQoJICAgKi8KCgoJICAv KioKCSAgICogTmFtZXNwYWNlLgoJICAgKiBAdHlwZSB7T2JqZWN0fS4KCSAg ICovCgkgIHZhciBfZ2EgPSBfZ2EgfHwge307CgoKCSAgLyoqCgkgICAqIEVu c3VyZSBnbG9iYWwgX2dhcSBHb29nbGUgQW5sYXl0aWNzIHF1ZXVlIGhhcyBi ZSBpbml0aWFsaXplZC4KCSAgICogQHR5cGUge0FycmF5fQoJICAgKi8KCSAg dmFyIF9nYXEgPSBfZ2FxIHx8IFtdOwoKCgkgIC8qKgoJICAgKiBIZWxwZXIg bWV0aG9kIHRvIHRyYWNrIHNvY2lhbCBmZWF0dXJlcy4gVGhpcyBhc3N1bWVz IGFsbCB0aGUgc29jaWFsCgkgICAqIHNjcmlwdHMgLyBhcGlzIGFyZSBsb2Fk ZWQgc3luY2hyb25vdXNseS4gSWYgdGhleSBhcmUgbG9hZGVkIGFzeW5jLAoJ ICAgKiB5b3UgbWlnaHQgbmVlZCB0byBhZGQgdGhlIG5leHR3b3JrIHNwZWNp ZmljIHRyYWNraW5nIGNhbGwgdG8gdGhlCgkgICAqIGEgY2FsbGJhY2sgb25j ZSB0aGUgbmV0d29yaydzIHNjcmlwdCBoYXMgbG9hZGVkLgoJICAgKiBAcGFy YW0ge3N0cmluZ30gb3B0X3BhZ2VVcmwgQW4gb3B0aW9uYWwgVVJMIHRvIGFz c29jaWF0ZSB0aGUgc29jaWFsCgkgICAqICAgICB0cmFja2luZyB3aXRoIGEg cGFydGljdWxhciBwYWdlLgoJICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0X3Ry YWNrZXJOYW1lIEFuIG9wdGlvbmFsIG5hbWUgZm9yIHRoZSB0cmFja2VyIG9i amVjdC4KCSAgICovCgkgIF9nYS50cmFja1NvY2lhbCA9IGZ1bmN0aW9uKG9w dF9wYWdlVXJsLCBvcHRfdHJhY2tlck5hbWUpIHsKCSAgICBfZ2EudHJhY2tG YWNlYm9vayhvcHRfcGFnZVVybCwgb3B0X3RyYWNrZXJOYW1lKTsKCSAgICBf Z2EudHJhY2tUd2l0dGVyKG9wdF9wYWdlVXJsLCBvcHRfdHJhY2tlck5hbWUp OwoJICB9OwoKCgkgIC8qKgoJICAgKiBUcmFja3MgRmFjZWJvb2sgbGlrZXMs IHVubGlrZXMgYW5kIHNlbmRzIGJ5IHN1c2NyaWJpbmcgdG8gdGhlIEZhY2Vi b29rCgkgICAqIEpTQVBJIGV2ZW50IG1vZGVsLiBOb3RlOiBUaGlzIHdpbGwg bm90IHRyYWNrIGZhY2Vib29rIGJ1dHRvbnMgdXNpbmcgdGhlCgkgICAqIGlG cmFtZSBtZXRob2QuCgkgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRfcGFnZVVy bCBBbiBvcHRpb25hbCBVUkwgdG8gYXNzb2NpYXRlIHRoZSBzb2NpYWwKCSAg ICogICAgIHRyYWNraW5nIHdpdGggYSBwYXJ0aWN1bGFyIHBhZ2UuCgkgICAq IEBwYXJhbSB7c3RyaW5nfSBvcHRfdHJhY2tlck5hbWUgQW4gb3B0aW9uYWwg bmFtZSBmb3IgdGhlIHRyYWNrZXIgb2JqZWN0LgoJICAgKi8KCSAgX2dhLnRy YWNrRmFjZWJvb2sgPSBmdW5jdGlvbihvcHRfcGFnZVVybCwgb3B0X3RyYWNr ZXJOYW1lKSB7CgkgICAgdmFyIHRyYWNrZXJOYW1lID0gX2dhLmJ1aWxkVHJh Y2tlck5hbWVfKG9wdF90cmFja2VyTmFtZSk7CgkgICAgdHJ5IHsKCSAgICAg IGlmIChGQiAmJiBGQi5FdmVudCAmJiBGQi5FdmVudC5zdWJzY3JpYmUpIHsK CSAgICAgICAgRkIuRXZlbnQuc3Vic2NyaWJlKCdlZGdlLmNyZWF0ZScsIGZ1 bmN0aW9uKHRhcmdldFVybCkgewoJICAgICAgICAgIF9nYXEucHVzaChbdHJh Y2tlck5hbWUgKyAnX3RyYWNrU29jaWFsJywgJ2ZhY2Vib29rJywgJ2xpa2Un LAoJICAgICAgICAgICAgICB0YXJnZXRVcmwsIG9wdF9wYWdlVXJsXSk7Cgkg ICAgICAgIH0pOwoJICAgICAgICBGQi5FdmVudC5zdWJzY3JpYmUoJ2VkZ2Uu cmVtb3ZlJywgZnVuY3Rpb24odGFyZ2V0VXJsKSB7CgkgICAgICAgICAgX2dh cS5wdXNoKFt0cmFja2VyTmFtZSArICdfdHJhY2tTb2NpYWwnLCAnZmFjZWJv b2snLCAndW5saWtlJywKCSAgICAgICAgICAgICAgdGFyZ2V0VXJsLCBvcHRf cGFnZVVybF0pOwoJICAgICAgICB9KTsKCSAgICAgICAgRkIuRXZlbnQuc3Vi c2NyaWJlKCdtZXNzYWdlLnNlbmQnLCBmdW5jdGlvbih0YXJnZXRVcmwpIHsK CSAgICAgICAgICBfZ2FxLnB1c2goW3RyYWNrZXJOYW1lICsgJ190cmFja1Nv Y2lhbCcsICdmYWNlYm9vaycsICdzZW5kJywKCSAgICAgICAgICAgICAgdGFy Z2V0VXJsLCBvcHRfcGFnZVVybF0pOwoJICAgICAgICB9KTsKCSAgICAgIH0K CSAgICB9IGNhdGNoIChlKSB7fQoJICB9OwoKCgkgIC8qKgoJICAgKiBSZXR1 cm5zIHRoZSBub3JtYWxpemVkIHRyYWNrZXIgbmFtZSBjb25maWd1cmF0aW9u IHBhcmFtZXRlci4KCSAgICogQHBhcmFtIHtzdHJpbmd9IG9wdF90cmFja2Vy TmFtZSBBbiBvcHRpb25hbCBuYW1lIGZvciB0aGUgdHJhY2tlciBvYmplY3Qu CgkgICAqIEByZXR1cm4ge3N0cmluZ30gSWYgb3B0X3RyYWNrZXJOYW1lIGlz IHNldCwgdGhlbiB0aGUgdmFsdWUgYXBwZW5kZWQgd2l0aAoJICAgKiAgICAg YSAuIE90aGVyd2lzZSBhbiBlbXB0eSBzdHJpbmcuCgkgICAqIEBwcml2YXRl CgkgICAqLwoJICBfZ2EuYnVpbGRUcmFja2VyTmFtZV8gPSBmdW5jdGlvbihv cHRfdHJhY2tlck5hbWUpIHsKCSAgICByZXR1cm4gb3B0X3RyYWNrZXJOYW1l ID8gb3B0X3RyYWNrZXJOYW1lICsgJy4nIDogJyc7CgkgIH07CgoKCSAgLyoq CgkgICAqIFRyYWNrcyBldmVyeXRpbWUgYSB1c2VyIGNsaWNrcyBvbiBhIHR3 ZWV0IGJ1dHRvbiBmcm9tIFR3aXR0ZXIuCgkgICAqIFRoaXMgc3Vic2NyaWJl cyB0byB0aGUgVHdpdHRlciBKUyBBUEkgZXZlbnQgbWVjaGFuaXNtIHRvIGxp c3RlbiBmb3IKCSAgICogY2xpY2tzIGNvbWluZyBmcm9tIHRoaXMgcGFnZS4g RGV0YWlscyBoZXJlOgoJICAgKiBodHRwOi8vZGV2LnR3aXR0ZXIuY29tL3Bh Z2VzL2ludGVudHMtZXZlbnRzI2NsaWNrCgkgICAqIFRoaXMgbWV0aG9kIHNo b3VsZCBiZSBjYWxsZWQgb25jZSB0aGUgdHdpdHRlciBBUEkgaGFzIGxvYWRl ZC4KCSAgICogQHBhcmFtIHtzdHJpbmd9IG9wdF9wYWdlVXJsIEFuIG9wdGlv bmFsIFVSTCB0byBhc3NvY2lhdGUgdGhlIHNvY2lhbAoJICAgKiAgICAgdHJh Y2tpbmcgd2l0aCBhIHBhcnRpY3VsYXIgcGFnZS4KCSAgICogQHBhcmFtIHtz dHJpbmd9IG9wdF90cmFja2VyTmFtZSBBbiBvcHRpb25hbCBuYW1lIGZvciB0 aGUgdHJhY2tlciBvYmplY3QuCgkgICAqLwoJICBfZ2EudHJhY2tUd2l0dGVy ID0gZnVuY3Rpb24ob3B0X3BhZ2VVcmwsIG9wdF90cmFja2VyTmFtZSkgewoJ ICAgIHZhciB0cmFja2VyTmFtZSA9IF9nYS5idWlsZFRyYWNrZXJOYW1lXyhv cHRfdHJhY2tlck5hbWUpOwoJICAgIHRyeSB7CgkgICAgICBpZiAodHd0dHIg JiYgdHd0dHIuZXZlbnRzICYmIHR3dHRyLmV2ZW50cy5iaW5kKSB7CgkgICAg ICAgIHR3dHRyLmV2ZW50cy5iaW5kKCd0d2VldCcsIGZ1bmN0aW9uKGV2ZW50 KSB7CgkgICAgICAgICAgaWYgKGV2ZW50KSB7CgkgICAgICAgICAgICB2YXIg dGFyZ2V0VXJsOyAvLyBEZWZhdWx0IHZhbHVlIGlzIHVuZGVmaW5lZC4KCSAg ICAgICAgICAgIGlmIChldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0Lm5v ZGVOYW1lID09ICdJRlJBTUUnKSB7CgkgICAgICAgICAgICAgIHRhcmdldFVy bCA9IF9nYS5leHRyYWN0UGFyYW1Gcm9tVXJpXyhldmVudC50YXJnZXQuc3Jj LCAndXJsJyk7CgkgICAgICAgICAgICB9CgkgICAgICAgICAgICBfZ2FxLnB1 c2goW3RyYWNrZXJOYW1lICsgJ190cmFja1NvY2lhbCcsICd0d2l0dGVyJywg J3R3ZWV0JywKCSAgICAgICAgICAgICAgdGFyZ2V0VXJsLCBvcHRfcGFnZVVy bF0pOwoJICAgICAgICAgIH0KCSAgICAgICAgfSk7CgkgICAgICB9CgkgICAg fSBjYXRjaCAoZSkge30KCSAgfTsKCgoJICAvKioKCSAgICogRXh0cmFjdHMg YSBxdWVyeSBwYXJhbWV0ZXIgdmFsdWUgZnJvbSBhIFVSSS4KCSAgICogQHBh cmFtIHtzdHJpbmd9IHVyaSBUaGUgVVJJIGZyb20gd2hpY2ggdG8gZXh0cmFj dCB0aGUgcGFyYW1ldGVyLgoJICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1O YW1lIFRoZSBuYW1lIG9mIHRoZSBxdWVyeSBwYXJhbWF0ZXIgdG8gZXh0cmFj dC4KCSAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgdW4tZW5jb2RlZCB2YWx1 ZSBvZiB0aGUgcXVlcnkgcGFyYW1hdGVyLiB1bmRlcmZpbmVkCgkgICAqICAg ICBpZiB0aGVyZSBpcyBubyBVUkkgcGFyYW1ldGVyLgoJICAgKiBAcHJpdmF0 ZQoJICAgKi8KCSAgX2dhLmV4dHJhY3RQYXJhbUZyb21VcmlfID0gZnVuY3Rp b24odXJpLCBwYXJhbU5hbWUpIHsKCSAgICBpZiAoIXVyaSkgewoJICAgICAg cmV0dXJuOwoJICAgIH0KCSAgICB2YXIgdXJpID0gdXJpLnNwbGl0KCcjJylb MF07ICAvLyBSZW1vdmUgYW5jaG9yLgoJICAgIHZhciBwYXJ0cyA9IHVyaS5z cGxpdCgnPycpOyAgLy8gQ2hlY2sgZm9yIHF1ZXJ5IHBhcmFtcy4KCSAgICBp ZiAocGFydHMubGVuZ3RoID09IDEpIHsKCSAgICAgIHJldHVybjsKCSAgICB9 CgkgICAgdmFyIHF1ZXJ5ID0gZGVjb2RlVVJJKHBhcnRzWzFdKTsKCgkgICAg Ly8gRmluZCB1cmwgcGFyYW0uCgkgICAgcGFyYW1OYW1lICs9ICc9JzsKCSAg ICB2YXIgcGFyYW1zID0gcXVlcnkuc3BsaXQoJyYnKTsKCSAgICBmb3IgKHZh ciBpID0gMCwgcGFyYW07IHBhcmFtID0gcGFyYW1zW2ldOyArK2kpIHsKCSAg ICAgIGlmIChwYXJhbS5pbmRleE9mKHBhcmFtTmFtZSkgPT09IDApIHsKCSAg ICAgICAgcmV0dXJuIHVuZXNjYXBlKHBhcmFtLnNwbGl0KCc9JylbMV0pOwoJ ICAgICAgfQoJICAgIH0KCSAgICByZXR1cm47CgkgIH07CgkgIAoJPC9zY3Jp cHQ+PC9ib2R5PjwvaHRtbD4= http_version: '1.1' recorded_at: Fri, 01 Feb 2013 22:11:01 GMT - request: method: get uri: http://glosbe.com/en/pl/asdfff body: encoding: US-ASCII string: '' headers: accept: - ! '*/*' user-agent: - Ruby response: status: code: 404 message: Not Found headers: server: - nginx/1.0.15 date: - Fri, 01 Feb 2013 22:09:48 GMT content-type: - text/html;charset=UTF-8 transfer-encoding: - chunked connection: - keep-alive content-language: - en-US vary: - Accept-Encoding body: encoding: ASCII-8BIT string: !binary |- PCFET0NUWVBFIEhUTUwgU1lTVEVNICJhYm91dDpsZWdhY3ktY29tcGF0Ij4K PGh0bWwgbGFuZz0iZW4iPjxoZWFkPgogIAogICAgPCEtLVtpZiBsdCBJRSA5 XT4KICAgICAgPHNjcmlwdCBzcmM9Imh0dHA6Ly9odG1sNXNoaXYuZ29vZ2xl Y29kZS5jb20vc3ZuL3RydW5rL2h0bWw1LmpzIj48L3NjcmlwdD4KICAgIDwh W2VuZGlmXS0tPgogIAogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz48bWV0 YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIGh0dHAtZXF1 aXY9IkNvbnRlbnQtVHlwZSIvPjxtZXRhIGNvbnRlbnQ9IndpZHRoPWRldmlj ZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIG5hbWU9InZpZXdwb3J0Ii8+ PG1ldGEgY29udGVudD0iJmNvcHk7IDIwMTMgQ2xvdWQgSW5zaWRlIiBuYW1l PSJjb3B5cmlnaHQiLz48bWV0YSBjb250ZW50PSJTS1lQRV9UT09MQkFSX1BB UlNFUl9DT01QQVRJQkxFIiBuYW1lPSJTS1lQRV9UT09MQkFSIi8+PG1ldGEg Y29udGVudD0iZW4iIGlkPSJYLUFjYy1MYW5nIiBuYW1lPSJYLUFjYy1MYW5n Ii8+PG1ldGEgdmFsdWU9Im5vdHJhbnNsYXRlIiBuYW1lPSJnb29nbGUiLz48 bWV0YSBjb250ZW50PSJlbiIgaWQ9IlgtZnJvbUxhbmciIG5hbWU9IlgtZnJv bUxhbmciLz48bWV0YSBjb250ZW50PSJwbCIgaWQ9IlgtZGVzdExhbmciIG5h bWU9IlgtZGVzdExhbmciLz48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9 InRleHQvY3NzIiBjaGFyc2V0PSJ1dGYtOCIgIGhyZWY9Ii9yZXNvdXJjZXMv Y29tYmluZVJlc291cmNlcy82YWY1ZDYxNWE1MDdkOWQwLmNzcyIgLz48c2Ny aXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KICAgICAgd2luZG93LmRlZmF1 bHRTZWFyY2hNc2cgPSAiIjsKICAgICAgd2luZG93LnNpdGVVcmwgPSAiLyI7 CiAgICAgIHdpbmRvdy5leGVjdXRpb25Db250ZXh0ID0gIi8iOwogICAgICB3 aW5kb3cuc2l0ZUhvc3QgPSAiZ2xvc2JlLmNvbSI7CiAgICAgIHdpbmRvdy5s b2NhbGVDb2RlMiA9ICJlbiI7CiAgICAgIHdpbmRvdy5sb2NhbGVDb2RlMyA9 ICJlbmciOwogICAgICB3aW5kb3cubG9nZ2VkPWZhbHNlOwogICAgICB3aW5k b3cuZmJTdmNVcmwgPSAnL2ZiU3ZjL2FjdGlvbic7CiAgICA8L3NjcmlwdD48 bWV0YSBjb250ZW50PSJlbixlbixwbCIgaHR0cC1lcXVpdj0iY29udGVudC1s YW5ndWFnZSIvPjxsaW5rIGhyZWY9Ii9yZXNvdXJjZXMvcmVzb3VyY2VzX2lt Zy9mYXZpY29uLnBuZyIgcmVsPSJzaG9ydGN1dCBpY29uIi8+PHNjcmlwdCB0 eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICB3aW5kb3cuZ29vZ2xlX2Fu YWx5dGljc191YWNjdCA9ICJVQS0xMzExMDczMy0xMSI7CiAgICA8L3Njcmlw dD4KICAgIAogICAgPCEtLVtpZiBsdCBJRSA3XT4gPGxpbmsgaHJlZj0iIiB0 eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0Ii8+IDwhW2VuZGlmXS0t PgogICAgCgoKICA8dGl0bGU+QXNkZmZmIGluIFBvbGlzaCwgdHJhbnNsYXRp b24sIG1lYW5pbmcsIGRlZmluaXRpb24sIERpY3Rpb25hcnkgRW5nbGlzaCBQ b2xpc2g8L3RpdGxlPjxtZXRhIGNvbnRlbnQ9ImFzZGZmZixFbmdsaXNoLFBv bGlzaCxkaWN0aW9uYXJ5LHRyYW5zbGF0aW9uIiBuYW1lPSJrZXl3b3JkcyIv PjxtZXRhIGNvbnRlbnQ9ImFzZGZmZiB0cmFuc2xhdGlvbiBpbiBFbmdsaXNo LVBvbGlzaCBkaWN0aW9uYXJ5IiBuYW1lPSJkZXNjcmlwdGlvbiIvPjxsaW5r IGhyZWY9Imh0dHA6Ly9lbi5nbG9zYmUuY29tL2VuL3BsL2FzZGZmZiIgaHJl Zmxhbmc9ImVuLXVzIiByZWw9ImFsdGVybmF0ZSIvPjxsaW5rIGhyZWY9Imh0 dHA6Ly9wbC5nbG9zYmUuY29tL2VuL3BsL2FzZGZmZiIgaHJlZmxhbmc9InBs IiByZWw9ImFsdGVybmF0ZSIvPjxtZXRhIGNvbnRlbnQ9IndlYnNpdGUiIHBy b3BlcnR5PSJvZzp0eXBlIi8+PG1ldGEgY29udGVudD0iaHR0cDovL2dsb3Ni ZS5jb20iIHByb3BlcnR5PSJvZzp1cmwiLz4KICAgIDwhLS0gaHR0cDovL2ds b3NiZS5jb20tLT4KICA8bWV0YSBjb250ZW50PSJodHRwOi8vZ2xvc2JlLmNv bS9mYl9sb2dvLnBuZyIgcHJvcGVydHk9Im9nOmltYWdlIi8+PG1ldGEgY29u dGVudD0iR2xvc2JlIiBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIi8+PG1ldGEg Y29udGVudD0iNjY4OTkxNzY3LDE2NTIyMzUxODIiIHByb3BlcnR5PSJmYjph ZG1pbnMiLz48bWV0YSBjb250ZW50PSIyNzA2NzMzNDk2MTQyMzciIHByb3Bl cnR5PSJmYjphcHBfaWQiLz48bGluayByZWw9InB1Ymxpc2hlciIgaHJlZj0i aHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vMTE1NjE1Mzg5NDY4NzU1OTE4NTMz Ii8+PG1ldGEgY29udGVudD0iZW5fVVMiIHByb3BlcnR5PSJvZzpsb2NhbGUi Lz48bWV0YSBjb250ZW50PSJwbF9QTCIgcHJvcGVydHk9Im9nOmxvY2FsZTph bHRlcm5hdGUiLz48bWV0YSBjb250ZW50PSJlbl9VUyIgcHJvcGVydHk9Im9n OmxvY2FsZTphbHRlcm5hdGUiLz48bGluayBocmVmPSIvT3BlblNlYXJjaC5h c3B4P2Zyb209ZW4mZGVzdD1wbCIgdGl0bGU9IkRpY3Rpb25hcnkgKEVuZ2xp c2gg4oaSIFBvbGlzaCkiIHR5cGU9ImFwcGxpY2F0aW9uL29wZW5zZWFyY2hk ZXNjcmlwdGlvbit4bWwiIHJlbD0ic2VhcmNoIi8+PHNjcmlwdCB0eXBlPSJ0 ZXh0L2phdmFzY3JpcHQiPgogIHdpbmRvdy5mYmVhdmVyID0ge307CiAgd2lu ZG93LmZiZWF2ZXIuc2NyaXB0c1RvTG9hZEFmdGVySW5pdCA9IFtdOwogIGZ1 bmN0aW9uIGxvYWRBZnRlckluaXQoc2NyaXB0SWRPclVybCkgewoJICB3aW5k b3cuZmJlYXZlci5zY3JpcHRzVG9Mb2FkQWZ0ZXJJbml0LnB1c2goc2NyaXB0 SWRPclVybCk7CiAgfSAKIDwvc2NyaXB0PjwvaGVhZD48Ym9keT48ZGl2IGNs YXNzPSJuYXZiYXIgbmF2YmFyLWludmVyc2UgaGVhZGVyTmF2YmFyIj48ZGl2 IGNsYXNzPSJuYXZiYXItaW5uZXIiPjxkaXYgY2xhc3M9ImNvbnRhaW5lciI+ PGEgZGF0YS10YXJnZXQ9Ii5uYXYtY29sbGFwc2UiIGRhdGEtdG9nZ2xlPSJj b2xsYXBzZSIgY2xhc3M9ImJ0biBidG4tbmF2YmFyIj48c3BhbiBjbGFzcz0i aWNvbi1iYXIiPjwvc3Bhbj48c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bh bj48c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj48L2E+PGEgaWQ9Imxv Z28iIGNsYXNzPSJicmFuZCIgaHJlZj0iLyI+PHNwYW4+R2xvc2JlPC9zcGFu PiZuYnNwOzwvYT48ZGl2IGNsYXNzPSJuYXYtY29sbGFwc2UgY29sbGFwc2Ui Pjx1bCBjbGFzcz0ibmF2Ij48bGkgY2xhc3M9ImFjdGl2ZSI+PGEgaHJlZj0i LyI+SG9tZTwvYT48L2xpPjxsaT48YSBocmVmPSIvYWJvdXQiPkFib3V0PC9h PjwvbGk+PGxpPjxhIGhyZWY9Ii9jb250YWN0Ij5Db250YWN0PC9hPjwvbGk+ PGxpPjxhIGhyZWY9Ii9kb25hdGUiPkRvbmF0ZTwvYT48L2xpPjwvdWw+PHVs IGlkPSJsb2dpbkxpbmtzTmF2Q29udGFpbmVyIiBjbGFzcz0ibmF2Ij48bGk+ PGRpdiBpZD0ibG9jYWxlQ2hhbmdlQ29udGFpbmVyIj48ZGl2IGRhdGEtYWRk aXRpb25hbC1idG5jbGFzcz0iYnRuLXNtYWxsIGJ0bi1pbnZlcnNlIiBjbGFz cz0iZmxhdE1lbnVCdXR0b24iPjxzZWxlY3QgZm1fY29sdW1ucz0iNiIgZm1f bW9yZT0iZmFsc2UiIGlkPSJsb2NhbGVDaGFuZ2UiIGNsYXNzPSJmbGF0TWVu dUJveCI+PG9wdGlvbiB2YWx1ZT0iYWYiPmFmcmlrYWFuczwvb3B0aW9uPjxv cHRpb24gdmFsdWU9InNxIj5hbGJhbmlhbjwvb3B0aW9uPjxvcHRpb24gdmFs dWU9ImFyIj5hcmFiaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJoeSI+YXJt ZW5pYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJheiI+YXplcmJhaWphbmk8 L29wdGlvbj48b3B0aW9uIHZhbHVlPSJldSI+YmFzcXVlPC9vcHRpb24+PG9w dGlvbiB2YWx1ZT0iYmUiPmJlbGFydXNpYW48L29wdGlvbj48b3B0aW9uIHZh bHVlPSJibiI+YmVuZ2FsaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImJnIj5i dWxnYXJpYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJteSI+YnVybWVzZTwv b3B0aW9uPjxvcHRpb24gdmFsdWU9ImNhIj5jYXRhbGFuPC9vcHRpb24+PG9w dGlvbiB2YWx1ZT0iemgiPmNoaW5lc2U8L29wdGlvbj48b3B0aW9uIHZhbHVl PSJociI+Y3JvYXRpYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJjcyI+Y3pl Y2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJkYSI+ZGFuaXNoPC9vcHRpb24+ PG9wdGlvbiB2YWx1ZT0ibmwiPmR1dGNoPC9vcHRpb24+PG9wdGlvbiBzZWxl Y3RlZD0idHJ1ZSIgdmFsdWU9ImVuIj5lbmdsaXNoPC9vcHRpb24+PG9wdGlv biB2YWx1ZT0iZXQiPmVzdG9uaWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0i ZmkiPmZpbm5pc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJmciI+ZnJlbmNo PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZ2wiPmdhbGljaWFuPC9vcHRpb24+ PG9wdGlvbiB2YWx1ZT0ia2EiPmdlb3JnaWFuPC9vcHRpb24+PG9wdGlvbiB2 YWx1ZT0iZGUiPmdlcm1hbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Imd1Ij5n dWphcmF0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Imh0Ij5oYWl0aWFuPC9v cHRpb24+PG9wdGlvbiB2YWx1ZT0iaGUiPmhlYnJldzwvb3B0aW9uPjxvcHRp b24gdmFsdWU9ImhpIj5oaW5kaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Imh1 Ij5odW5nYXJpYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJpcyI+aWNlbGFu ZGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iaWQiPmluZG9uZXNpYW48L29w dGlvbj48b3B0aW9uIHZhbHVlPSJnYSI+aXJpc2g8L29wdGlvbj48b3B0aW9u IHZhbHVlPSJpdCI+aXRhbGlhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Imph Ij5qYXBhbmVzZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImtuIj5rYW5uYWRh PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ia28iPmtvcmVhbjwvb3B0aW9uPjxv cHRpb24gdmFsdWU9Imx2Ij5sYXR2aWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1 ZT0ibHQiPmxpdGh1YW5pYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtayI+ bWFjZWRvbmlhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Im1zIj5tYWxheTwv b3B0aW9uPjxvcHRpb24gdmFsdWU9Im10Ij5tYWx0ZXNlPC9vcHRpb24+PG9w dGlvbiB2YWx1ZT0iZWwiPm1vZGVybiBncmVlazwvb3B0aW9uPjxvcHRpb24g dmFsdWU9Im5iIj5ub3J3ZWdpYW4gYm9rbcOlbDwvb3B0aW9uPjxvcHRpb24g dmFsdWU9ImZhIj5wZXJzaWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icGwi PnBvbGlzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InB0Ij5wb3J0dWd1ZXNl PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icm8iPnJvbWFuaWFuPC9vcHRpb24+ PG9wdGlvbiB2YWx1ZT0icnUiPnJ1c3NpYW48L29wdGlvbj48b3B0aW9uIHZh bHVlPSJzciI+c2VyYmlhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InNrIj5z bG92YWs8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJzbCI+c2xvdmVuaWFuPC9v cHRpb24+PG9wdGlvbiB2YWx1ZT0iZXMiPnNwYW5pc2g8L29wdGlvbj48b3B0 aW9uIHZhbHVlPSJzdyI+c3dhaGlsaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9 InN2Ij5zd2VkaXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0idGwiPnRhZ2Fs b2c8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0YSI+dGFtaWw8L29wdGlvbj48 b3B0aW9uIHZhbHVlPSJ0ZSI+dGVsdWd1PC9vcHRpb24+PG9wdGlvbiB2YWx1 ZT0idGgiPnRoYWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJ0ciI+dHVya2lz aDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InVrIj51a3JhaW5pYW48L29wdGlv bj48b3B0aW9uIHZhbHVlPSJ1ciI+dXJkdTwvb3B0aW9uPjxvcHRpb24gdmFs dWU9InZpIj52aWV0bmFtZXNlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY3ki PndlbHNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ieWkiPnlpZGRpc2g8L29w dGlvbj48L3NlbGVjdD48c2NyaXB0IGNsYXNzPSJmYmVhdmVyTG9hZEFmdGVy SW5pdCIgdHlwZT0idGV4dC9odG1sIj4KICAgICAgICAkKGRvY3VtZW50KS5y ZWFkeShmdW5jdGlvbigpIHsKICAgICAgICAgICQoIiNsb2NhbGVDaGFuZ2Ui KS5jaGFuZ2UoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHNldENvb2tpZSgn bG9jYWxlJywgJCh0aGlzKS52YWwoKSwzNjUsd2luZG93LnNpdGVIb3N0KTsK ICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7CiAgICAgICAgICB9KTsK ICAgICAgICB9KTsgICAgICAgICAgICAgICAgICAKICAgICAgPC9zY3JpcHQ+ PC9kaXY+PC9kaXY+PC9saT48bGk+PHAgaWQ9ImxvZ2luTGlua3NDb250YWlu ZXIiIGNsYXNzPSJuYXZiYXItdGV4dCI+PGEgaWQ9ImxvZ2luV2luZG93VHJp Z2dlciIgZGF0YS10b2dnbGU9Im1vZGFsIiBjbGFzcz0ibmF2YmFyLWxpbmsg IiByb2xlPSJidXR0b24iIGhyZWY9IiNsb2dpbkNvbnRhaW5lciI+TG9nIGlu PC9hPjwvcD48L2xpPjwvdWw+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRp diBjbGFzcz0iY29udGFpbmVyIj48dWwgY2xhc3M9InNvY2lhbEJ1dHRvbnND b250YWluZXIiPjxsaT48ZGl2IGNsYXNzPSJzb2NpYWxCdXR0b24iPjxnOnBs dXNvbmUgY2FsbGJhY2s9InBsdXNvbmVWb3RlIiBocmVmPSJodHRwOi8vZ2xv c2JlLmNvbSIgc2l6ZT0iIj48L2c6cGx1c29uZT48c2NyaXB0IGNsYXNzPSJm YmVhdmVyTG9hZEFmdGVySW5pdCIgdHlwZT0idGV4dC9odG1sIj4KCSAgICAg ZnVuY3Rpb24gcGx1c29uZVZvdGUob2JqKSB7CgkgICAgICAgX2dhcS5wdXNo KFsnX3RyYWNrRXZlbnQnLCdwbHVzT25lJyxvYmouc3RhdGUsIGRvY3VtZW50 LmxvY2F0aW9uLmhyZWZdKTsKCSAgICAgfQoJICAgIAoJICAgICAgCgkJCXZh ciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNvY2lhbEJ1dHRvbnMi KTsJCQkJCQoJCQl2YXIgZ3BMb2FkZWQgPSBmYWxzZTsKCQkJJCggLy8iI3Nv Y2lhbEJ1dHRvbnMiKS5iaW5kKCdrZXlwcmVzcycsIAoJCQkJCWZ1bmN0aW9u KGUpIHsKCQkJCWlmKGdwTG9hZGVkKSByZXR1cm47CgkJCQllbHNlIGdwTG9h ZGVkID0gdHJ1ZTsKCQkJICAgIHZhciBwbyA9IGRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoJ3NjcmlwdCcpOyBwby50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7 IHBvLmFzeW5jID0gdHJ1ZTsKCQkJICAgIHBvLnNyYyA9ICdodHRwczovL2Fw aXMuZ29vZ2xlLmNvbS9qcy9wbHVzb25lLmpzJzsKCQkJICAgIHZhciBzID0g ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOyBz LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHBvLCBzKTsJICAKCQkJfSxmYWxz ZSk7CQoJCQkKCQk8L3NjcmlwdD48L2Rpdj48L2xpPjxsaT48ZGl2IGlkPSJ0 d2l0dGVyQnRuIiBjbGFzcz0ic29jaWFsQnV0dG9uIj48YSByZWw9Im5vZm9s bG93IiBjbGFzcz0idHdpdHRlci1zaGFyZS1idXR0b24iIGRhdGEtdXJsPSJo dHRwOi8vZ2xvc2JlLmNvbSIgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3No YXJlIj5Ud2VldDwvYT48c2NyaXB0IGNsYXNzPSJmYmVhdmVyTG9hZEFmdGVy SW5pdCIgaWQ9InR3aXR0ZXJCdXR0b25TY3JpcHQiIHR5cGU9InRleHQvaHRt bCI+CgkJCXZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNvY2lh bEJ1dHRvbnMiKTsKCQkJdmFyIHR3TG9hZGVkID0gZmFsc2U7CgkJCSQoLy8i I3NvY2lhbEJ1dHRvbnMiKS5iaW5kKCdrZXlwcmVzcycsIAoJCQkJCWZ1bmN0 aW9uKGUpIHsKCQkJCWlmKHR3TG9hZGVkKSByZXR1cm47CgkJCQllbHNlIHR3 TG9hZGVkID0gdHJ1ZTsKCQkJCXZhciBzVHdpdCA9IGRvY3VtZW50LmNyZWF0 ZUVsZW1lbnQoJ1NDUklQVCcpOwoJCQkJdmFyIGNUd2l0ID0gJCgiI3R3aXR0 ZXJCdG4iKTsKCQkJCXNUd2l0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsK CQkJCXNUd2l0LmFzeW5jID0gdHJ1ZTsKCQkJCXNUd2l0LnNyYyA9ICdodHRw Oi8vcGxhdGZvcm0udHdpdHRlci5jb20vd2lkZ2V0cy5qcyc7CgkJCQkKCQkJ CQoJCQkJY1R3aXQuYXBwZW5kKHNUd2l0KTsKCQkJfSwgZmFsc2UpOwoJCTwv c2NyaXB0PjwvZGl2PjwvbGk+PGxpPjxkaXYgY2xhc3M9InNvY2lhbEJ1dHRv biBmYiI+PGRpdiBpZD0iZmItcm9vdCI+PC9kaXY+PHNjcmlwdCBjbGFzcz0i ZmJlYXZlckxvYWRBZnRlckluaXQiIHR5cGU9InRleHQvaHRtbCI+CgkJCXZh ciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNvY2lhbEJ1dHRvbnMi KTsKCQkJdmFyIGZiTG9hZGVkID0gZmFsc2U7CgkJCXdpbmRvdy5vbmxvYWQg PSAKCQkJCQkvLyIjc29jaWFsQnV0dG9ucyIpLmJpbmQoJ2tleXByZXNzJywg CgkJCQlmdW5jdGlvbihlKSB7CgkJCQlpZihmYkxvYWRlZCkgcmV0dXJuOwoJ CQkJZWxzZSBmYkxvYWRlZCA9IHRydWU7CgoJCQkJdmFyIGUgPSBkb2N1bWVu dC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKCQkJCWUuYXN5bmMgPSB0cnVl OwoJCQkJZS5zcmMgPSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbAoJCQkJ CQkrICcvL2Nvbm5lY3QuZmFjZWJvb2submV0L2VuX1VTL2FsbC5qcyN4ZmJt bD0xJzsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmYi1yb290Jyku YXBwZW5kQ2hpbGQoZSk7CgkJCQkKCQkJCQoJCQkJCQkKCQkJfQoJCQkKCSAg CgkJCS8vdmFyIHRtcCA9IHdpbmRvdy5mYkFzeW5jSW5pdDsKCQkJd2luZG93 LmZiQXN5bmNJbml0ID0gZnVuY3Rpb24oKSB7CgkJCQkgIEZCLmluaXQoewog ICAgICAgICAgICAgYXBwSWQ6ICcyNzA2NzMzNDk2MTQyMzcnLCBjaGFubmVs VXJsOiAnaHR0cDovL2dsb3NiZS5jb20vZmIvY2hhbm5lbC5odG1sJywgeGZi bWw6IHRydWUKICAgICAgICAgIH0pOwoKCQkJCSBfZ2EudHJhY2tGYWNlYm9v aygpOwoJCQkJIAoJCQkJIEZCLkV2ZW50LnN1YnNjcmliZSgnZWRnZS5jcmVh dGUnLCBmdW5jdGlvbihocmVmLCB3aWRnZXQpIHsKCQkJICAgICBfZ2FxLnB1 c2goWydfdHJhY2tFdmVudCcsJ2ZhY2Vib29rTGlrZScsICdsaWtlJywgaHJl Zl0pOwoJCQkgICB9KTsKCQkgICAgIAoJCQkJIEZCLkV2ZW50LnN1YnNjcmli ZSgnZWRnZS5yZW1vdmUnLCBmdW5jdGlvbihocmVmLCB3aWRnZXQpIHsKCQkg ICAgICAgX2dhcS5wdXNoKFsnX3RyYWNrRXZlbnQnLCdmYWNlYm9va0xpa2Un LCAndW5saWtlJywgaHJlZl0pOwoJCSAgICAgfSk7Ci8qCgkJCSAgIGlmICh0 bXApIHsKCQkJICAgICB0bXAoKTsKCQkJICAgfSovCgkJCX0KCQk8L3Njcmlw dD48ZGl2IGRhdGEtc2hvdy1mYWNlcz0iZmFsc2UiIGRhdGEtd2lkdGg9Ijgw IiBkYXRhLWxheW91dD0iYnV0dG9uX2NvdW50IiBkYXRhLXNlbmQ9ImZhbHNl IiBkYXRhLWhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3BhZ2VzL0ds b3NiZS8yMDU0MzAxODYxODIxMDQiIGNsYXNzPSJmYi1saWtlIj48L2Rpdj48 L2Rpdj48L2xpPjwvdWw+PGRpdiBjbGFzcz0iYnJlYWRjcnVtYiI+PGRpdiB4 bWxuczp2PSJodHRwOi8vcmRmLmRhdGEtdm9jYWJ1bGFyeS5vcmcvIyI+PHNw YW4gdHlwZW9mPSJ2OkJyZWFkY3J1bWIiIGNsYXNzPSIiPjxhIGhyZWY9Ii8i IHJlbD0idjp1cmwiIHByb3BlcnR5PSJ2OnRpdGxlIj5EaWN0aW9uYXJ5PC9h PjxzcGFuIGNsYXNzPSJkaXZpZGVyIj4vPC9zcGFuPjxzcGFuIHJlbD0idjpj aGlsZCI+PHNwYW4gdHlwZW9mPSJ2OkJyZWFkY3J1bWIiIGNsYXNzPSIiPjxh IGhyZWY9Ii9lbi9wbC8iIHJlbD0idjp1cmwiIHByb3BlcnR5PSJ2OnRpdGxl Ij5EaWN0aW9uYXJ5IEVuZ2xpc2ggUG9saXNoPC9hPjwvc3Bhbj48L3NwYW4+ PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9IndpZHRoOiA3MjhweDsg aGVpZ2h0OiA5MHB4OyIgaWQ9ImFkX3RvcEJhbm5lciIgY2xhc3M9ImFkQ29u dGFpbmVyIj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAg ICAgZ29vZ2xlX2FkX2NsaWVudCA9ICdjYS1wdWItMzMxNDY2MjI2MTM5NDgx Nic7CiAgICAgICAgZ29vZ2xlX2FkX3Nsb3QgPSAnMTE2ODc0MzEwMSc7CiAg ICAgICAgZ29vZ2xlX2FkX3dpZHRoID0gNzI4OwogICAgICAgIGdvb2dsZV9h ZF9oZWlnaHQgPSA5MDsKICAgICAgPC9zY3JpcHQ+PHNjcmlwdCBzcmM9Imh0 dHA6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hv d19hZHMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9k aXY+PC9kaXY+PGRpdiBjbGFzcz0iY29udGFpbmVyIj48ZGl2IGNsYXNzPSJy b3ctZmx1aWQiPjxkaXYgY2xhc3M9InNwYW4zIj48ZGl2IGNsYXNzPSJzaWRl YmFyLW5hdiI+PGRpdiBjbGFzcz0idmlzaWJsZS1waG9uZSIgaWQ9Imxhbmd1 YWdlU3dhcFBob25lIj48c3Ryb25nPgogICAgICAgIEVuZ2xpc2ggCiAgICAg ICAgLSAgICAgIAogICAgICAgIFBvbGlzaAogICAgICAgIDwvc3Ryb25nPjxh IHRpdGxlPSJQb2xpc2ggRW5nbGlzaCIgY2xhc3M9ImJ0biBidG4tbWluaSBw dWxsLXJpZ2h0IiBocmVmPSIvcGwvZW4iPgogICAgICAgIFBvbGlzaAogICAg ICAgIDxpIGNsYXNzPSJpY29uLXJlc2l6ZS1ob3Jpem9udGFsIj48L2k+CiAg ICAgICAgRW5nbGlzaAogICAgICA8L2E+PC9kaXY+PGRpdiBjbGFzcz0ic2Vh cmNoQm94U21hbGwgd2VsbCAiIGRpcj0ibHRyIiBpZD0ic2VhcmNoX2JhciI+ PGRpdiBjbGFzcz0iaW5wdXQtYXBwZW5kIiBpZD0ic2VhcmNoX2NvbnRhaW5l ciI+PGZvcm0gbWV0aG9kPSJnZXQiIGFjdGlvbj0iL2VuL3BsIj48aW5wdXQg aWQ9IndvcmRpbnB1dCIgbmFtZT0icSIgcGxhY2Vob2xkZXI9IkVuZ2xpc2gg LSBQb2xpc2ggRGljdGlvbmFyeSIgbWF4bGVuZ3RoPSIyMDAwIiB4LXdlYmtp dC1ncmFtbWFyPSJidWlsdGluOnNlYXJjaCIgeC13ZWJraXQtc3BlZWNoPSJ4 LXdlYmtpdC1zcGVlY2giIGF1dG9mb2N1cz0iYXV0b2ZvY3VzIiB0eXBlPSJ0 ZXh0Ii8+PGJ1dHRvbiB0aXRsZT0ic2VhcmNoIiBjbGFzcz0iYnRuIGJ0bi1w cmltYXJ5IiBpZD0ibmF2aWdhdGVUb1dvcmRCdXR0b24iPgogICAgICAgICAg ICAgICZuYnNwOzxpIGNsYXNzPSJpY29uLXNlYXJjaCBpY29uLXdoaXRlIj48 L2k+PC9idXR0b24+PC9mb3JtPjwvZGl2PjxkaXYgY2xhc3M9ImNsZWFyZml4 Ij48L2Rpdj48ZGl2IGlkPSJrZXlib2FyZF9jb250YWluZXIiPjwvZGl2Pjxh IGlucHV0PSIiIGZyb209IiIgbGFuZz0iZW4iIGNsYXNzPSJjc3NidXR0b24g Y3NzYnV0dG9uLXNtYWxsIGtleWJvYXJkIiB0aXRsZT0ic2hvdyBvbmxpbmUg a2V5Ym9hcmQsIEVuZ2xpc2giIGhyZWY9ImphdmFzY3JpcHQ6OyI+PGltZyBh bHQ9Ik9ubGluZSBrZXlib2FyZCwgRW5nbGlzaCIgc3JjPSIvcmVzb3VyY2Vz L3Jlc291cmNlc19pbWcva2V5Ym9hcmQucG5nIi8+PC9hPjxkaXYgY2xhc3M9 InZpc2libGUtZGVza3RvcCB2aXNpYmxlLXRhYmxldCIgaWQ9Imxhbmd1YWdl U3dhcCI+CiAgICAgIEVuZ2xpc2ggCiAgICAgIDxhIHRpdGxlPSJEaWN0aW9u YXJ5IFBvbGlzaCBFbmdsaXNoIiBjbGFzcz0iYnRuIGJ0bi1taW5pIiBocmVm PSIvcGwvZW4iPjxpIGNsYXNzPSJpY29uLXJlc2l6ZS1ob3Jpem9udGFsIj48 L2k+PC9hPiBQb2xpc2gKICAgIDwvZGl2PjwvZGl2PjxuYXY+PGRpdiBjbGFz cz0iaGlkZGVuLXBob25lIiBpZD0id29yZExpc3RXaWRnZXQiPjx1bCBsYW5n PSJlbiIgZGlyPSJsdHIiIGNsYXNzPSJuYXYgbmF2LWxpc3QiPjxsaSBjbGFz cz0iIGhpZGRlbi1waG9uZSI+PGEgdGl0bGU9ImFzY3JpYmFibGUgaW4gUG9s aXNoIiBocmVmPSIvZW4vcGwvYXNjcmliYWJsZSI+YXNjcmliYWJsZSZuYnNw OzwvYT48L2xpPjxsaSBjbGFzcz0iIGhpZGRlbi1waG9uZSI+PGEgdGl0bGU9 ImFzY3JpYmUgaW4gUG9saXNoIiBocmVmPSIvZW4vcGwvYXNjcmliZSI+YXNj cmliZSZuYnNwOzwvYT48L2xpPjxsaSBjbGFzcz0iIGhpZGRlbi1waG9uZSI+ PGEgdGl0bGU9ImFzY3JpcHRpb24gaW4gUG9saXNoIiBocmVmPSIvZW4vcGwv YXNjcmlwdGlvbiI+YXNjcmlwdGlvbiZuYnNwOzwvYT48L2xpPjxsaSBjbGFz cz0iIGhpZGRlbi1waG9uZSI+PGEgdGl0bGU9ImFzY3VzIGluIFBvbGlzaCIg aHJlZj0iL2VuL3BsL2FzY3VzIj5hc2N1cyZuYnNwOzwvYT48L2xpPjxsaSBj bGFzcz0iICI+PGEgdGl0bGU9IkFzY3V0ZSBpbiBQb2xpc2giIGhyZWY9Ii9l bi9wbC9Bc2N1dGUiPkFzY3V0ZSZuYnNwOzwvYT48L2xpPjxsaSBjbGFzcz0i ICI+PGEgdGl0bGU9IkFTRUFOIGluIFBvbGlzaCIgaHJlZj0iL2VuL3BsL0FT RUFOIj5BU0VBTiZuYnNwOzwvYT48L2xpPjxsaSBjbGFzcz0iICI+PGEgdGl0 bGU9IkFTRUFOIGNvdW50cmllcyBpbiBQb2xpc2giIGhyZWY9Ii9lbi9wbC9B U0VBTiUyMGNvdW50cmllcyI+QVNFQU4gY291bnRyaWVzJm5ic3A7PC9hPjwv bGk+PGxpIGNsYXNzPSIgIj48YSB0aXRsZT0iQVNFQU4gRnJlZSBUcmFkZSBB cmVhIGluIFBvbGlzaCIgaHJlZj0iL2VuL3BsL0FTRUFOJTIwRnJlZSUyMFRy YWRlJTIwQXJlYSI+QVNFQU4gRnJlZSBUcmFkZSBBcmVhJm5ic3A7PC9hPjwv bGk+PGxpIGNsYXNzPSIgaGlkZGVuLXBob25lIj48YSB0aXRsZT0iw4VzZWxl IE11bmljaXBhbGl0eSBpbiBQb2xpc2giIGhyZWY9Ii9lbi9wbC8lQzMlODVz ZWxlJTIwTXVuaWNpcGFsaXR5Ij7DhXNlbGUgTXVuaWNpcGFsaXR5Jm5ic3A7 PC9hPjwvbGk+PGxpIGNsYXNzPSIgaGlkZGVuLXBob25lIj48YSB0aXRsZT0i QXNlbm92Z3JhZCBpbiBQb2xpc2giIGhyZWY9Ii9lbi9wbC9Bc2Vub3ZncmFk Ij5Bc2Vub3ZncmFkJm5ic3A7PC9hPjwvbGk+PGxpIGNsYXNzPSIgaGlkZGVu LXBob25lIj48YSB0aXRsZT0iYXNlcHNpcyBpbiBQb2xpc2giIGhyZWY9Ii9l bi9wbC9hc2Vwc2lzIj5hc2Vwc2lzJm5ic3A7PC9hPjwvbGk+PGxpIGNsYXNz PSIgaGlkZGVuLXBob25lIj48YSB0aXRsZT0iYXNlcHRpYyBpbiBQb2xpc2gi IGhyZWY9Ii9lbi9wbC9hc2VwdGljIj5hc2VwdGljJm5ic3A7PC9hPjwvbGk+ PGxpIGNsYXNzPSIgaGlkZGVuLXBob25lIj48YSB0aXRsZT0iYXNlcHRpYyBw YWNrYWdpbmcgaW4gUG9saXNoIiBocmVmPSIvZW4vcGwvYXNlcHRpYyUyMHBh Y2thZ2luZyI+YXNlcHRpYyBwYWNrYWdpbmcmbmJzcDs8L2E+PC9saT48bGkg Y2xhc3M9IiBoaWRkZW4tcGhvbmUiPjxhIHRpdGxlPSJhc2VwdGljYWxseSBp biBQb2xpc2giIGhyZWY9Ii9lbi9wbC9hc2VwdGljYWxseSI+YXNlcHRpY2Fs bHkmbmJzcDs8L2E+PC9saT48bGkgY2xhc3M9IiBoaWRkZW4tcGhvbmUiPjxh IHRpdGxlPSJhc2V4dWFsIGluIFBvbGlzaCIgaHJlZj0iL2VuL3BsL2FzZXh1 YWwiPmFzZXh1YWwmbmJzcDs8L2E+PC9saT48bGkgY2xhc3M9IiBoaWRkZW4t cGhvbmUiPjxhIHRpdGxlPSJhc2V4dWFsIHJlcHJvZHVjdGlvbiBpbiBQb2xp c2giIGhyZWY9Ii9lbi9wbC9hc2V4dWFsJTIwcmVwcm9kdWN0aW9uIj5hc2V4 dWFsIHJlcHJvZHVjdGlvbiZuYnNwOzwvYT48L2xpPjwvdWw+PGRpdiBjbGFz cz0iY2xlYXJmaXgiPjwvZGl2PjwvZGl2PjwvbmF2PjwvZGl2PjwvZGl2Pjxk aXYgaWQ9InNjcm9sbFNweUNvbnRlbnQiIGRhdGEtdGFyZ2V0PSIjcGhyYXNl UGFnZU5hdiIgZGF0YS1zcHk9InNjcm9sbCIgY2xhc3M9InNwYW43Ij48ZGl2 PjxkaXYgbGFuZz0iZW4iIGlkPSJ3b3JkRGV0YWlsc0NvbnRhaW5lciIgY2xh c3M9IndvcmREZXRhaWxzIj48YXJ0aWNsZT48cD5XZSBhcmUgc29ycnksIGJ1 dCB3ZSBoYXZlIG5vIHRyYW5zbGF0aW9ucyBmb3Igd29yZCBhc2RmZmYgaW4g RW5nbGlzaCBQb2xpc2ggZGljdGlvbmFyeS4gUGxlYXNlLCBjb25zaWRlciBh ZGRpbmcgbmV3IHRyYW5zbGF0aW9uIHRvIEdsb3NiZS48L3A+PHA+PGEgcGhy YXNlPSJhc2RmZmYiIGRlc3Q9InBvbCIgZnJvbT0iZW5nIiBpZD0iYWRkLXRy YW5zbGF0aW9uLWJ1dHRvbiIgY2xhc3M9ImJ1dHRvbiBidG4gYnRuLXByaW1h cnkiIGhyZWY9Ii9hZGQtdHJhbnNsYXRpb24/bGFuZzE9ZW4mbGFuZzI9cGwm cGhyYXNlPWFzZGZmZiI+PGkgY2xhc3M9Imljb24tcGx1cyI+PC9pPiZuYnNw OwogICAgICAgICAgICBhZGQgdHJhbnNsYXRpb248L2E+PC9wPjxkaXYgaWQ9 ImFkZC10cmFuc2xhdGlvbi1jb250YWluZXIiPjwvZGl2PjxkaXYgY2xhc3M9 IndlbGwgd2VsbC1zbWFsbCIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiIGlkPSJn dC1jb250YWluZXIiPjxpbWcgd2lkdGg9IjgwIiBhbHQ9Ikdvb2dsZSBUcmFu c2xhdGUgVE0iIGNsYXNzPSJndC1sb2dvIHB1bGwtcmlnaHQiIHNyYz0iL3Jl c291cmNlcy9yZXNvdXJjZXNfaW1nL0dvb2dsZV9UcmFuc2xhdGVfbG9nby5w bmciLz48c3Ryb25nPkF1dG9tYXRpYyB0cmFuc2xhdGlvbjo8L3N0cm9uZz48 ZGl2IGxhbmc9ImVuIiBjbGFzcz0iZ29vZy10cmFucy1zZWN0aW9uIj48ZGl2 IGlkPSJndC1jb250cm9sIiBjbGFzcz0iZ29vZy10cmFucy1jb250cm9sIj48 L2Rpdj48c3BhbiBjbGFzcz0iZ3QtdGV4dCI+YXNkZmZmPC9zcGFuPjwvZGl2 PjwvZGl2PjxzY3JpcHQgY2xhc3M9ImZiZWF2ZXJMb2FkQWZ0ZXJJbml0IiB0 eXBlPSJ0ZXh0L2h0bWwiPgoJdHJ5ewoJCWZ1bmN0aW9uIGdvb2dsZVNlY3Rp b25hbEVsZW1lbnRJbml0KCkgewoJCSAgbmV3IGdvb2dsZS50cmFuc2xhdGUu U2VjdGlvbmFsRWxlbWVudCh7CgkJICAgIHNlY3Rpb25hbE5vZGVDbGFzc05h bWU6ICdnb29nLXRyYW5zLXNlY3Rpb24nLAoJCSAgICBjb250cm9sTm9kZUNs YXNzTmFtZTogJ2dvb2ctdHJhbnMtY29udHJvbCcsCgkJICAgIGJhY2tncm91 bmQ6ICd0cmFuc3BhcmVudCcKCQkgIH0sICdnb29nbGVfc2VjdGlvbmFsX2Vs ZW1lbnQnKTsKCQkgIAoJCSAgc2V0VGltZW91dChmdW5jdGlvbigpIHsJCgkJ CSAgdHJ5IHsKCQkJCQl2YXIgYSA9IGpRdWVyeSgnI2d0LWNvbnRyb2wgYScp WzBdOwoJCQkJCW15RmlyZUV2ZW50KGEsICJjbGljayIpOwoJCQkJCWpRdWVy eSgnI2d0LWNvbnRyb2wgYScpLnRleHQoJycpOwoJCQkgIH1jYXRjaChlKXt9 CgkJCX0gLCAxNTAwKTsKCQkgIHZhciByZWZyZXNoSW50ZXJ2YWxDb3VudGVy ID0gMDsKCQkgIHZhciByZWZyZXNoSW50ZXJ2YWxJZCA9IHNldEludGVydmFs KGZ1bmN0aW9uKCkgewoJCQkgIHRyeXsKCQkJCSAgdmFyIHRyYW5zbGF0ZWQ9 alF1ZXJ5KCcjZ3QtY29udGFpbmVyIHNwYW4uZ3QtdGV4dCcpLnRleHQoKTsK CQkJCSAgCgkJCQkgIHJlZnJlc2hJbnRlcnZhbENvdW50ZXIrKzsKCQkJCSAg aWYodHJhbnNsYXRlZC50b0xvd2VyQ2FzZSgpICE9ICJhc2RmZmYiLnRvTG93 ZXJDYXNlKCkpIHsKCQkJCQkJalF1ZXJ5KCcjZ3QtY29udGFpbmVyJykuc2xp ZGVEb3duKCJzbG93Iik7CgkJCQkJCWNsZWFySW50ZXJ2YWwocmVmcmVzaElu dGVydmFsSWQpOwoJIAkJCSAgfSBlbHNlIGlmIChyZWZyZXNoSW50ZXJ2YWxD b3VudGVyID4gMjApIHsKCSAJCQkJIAljbGVhckludGVydmFsKHJlZnJlc2hJ bnRlcnZhbElkKTsKCSAJCQkgIH0KCQkJICB9Y2F0Y2goZSl7fQoJCQl9ICwg MjUwMCk7ICAKCQl9Cgl9CWNhdGNoKGUpIHt9Cgl0cnkgewoJCWZ1bmN0aW9u IG15RmlyZUV2ZW50KG9iaixldnQpewoJCQoJCSAgICB2YXIgZmlyZU9uVGhp cyA9IG9iajsKCQkgICAgaWYoIGRvY3VtZW50LmNyZWF0ZUV2ZW50ICkgewoJ CSAgICAgIHZhciBldk9iaiA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdNb3Vz ZUV2ZW50cycpOwoJCSAgICAgIGV2T2JqLmluaXRFdmVudCggZXZ0LCB0cnVl LCBmYWxzZSApOwoJCSAgICAgIGZpcmVPblRoaXMuZGlzcGF0Y2hFdmVudCgg ZXZPYmogKTsKCQkKCQkgICAgfSBlbHNlIGlmKCBkb2N1bWVudC5jcmVhdGVF dmVudE9iamVjdCApIHsKCQkgICAgICB2YXIgZXZPYmogPSBkb2N1bWVudC5j cmVhdGVFdmVudE9iamVjdCgpOwoJCSAgICAgIGZpcmVPblRoaXMuZmlyZUV2 ZW50KCAnb24nICsgZXZ0LCBldk9iaiApOwoJCSAgICB9CgkJfQkKCQkKCQko ZnVuY3Rpb24oKSAKCQkgIHsKCQkJdmFyIHMgPSBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgiZ3QtY29udHJvbCIpOwoJCSAgICB2YXIgbXlzY3JpcHQgPSBk b2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKCQkgICAgbXlzY3Jp cHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwoJCSAgICBteXNjcmlwdC5z cmMgPSAnaHR0cDovL3RyYW5zbGF0ZS5nb29nbGUuY29tL3RyYW5zbGF0ZV9h L2VsZW1lbnQuanM/Y2I9Z29vZ2xlU2VjdGlvbmFsRWxlbWVudEluaXQmdWc9 c2VjdGlvbiZobD1wbCc7CgkJICAgIG15c2NyaXB0LnNldEF0dHJpYnV0ZSgn YXN5bmMnLCAndHJ1ZScpOwoJCSAgICBzLmFwcGVuZENoaWxkKG15c2NyaXB0 KTsKCQkgfSkoKTsKCX0gY2F0Y2goZSkge30KCTwvc2NyaXB0PjxkaXYgaWQ9 InNpbW1pbGFyUGhyYXNlcyI+PC9kaXY+PC9hcnRpY2xlPjwvZGl2PjwvZGl2 PjwvZGl2PjxkaXYgY2xhc3M9InNwYW4yIj48ZGl2IHN0eWxlPSJ3aWR0aDog MTYwcHg7IGhlaWdodDogNjAwcHg7IiBpZD0iYWRfcmlnaHRTaWRlYmFyRmly c3RCYW5uZXIiIGNsYXNzPSJhZENvbnRhaW5lciI+PHNjcmlwdCB0eXBlPSJ0 ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIGdvb2dsZV9hZF9jbGllbnQgPSAn Y2EtcHViLTMzMTQ2NjIyNjEzOTQ4MTYnOwogICAgICAgIGdvb2dsZV9hZF9z bG90ID0gJzg4NzcxNzk1MTknOwogICAgICAgIGdvb2dsZV9hZF93aWR0aCA9 IDE2MDsKICAgICAgICBnb29nbGVfYWRfaGVpZ2h0ID0gNjAwOwogICAgICA8 L3NjcmlwdD48c2NyaXB0IHNyYz0iaHR0cDovL3BhZ2VhZDIuZ29vZ2xlc3lu ZGljYXRpb24uY29tL3BhZ2VhZC9zaG93X2Fkcy5qcyIgdHlwZT0idGV4dC9q YXZhc2NyaXB0Ij48L3NjcmlwdD48L2Rpdj48ZGl2IHN0eWxlPSJ3aWR0aDog MTYwcHg7IGhlaWdodDogNjAwcHg7IiBpZD0iYWRfcmlnaHRTaWRlYmFyU2Vj b25kQmFubmVyIiBjbGFzcz0iYWRDb250YWluZXIiPjxzY3JpcHQgdHlwZT0i dGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICBnb29nbGVfYWRfY2xpZW50ID0g J2NhLXB1Yi0zMzE0NjYyMjYxMzk0ODE2JzsKICAgICAgICBnb29nbGVfYWRf c2xvdCA9ICc1MDMzODA3NDc1JzsKICAgICAgICBnb29nbGVfYWRfd2lkdGgg PSAxNjA7CiAgICAgICAgZ29vZ2xlX2FkX2hlaWdodCA9IDYwMDsKICAgICAg PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Imh0dHA6Ly9wYWdlYWQyLmdvb2dsZXN5 bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hvd19hZHMuanMiIHR5cGU9InRleHQv amF2YXNjcmlwdCI+PC9zY3JpcHQ+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+ PHVsIGNsYXNzPSJuYXYgbmF2LXBpbGxzIiBpZD0icGhyYXNlUGFnZU5hdiI+ PGxpPjxhIGhyZWY9IiNwaHJhc2VUcmFuc2xhdGlvbiI+VHJhc2wuPC9hPjwv bGk+PGxpPjxhIGhyZWY9IiN0cmFuc2xhdGlvbkV4YW1wbGVzIj5FeGFtcGxl czwvYT48L2xpPjwvdWw+PGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pjxm b290ZXIgY2xhc3M9ImZvb3RlciI+PGRpdiBjbGFzcz0iY29udGFpbmVyIj48 bmF2Pjx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtY29uZGVuc2VkIHRleHRD ZW50ZXJlZCI+PHRib2R5Pjx0cj48dGQgd2lkdGg9IjE5NXB4IiB2YWxpZ249 InRvcCI+PHNwYW4gY2xhc3M9ImZvb3Rlcmxpc3QiPjxhIGhyZWY9Ii8iPkhv bWU8L2E+PGJyLz48YSBocmVmPSIvYWxsLWRpY3Rpb25hcmllcyI+QWxsIGRp Y3Rpb25hcmllczoKICAgICAgICAgICAgICAgICAgICAgIEVuZ2xpc2ggPC9h Pjxici8+PGEgaHJlZj0iL2FsbC1sYW5ndWFnZXMiPkFsbCBsYW5ndWFnZXM8 L2E+PGJyLz48YSBocmVmPSIvdG1lbS8iPlRyYW5zbGF0aW9uIG1lbW9yeTwv YT48YnIvPjwvc3Bhbj48L3RkPjx0ZCB3aWR0aD0iMTQwcHgiIHZhbGlnbj0i dG9wIj48c3BhbiBjbGFzcz0iZm9vdGVybGlzdCI+PGEgcmVsPSJub2ZvbGxv dyIgaHJlZj0iL3JlY2VudCI+UmVjZW50IGNoYW5nZXM8L2E+PGJyLz48YSBy ZWw9Im5vZm9sbG93IiBocmVmPSIvYWRkLXRyYW5zbGF0aW9uIj5hZGQgdHJh bnNsYXRpb248L2E+PGJyLz48YSByZWw9Im5vZm9sbG93IiBocmVmPSIvdXBs b2FkIj5VcGxvYWQgZGljdGlvbmFyeTwvYT48YnIvPjxhIHJlbD0ibm9mb2xs b3ciIGhyZWY9Ii9hLWFwaSI+R2xvc2JlIEFQSTwvYT48YnIvPjwvc3Bhbj48 L3RkPjx0ZCB3aWR0aD0iMTYwcHgiIHZhbGlnbj0idG9wIj48c3BhbiBjbGFz cz0iZm9vdGVybGlzdCI+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iL2Fib3V0 Ij5BYm91dCB1czwvYT48YnIvPjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9Ii9w YXJ0bmVycyI+UGFydG5lcnM8L2E+PGJyLz48YSByZWw9Im5vZm9sbG93IiBo cmVmPSIvYmxvZy8iPkJsb2c8L2E+PGJyLz48YSByZWw9Im5vZm9sbG93IiBo cmVmPSIvY29udGFjdCI+Q29udGFjdDwvYT48YnIvPjwvc3Bhbj48L3RkPjwv dHI+PC90Ym9keT48L3RhYmxlPjwvbmF2PjxkaXYgY2xhc3M9InBvd2VyZWQt YnkiPlBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL2Nsb3VkLWluc2lkZS5j b20iPkNsb3VkIEluc2lkZTwvYT48L2Rpdj48L2Rpdj48L2Zvb3Rlcj48ZGl2 IGNsYXNzPSJtb2RhbCBoaWRlIGZhZGUiIGlkPSJsb2dpbkNvbnRhaW5lciI+ PGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+PGJ1dHRvbiBhcmlhLWhpZGRlbj0i dHJ1ZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgY2xhc3M9ImNsb3NlIiB0eXBl PSJidXR0b24iPiZ0aW1lczs8L2J1dHRvbj48c2NyaXB0IHR5cGU9InRleHQv amF2YXNjcmlwdCI+CiAgICAgICBmdW5jdGlvbiBlbXB0eUZ1bihhcmcpIHsK ICAgICAgICAgICAKICAgICAgIH0KICAgIDwvc2NyaXB0Pjx1bCBpZD0ibG9n aW5SZWdpc3RlclRhYnMiIGNsYXNzPSJuYXYgbmF2LXRhYnMiPjxsaSBjbGFz cz0iYWN0aXZlIj48YSBkYXRhLXRvZ2dsZT0idGFiIiBocmVmPSIjbG9naW5U YWJTaWduSW4iPkxvZyBpbjwvYT48L2xpPjxsaT48YSBkYXRhLXRvZ2dsZT0i dGFiIiBocmVmPSIjbG9naW5UYWJSZWdpc3RlciI+UmVnaXN0ZXI8L2E+PC9s aT48bGk+PGEgZGF0YS10b2dnbGU9InRhYiIgaHJlZj0iI2xvZ2luVGFiRm9y Z290UGFzc3dvcmQiPkZvcmdvdCBwYXNzd29yZDwvYT48L2xpPjwvdWw+PGRp diBjbGFzcz0idGFiLWNvbnRlbnQiIGlkPSJsb2dpblRhYnMiPjxkaXYgY2xh c3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImxvZ2luVGFiU2lnbkluIj48ZGl2 PjxzZWN0aW9uIGNsYXNzPSJmb3JtLXNlY3Rpb24gc29jaWFsTG9naW5MaW5r c0NvbnRhaW5lciI+PGEgb25jbGljaz0iRkJlYXZlci5leHRlcm5hbExvZ2lu KHRoaXMsICcvYXV0aC9leHRlcm5hbC9mYWNlYm9vaycsICdTaWduIGluIHdp dGggRmFjZWJvb2snLCAnbG9naW5TdWNjZXNzJywgJ2xvZ2luRXJyb3InKSIg Y2xhc3M9InNpZ25JbkZhY2Vib29rIGJ0biIgaHJlZj0iamF2YXNjcmlwdDo7 Ij48aW1nIHNyYz0iL3Jlc291cmNlcy9yZXNvdXJjZXNfaW1nL2xvZ2luL2Zh Y2Vib29rLWxvZ2luLWJ1dHRvbi5wbmciIGFsdD0iU2lnbiBpbiB3aXRoIEZh Y2Vib29rIi8+PC9hPgogICAgICAgICAgICAgICAgJm5ic3A7CiAgICAgICAg ICAgICAgICA8YSBvbmNsaWNrPSJGQmVhdmVyLmV4dGVybmFsTG9naW4odGhp cywgJy9hdXRoL2V4dGVybmFsL2dvb2dsZScsICdTaWduIGluIHdpdGggR29v Z2xlJywgJ2xvZ2luU3VjY2VzcycsICdsb2dpbkVycm9yJyApIiBjbGFzcz0i c2lnbkluR29vZ2xlIGJ0biIgaHJlZj0iamF2YXNjcmlwdDo7Ij48aW1nIHNy Yz0iL3Jlc291cmNlcy9yZXNvdXJjZXNfaW1nL2xvZ2luL2dvb2dsZS1sb2dp bi1idXR0b24ucG5nIiBhbHQ9IlNpZ24gaW4gd2l0aCBHb29nbGUiLz48L2E+ PC9zZWN0aW9uPjxoNCBjbGFzcz0ic29jaWFsTG9naW5MaW5rc0xhYmVsIj5v ciBsb2cgaW4gd2l0aCB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkOjwvaDQ+PHNl Y3Rpb24gaWQ9ImxvZ2luRm9ybV8wX3NlY3Rpb24iPjxkaXYgY2xhc3M9Imxv Z2luRm9ybUNvbnRhaW5lciIgaWQ9ImxvZ2luRm9ybV8wX2NvbnRhaW5lciI+ PGlmcmFtZSBuYW1lPSJmb3JtTG9naW5GcmFtZTAiIHN0eWxlPSJ3aWR0aDog MHB4OyBoZWlnaHQ6IDBweDsgdmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlv bjogYWJzb2x1dGU7IGxlZnQ6IC0xMDAwMDsiPjwvaWZyYW1lPjxmb3JtIHRh cmdldD0iZm9ybUxvZ2luRnJhbWUwIiBhY3Rpb249Ii9hdXRoL3NlY3VyaXR5 X2NoZWNrIiBpZD0ibG9naW5Gb3JtXzAiIG5hbWU9ImxvZ2luRm9ybV8wIiBt ZXRob2Q9InBvc3QiPjxzZWN0aW9uPjxsYWJlbCBmb3I9ImxvZ2luRm9ybV8w X2VtYWlsIj5lbWFpbDwvbGFiZWw+PGRpdiBjbGFzcz0ibG9naW5Gb3JtX2Vt YWlsIj48aW5wdXQgY2xhc3M9InJlcXVpcmVkIGVtYWlsIiBuYW1lPSJqX3Vz ZXJuYW1lIiB0eXBlPSJlbWFpbCIgaWQ9ImxvZ2luRm9ybV8wX2VtYWlsIi8+ PC9kaXY+PC9zZWN0aW9uPjxzZWN0aW9uPjxsYWJlbCBmb3I9ImxvZ2luRm9y bV8wX3Bhc3N3b3JkIj5wYXNzd29yZDwvbGFiZWw+PGRpdiBjbGFzcz0ibG9n aW5Gb3JtX3Bhc3N3b3JkIj48aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9 ImpfcGFzc3dvcmQiIGlkPSJsb2dpbkZvcm1fMF9wYXNzd29yZCIgY2xhc3M9 InJlcXVpcmVkIi8+PC9kaXY+PC9zZWN0aW9uPjxzZWN0aW9uPjxpbnB1dCB2 YWx1ZT0idHJ1ZSIgY2xhc3M9InNpZ25JblJlbWVtYmVyTWUiIG5hbWU9InJl bWVtYmVyTWUiIHR5cGU9ImhpZGRlbiIgaWQ9ImxvZ2luRm9ybV8wX3JlbWVt YmVyTWUiLz48L3NlY3Rpb24+PHNlY3Rpb24+PGlucHV0IGNsYXNzPSJidXR0 b24gcHJpbWFyeSBsb2dpbkZvcm1fbG9naW4gIGJ0biBidG4tcHJpbWFyeSIg b25jbGljaz0iRkJlYXZlci5mb3JtTG9naW4oJ2xvZ2luU3VjY2VzcycsICds b2dpbkVycm9yJykiIHZhbHVlPSJsb2cgaW4iIHR5cGU9InN1Ym1pdCIvPjwv c2VjdGlvbj48L2Zvcm0+PC9kaXY+PC9zZWN0aW9uPjwvZGl2PjwvZGl2Pjxk aXYgY2xhc3M9InRhYi1wYW5lIiBpZD0ibG9naW5UYWJSZWdpc3RlciI+PGRp dj48c2VjdGlvbiBjbGFzcz0iZm9ybS1zZWN0aW9uIHNvY2lhbExvZ2luTGlu a3NDb250YWluZXIiPjxhIG9uY2xpY2s9IkZCZWF2ZXIuZXh0ZXJuYWxMb2dp bih0aGlzLCAnL2F1dGgvZXh0ZXJuYWwvZmFjZWJvb2snLCAnU2lnbiBpbiB3 aXRoIEZhY2Vib29rJywgJ2xvZ2luU3VjY2VzcycsICdsb2dpbkVycm9yJyki IGNsYXNzPSJzaWduSW5GYWNlYm9vayBidG4iIGhyZWY9ImphdmFzY3JpcHQ6 OyI+PGltZyBzcmM9Ii9yZXNvdXJjZXMvcmVzb3VyY2VzX2ltZy9sb2dpbi9m YWNlYm9vay1sb2dpbi1idXR0b24ucG5nIiBhbHQ9IlNpZ24gaW4gd2l0aCBG YWNlYm9vayIvPjwvYT4KICAgICAgICAgICAgICAgICZuYnNwOwogICAgICAg ICAgICAgICAgPGEgb25jbGljaz0iRkJlYXZlci5leHRlcm5hbExvZ2luKHRo aXMsICcvYXV0aC9leHRlcm5hbC9nb29nbGUnLCAnU2lnbiBpbiB3aXRoIEdv b2dsZScsICdsb2dpblN1Y2Nlc3MnLCAnbG9naW5FcnJvcicgKSIgY2xhc3M9 InNpZ25Jbkdvb2dsZSBidG4iIGhyZWY9ImphdmFzY3JpcHQ6OyI+PGltZyBz cmM9Ii9yZXNvdXJjZXMvcmVzb3VyY2VzX2ltZy9sb2dpbi9nb29nbGUtbG9n aW4tYnV0dG9uLnBuZyIgYWx0PSJTaWduIGluIHdpdGggR29vZ2xlIi8+PC9h Pjwvc2VjdGlvbj48aDQgY2xhc3M9InNvY2lhbExvZ2luTGlua3NMYWJlbCI+ b3IgY3JlYXRlIGFjY291bnQ6PC9oND48c2VjdGlvbiBpZD0icmVnaXN0cmF0 aW9uRm9ybV8wX3NlY3Rpb24iPjxkaXYgY2xhc3M9InJlZ2lzdHJhdGlvbkZv cm1Db250YWluZXIiIGlkPSJyZWdpc3RyYXRpb25Gb3JtXzBfY29udGFpbmVy Ij48Zm9ybSBpZD0icmVnaXN0cmF0aW9uRm9ybV8wX2Zvcm0iIG5hbWU9InJl Z2lzdGVyRm9ybV8wIiBvbkVycm9yPSJyZWdpc3RlckVycm9yIiBvblN1Y2Nl c3M9ImxvZ2luU3VjY2VzcyIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0 aXBhcnQvZm9ybS1kYXRhIiBjbGFzcz0iYWN0aW9uRm9ybSI+PHNlY3Rpb24+ PGxhYmVsIGZvcj0icmVnaXN0cmF0aW9uRm9ybV8wX2VtYWlsIj5lbWFpbDwv bGFiZWw+PGRpdiBjbGFzcz0icmVnaXN0cmF0aW9uRm9ybV9lbWFpbCI+PGlu cHV0IGNsYXNzPSJyZXF1aXJlZCBlbWFpbCIgbmFtZT0iYWN0aW9uLnByb3Bz W2VtYWlsXSIgdHlwZT0idGV4dCIgaWQ9InJlZ2lzdHJhdGlvbkZvcm1fMF9l bWFpbCIvPjwvZGl2Pjwvc2VjdGlvbj48c2VjdGlvbj48bGFiZWwgZm9yPSJy ZWdpc3RyYXRpb25Gb3JtXzBfcGFzc3dvcmQxIj5wYXNzd29yZDwvbGFiZWw+ PGRpdiBjbGFzcz0icmVnaXN0cmF0aW9uRm9ybV9wYXNzd29yZDEiPjxpbnB1 dCBjbGFzcz0icmVxdWlyZWQiIG5hbWU9ImFjdGlvbi5wcm9wc1twYXNzd29y ZDFdIiBpZD0icmVnaXN0cmF0aW9uRm9ybV8wX3Bhc3N3b3JkMSIgdHlwZT0i cGFzc3dvcmQiLz48L2Rpdj48L3NlY3Rpb24+PHNlY3Rpb24+PGxhYmVsIGZv cj0icmVnaXN0cmF0aW9uRm9ybV8wX3Bhc3N3b3JkMiI+cmV0eXBlIHBhc3N3 b3JkPC9sYWJlbD48ZGl2IGNsYXNzPSJyZWdpc3RyYXRpb25Gb3JtX3Bhc3N3 b3JkMiI+PGlucHV0IGNsYXNzPSJyZXF1aXJlZCIgbmFtZT0iYWN0aW9uLnBy b3BzW3Bhc3N3b3JkMl0iIGlkPSJyZWdpc3RyYXRpb25Gb3JtXzBfcGFzc3dv cmQyIiB0eXBlPSJwYXNzd29yZCIvPjwvZGl2PjxpbnB1dCBjbGFzcz0iYnV0 dG9uIHByaW1hcnkgYnRuIGJ0bi1wcmltYXJ5IiB2YWx1ZT0iY3JlYXRlIGFj Y291bnQiIHR5cGU9InN1Ym1pdCIvPjxpbnB1dCB2YWx1ZT0iY29yZS5DcmVh dGVBY2NvdW50QWN0aW9uIiBuYW1lPSJhY3Rpb24ubmFtZSIgdHlwZT0iaGlk ZGVuIi8+PC9zZWN0aW9uPjwvZm9ybT48L2Rpdj48L3NlY3Rpb24+PC9kaXY+ PC9kaXY+PGRpdiBjbGFzcz0idGFiLXBhbmUiIGlkPSJsb2dpblRhYkZvcmdv dFBhc3N3b3JkIj48ZGl2PjxoND5QYXNzd29yZCByZW1pbmRlcjo8L2g0Pjxz ZWN0aW9uIGlkPSJmb3Jnb3RQYXNzd29yZF8wX3NlY3Rpb24iPjxkaXYgY2xh c3M9ImZvcmdvdFBhc3N3b3JkX2NvbnRhaW5lciBmb3Jnb3RQYXNzd29yZEZv cm1Db250YWluZXIiIGlkPSJmb3Jnb3RQYXNzd29yZEZvcm1fMV9jb250YWlu ZXIiPjxmb3JtIG9uU3VjY2Vzcz0iZW1wdHlGdW4iIGlkPSJmb3Jnb3RQYXNz d29yZEZvcm1fMCIgbmFtZT0iZm9yZ290UGFzc0Zvcm1fMCIgb25FcnJvcj0i dXBkYXRlUHdkRXJyb3IiIG9ucmVzcG9uc2U9ImZvcmdvdFBhc3NDYWxsYmFj ayIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRh IiBjbGFzcz0iYWN0aW9uRm9ybSI+PHNlY3Rpb24+PGxhYmVsIGZvcj0iZm9y Z290UGFzc3dvcmRGb3JtXzBfZW1haWwiPmVtYWlsPC9sYWJlbD48ZGl2IGNs YXNzPSJmb3Jnb3RQYXNzd29yZEZvcm1fZW1haWwiPjxpbnB1dCBjbGFzcz0i cmVxdWlyZWQgZW1haWwiIGlkPSJmb3Jnb3RQYXNzd29yZEZvcm1fMF9lbWFp bCIgbmFtZT0iYWN0aW9uLnByb3BzW2VtYWlsXSIgdHlwZT0iZW1haWwiLz48 L2Rpdj48L3NlY3Rpb24+PHNlY3Rpb24+PGlucHV0IGNsYXNzPSJidXR0b24g cHJpbWFyeSBmb3Jnb3RQYXNzd29yZEZvcm1fc3VibWl0ICBidG4gYnRuLXBy aW1hcnkiIHZhbHVlPSJyZXNldCBwYXNzd29yZCIgdHlwZT0ic3VibWl0Ii8+ PGlucHV0IHZhbHVlPSJjb3JlLkZvcmdvdFBhc3N3b3JkQWN0aW9uIiBuYW1l PSJhY3Rpb24ubmFtZSIgdHlwZT0iaGlkZGVuIi8+PC9zZWN0aW9uPjwvZm9y bT48L2Rpdj48L3NlY3Rpb24+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9k aXY+PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvY29tYmluZVJlc291cmNlcy81 M2IzYzlhNDk5ZGE5ODAwLmpzIiBjaGFyc2V0PSJ1dGYtOCIgdHlwZT0idGV4 dC9qYXZhc2NyaXB0IiA+IDwhLS0gLS0+IDwvc2NyaXB0PjxsaW5rIHJlbD0i c3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGNoYXJzZXQ9InV0Zi04IiAg aHJlZj0iL3Jlc291cmNlcy9jb21iaW5lUmVzb3VyY2VzL2YzYmNmZTgwZDQ0 Y2RhNjguY3NzIiAvPjxzY3JpcHQgaWQ9IndlbGNvbWVUZXh0VG1wbCIgdHlw ZT0idGV4dC9odG1sIj4KICAgICAgPHNwYW4+V2VsY29tZSA8ZW0+PGEgaHJl Zj0iPCU9IHVybCAlPiI+PCU9IG5hbWUgJT48L2E+PC9lbT48L3NwYW4+IHwg PGEgaHJlZj0iL2F1dGgvbG9nb3V0Ij5sb2dvdXQ8L2E+CiAgICA8L3Njcmlw dD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkgIHZhciBfZ2Fx ID0gX2dhcSB8fCBbXTsKCSAgX2dhcS5wdXNoKFsnX3NldEFjY291bnQnLCAn VUEtMTMxMTA3MzMtMTEnXSk7CgkgIF9nYXEucHVzaChbJ190cmFja1BhZ2V2 aWV3J10pOwoJICAKCSAgX2dhcS5wdXNoKFsnX3NldERvbWFpbk5hbWUnLCAn Z2xvc2JlLmNvbSddKTsKCSAgCgkKCSAgKGZ1bmN0aW9uKCkgewoJICAgIHZh ciBnYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOyBnYS50 eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7IGdhLmFzeW5jID0gdHJ1ZTsKCSAg ICBnYS5zcmMgPSAoJ2h0dHBzOicgPT0gZG9jdW1lbnQubG9jYXRpb24ucHJv dG9jb2wgPyAnaHR0cHM6Ly9zc2wnIDogJ2h0dHA6Ly93d3cnKSArICcuZ29v Z2xlLWFuYWx5dGljcy5jb20vZ2EuanMnOwoJICAgIHZhciBzID0gZG9jdW1l bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOyBzLnBhcmVu dE5vZGUuaW5zZXJ0QmVmb3JlKGdhLCBzKTsKCSAgfSkoKTsKCS8vIENvcHly aWdodCAyMDExIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCgoJ ICAvKioKCSAgICogQGZpbGVvdmVydmlldyBBIHNpbXBsZSBzY3JpcHQgdG8g YXV0b21hdGljYWxseSB0cmFjayBGYWNlYm9vayBhbmQgVHdpdHRlcgoJICAg KiBidXR0b25zIHVzaW5nIEdvb2dsZSBBbmFseXRpY3Mgc29jaWFsIHRyYWNr aW5nIGZlYXR1cmUuCgkgICAqIEBhdXRob3IgYXBpLm5pY2ttQGdvb2dsZS5j b20gKE5pY2sgTWloYWlsb3Zza2kpCgkgICAqLwoKCgkgIC8qKgoJICAgKiBO YW1lc3BhY2UuCgkgICAqIEB0eXBlIHtPYmplY3R9LgoJICAgKi8KCSAgdmFy IF9nYSA9IF9nYSB8fCB7fTsKCgoJICAvKioKCSAgICogRW5zdXJlIGdsb2Jh bCBfZ2FxIEdvb2dsZSBBbmxheXRpY3MgcXVldWUgaGFzIGJlIGluaXRpYWxp emVkLgoJICAgKiBAdHlwZSB7QXJyYXl9CgkgICAqLwoJICB2YXIgX2dhcSA9 IF9nYXEgfHwgW107CgoKCSAgLyoqCgkgICAqIEhlbHBlciBtZXRob2QgdG8g dHJhY2sgc29jaWFsIGZlYXR1cmVzLiBUaGlzIGFzc3VtZXMgYWxsIHRoZSBz b2NpYWwKCSAgICogc2NyaXB0cyAvIGFwaXMgYXJlIGxvYWRlZCBzeW5jaHJv bm91c2x5LiBJZiB0aGV5IGFyZSBsb2FkZWQgYXN5bmMsCgkgICAqIHlvdSBt aWdodCBuZWVkIHRvIGFkZCB0aGUgbmV4dHdvcmsgc3BlY2lmaWMgdHJhY2tp bmcgY2FsbCB0byB0aGUKCSAgICogYSBjYWxsYmFjayBvbmNlIHRoZSBuZXR3 b3JrJ3Mgc2NyaXB0IGhhcyBsb2FkZWQuCgkgICAqIEBwYXJhbSB7c3RyaW5n fSBvcHRfcGFnZVVybCBBbiBvcHRpb25hbCBVUkwgdG8gYXNzb2NpYXRlIHRo ZSBzb2NpYWwKCSAgICogICAgIHRyYWNraW5nIHdpdGggYSBwYXJ0aWN1bGFy IHBhZ2UuCgkgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRfdHJhY2tlck5hbWUg QW4gb3B0aW9uYWwgbmFtZSBmb3IgdGhlIHRyYWNrZXIgb2JqZWN0LgoJICAg Ki8KCSAgX2dhLnRyYWNrU29jaWFsID0gZnVuY3Rpb24ob3B0X3BhZ2VVcmws IG9wdF90cmFja2VyTmFtZSkgewoJICAgIF9nYS50cmFja0ZhY2Vib29rKG9w dF9wYWdlVXJsLCBvcHRfdHJhY2tlck5hbWUpOwoJICAgIF9nYS50cmFja1R3 aXR0ZXIob3B0X3BhZ2VVcmwsIG9wdF90cmFja2VyTmFtZSk7CgkgIH07CgoK CSAgLyoqCgkgICAqIFRyYWNrcyBGYWNlYm9vayBsaWtlcywgdW5saWtlcyBh bmQgc2VuZHMgYnkgc3VzY3JpYmluZyB0byB0aGUgRmFjZWJvb2sKCSAgICog SlNBUEkgZXZlbnQgbW9kZWwuIE5vdGU6IFRoaXMgd2lsbCBub3QgdHJhY2sg ZmFjZWJvb2sgYnV0dG9ucyB1c2luZyB0aGUKCSAgICogaUZyYW1lIG1ldGhv ZC4KCSAgICogQHBhcmFtIHtzdHJpbmd9IG9wdF9wYWdlVXJsIEFuIG9wdGlv bmFsIFVSTCB0byBhc3NvY2lhdGUgdGhlIHNvY2lhbAoJICAgKiAgICAgdHJh Y2tpbmcgd2l0aCBhIHBhcnRpY3VsYXIgcGFnZS4KCSAgICogQHBhcmFtIHtz dHJpbmd9IG9wdF90cmFja2VyTmFtZSBBbiBvcHRpb25hbCBuYW1lIGZvciB0 aGUgdHJhY2tlciBvYmplY3QuCgkgICAqLwoJICBfZ2EudHJhY2tGYWNlYm9v ayA9IGZ1bmN0aW9uKG9wdF9wYWdlVXJsLCBvcHRfdHJhY2tlck5hbWUpIHsK CSAgICB2YXIgdHJhY2tlck5hbWUgPSBfZ2EuYnVpbGRUcmFja2VyTmFtZV8o b3B0X3RyYWNrZXJOYW1lKTsKCSAgICB0cnkgewoJICAgICAgaWYgKEZCICYm IEZCLkV2ZW50ICYmIEZCLkV2ZW50LnN1YnNjcmliZSkgewoJICAgICAgICBG Qi5FdmVudC5zdWJzY3JpYmUoJ2VkZ2UuY3JlYXRlJywgZnVuY3Rpb24odGFy Z2V0VXJsKSB7CgkgICAgICAgICAgX2dhcS5wdXNoKFt0cmFja2VyTmFtZSAr ICdfdHJhY2tTb2NpYWwnLCAnZmFjZWJvb2snLCAnbGlrZScsCgkgICAgICAg ICAgICAgIHRhcmdldFVybCwgb3B0X3BhZ2VVcmxdKTsKCSAgICAgICAgfSk7 CgkgICAgICAgIEZCLkV2ZW50LnN1YnNjcmliZSgnZWRnZS5yZW1vdmUnLCBm dW5jdGlvbih0YXJnZXRVcmwpIHsKCSAgICAgICAgICBfZ2FxLnB1c2goW3Ry YWNrZXJOYW1lICsgJ190cmFja1NvY2lhbCcsICdmYWNlYm9vaycsICd1bmxp a2UnLAoJICAgICAgICAgICAgICB0YXJnZXRVcmwsIG9wdF9wYWdlVXJsXSk7 CgkgICAgICAgIH0pOwoJICAgICAgICBGQi5FdmVudC5zdWJzY3JpYmUoJ21l c3NhZ2Uuc2VuZCcsIGZ1bmN0aW9uKHRhcmdldFVybCkgewoJICAgICAgICAg IF9nYXEucHVzaChbdHJhY2tlck5hbWUgKyAnX3RyYWNrU29jaWFsJywgJ2Zh Y2Vib29rJywgJ3NlbmQnLAoJICAgICAgICAgICAgICB0YXJnZXRVcmwsIG9w dF9wYWdlVXJsXSk7CgkgICAgICAgIH0pOwoJICAgICAgfQoJICAgIH0gY2F0 Y2ggKGUpIHt9CgkgIH07CgoKCSAgLyoqCgkgICAqIFJldHVybnMgdGhlIG5v cm1hbGl6ZWQgdHJhY2tlciBuYW1lIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVy LgoJICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0X3RyYWNrZXJOYW1lIEFuIG9w dGlvbmFsIG5hbWUgZm9yIHRoZSB0cmFja2VyIG9iamVjdC4KCSAgICogQHJl dHVybiB7c3RyaW5nfSBJZiBvcHRfdHJhY2tlck5hbWUgaXMgc2V0LCB0aGVu IHRoZSB2YWx1ZSBhcHBlbmRlZCB3aXRoCgkgICAqICAgICBhIC4gT3RoZXJ3 aXNlIGFuIGVtcHR5IHN0cmluZy4KCSAgICogQHByaXZhdGUKCSAgICovCgkg IF9nYS5idWlsZFRyYWNrZXJOYW1lXyA9IGZ1bmN0aW9uKG9wdF90cmFja2Vy TmFtZSkgewoJICAgIHJldHVybiBvcHRfdHJhY2tlck5hbWUgPyBvcHRfdHJh Y2tlck5hbWUgKyAnLicgOiAnJzsKCSAgfTsKCgoJICAvKioKCSAgICogVHJh Y2tzIGV2ZXJ5dGltZSBhIHVzZXIgY2xpY2tzIG9uIGEgdHdlZXQgYnV0dG9u IGZyb20gVHdpdHRlci4KCSAgICogVGhpcyBzdWJzY3JpYmVzIHRvIHRoZSBU d2l0dGVyIEpTIEFQSSBldmVudCBtZWNoYW5pc20gdG8gbGlzdGVuIGZvcgoJ ICAgKiBjbGlja3MgY29taW5nIGZyb20gdGhpcyBwYWdlLiBEZXRhaWxzIGhl cmU6CgkgICAqIGh0dHA6Ly9kZXYudHdpdHRlci5jb20vcGFnZXMvaW50ZW50 cy1ldmVudHMjY2xpY2sKCSAgICogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGNh bGxlZCBvbmNlIHRoZSB0d2l0dGVyIEFQSSBoYXMgbG9hZGVkLgoJICAgKiBA cGFyYW0ge3N0cmluZ30gb3B0X3BhZ2VVcmwgQW4gb3B0aW9uYWwgVVJMIHRv IGFzc29jaWF0ZSB0aGUgc29jaWFsCgkgICAqICAgICB0cmFja2luZyB3aXRo IGEgcGFydGljdWxhciBwYWdlLgoJICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0 X3RyYWNrZXJOYW1lIEFuIG9wdGlvbmFsIG5hbWUgZm9yIHRoZSB0cmFja2Vy IG9iamVjdC4KCSAgICovCgkgIF9nYS50cmFja1R3aXR0ZXIgPSBmdW5jdGlv bihvcHRfcGFnZVVybCwgb3B0X3RyYWNrZXJOYW1lKSB7CgkgICAgdmFyIHRy YWNrZXJOYW1lID0gX2dhLmJ1aWxkVHJhY2tlck5hbWVfKG9wdF90cmFja2Vy TmFtZSk7CgkgICAgdHJ5IHsKCSAgICAgIGlmICh0d3R0ciAmJiB0d3R0ci5l dmVudHMgJiYgdHd0dHIuZXZlbnRzLmJpbmQpIHsKCSAgICAgICAgdHd0dHIu ZXZlbnRzLmJpbmQoJ3R3ZWV0JywgZnVuY3Rpb24oZXZlbnQpIHsKCSAgICAg ICAgICBpZiAoZXZlbnQpIHsKCSAgICAgICAgICAgIHZhciB0YXJnZXRVcmw7 IC8vIERlZmF1bHQgdmFsdWUgaXMgdW5kZWZpbmVkLgoJICAgICAgICAgICAg aWYgKGV2ZW50LnRhcmdldCAmJiBldmVudC50YXJnZXQubm9kZU5hbWUgPT0g J0lGUkFNRScpIHsKCSAgICAgICAgICAgICAgdGFyZ2V0VXJsID0gX2dhLmV4 dHJhY3RQYXJhbUZyb21VcmlfKGV2ZW50LnRhcmdldC5zcmMsICd1cmwnKTsK CSAgICAgICAgICAgIH0KCSAgICAgICAgICAgIF9nYXEucHVzaChbdHJhY2tl ck5hbWUgKyAnX3RyYWNrU29jaWFsJywgJ3R3aXR0ZXInLCAndHdlZXQnLAoJ ICAgICAgICAgICAgICB0YXJnZXRVcmwsIG9wdF9wYWdlVXJsXSk7CgkgICAg ICAgICAgfQoJICAgICAgICB9KTsKCSAgICAgIH0KCSAgICB9IGNhdGNoIChl KSB7fQoJICB9OwoKCgkgIC8qKgoJICAgKiBFeHRyYWN0cyBhIHF1ZXJ5IHBh cmFtZXRlciB2YWx1ZSBmcm9tIGEgVVJJLgoJICAgKiBAcGFyYW0ge3N0cmlu Z30gdXJpIFRoZSBVUkkgZnJvbSB3aGljaCB0byBleHRyYWN0IHRoZSBwYXJh bWV0ZXIuCgkgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbU5hbWUgVGhlIG5h bWUgb2YgdGhlIHF1ZXJ5IHBhcmFtYXRlciB0byBleHRyYWN0LgoJICAgKiBA cmV0dXJuIHtzdHJpbmd9IFRoZSB1bi1lbmNvZGVkIHZhbHVlIG9mIHRoZSBx dWVyeSBwYXJhbWF0ZXIuIHVuZGVyZmluZWQKCSAgICogICAgIGlmIHRoZXJl IGlzIG5vIFVSSSBwYXJhbWV0ZXIuCgkgICAqIEBwcml2YXRlCgkgICAqLwoJ ICBfZ2EuZXh0cmFjdFBhcmFtRnJvbVVyaV8gPSBmdW5jdGlvbih1cmksIHBh cmFtTmFtZSkgewoJICAgIGlmICghdXJpKSB7CgkgICAgICByZXR1cm47Cgkg ICAgfQoJICAgIHZhciB1cmkgPSB1cmkuc3BsaXQoJyMnKVswXTsgIC8vIFJl bW92ZSBhbmNob3IuCgkgICAgdmFyIHBhcnRzID0gdXJpLnNwbGl0KCc/Jyk7 ICAvLyBDaGVjayBmb3IgcXVlcnkgcGFyYW1zLgoJICAgIGlmIChwYXJ0cy5s ZW5ndGggPT0gMSkgewoJICAgICAgcmV0dXJuOwoJICAgIH0KCSAgICB2YXIg cXVlcnkgPSBkZWNvZGVVUkkocGFydHNbMV0pOwoKCSAgICAvLyBGaW5kIHVy bCBwYXJhbS4KCSAgICBwYXJhbU5hbWUgKz0gJz0nOwoJICAgIHZhciBwYXJh bXMgPSBxdWVyeS5zcGxpdCgnJicpOwoJICAgIGZvciAodmFyIGkgPSAwLCBw YXJhbTsgcGFyYW0gPSBwYXJhbXNbaV07ICsraSkgewoJICAgICAgaWYgKHBh cmFtLmluZGV4T2YocGFyYW1OYW1lKSA9PT0gMCkgewoJICAgICAgICByZXR1 cm4gdW5lc2NhcGUocGFyYW0uc3BsaXQoJz0nKVsxXSk7CgkgICAgICB9Cgkg ICAgfQoJICAgIHJldHVybjsKCSAgfTsKCSAgCgk8L3NjcmlwdD48L2JvZHk+ PC9odG1sPg== http_version: '1.1' recorded_at: Fri, 01 Feb 2013 22:11:02 GMT recorded_with: VCR 2.2.3