--- http_interactions: - request: method: get uri: http://vk.com/video39576223_108370515 body: encoding: US-ASCII string: '' headers: User-Agent: - VideoInfo/2.0.0 Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - '*/*' response: status: code: 200 message: OK headers: Server: - nginx/1.2.4 Date: - Fri, 25 Oct 2013 20:33:59 GMT Content-Type: - text/html; charset=windows-1251 Content-Length: - '13003' Connection: - keep-alive X-Powered-By: - PHP/3.2914 Set-Cookie: - remixlang=3; expires=Fri, 17-Oct-2014 16:30:21 GMT; path=/; domain=.vk.com Pragma: - no-cache Cache-Control: - no-store body: encoding: ASCII-8BIT string: !binary |- PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAg U3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQv eGh0bWwxLXN0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53 My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6b2c9Imh0dHA6Ly9vZ3AubWUvbnMj IiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGh0dHAt ZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4K PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvaW1hZ2VzL2Zhdmlj b25fdmsuaWNvIiAvPgoKPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBl IiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUxIiAv Pgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0i/fLuIMLH0NvC IMzOx8PAJiMzMzsmIzMzOyYjMzM7IM/w7vHy7iDu8uLg6yDh4Pjq6C4uLiIg Lz4KCjx0aXRsZT7fIPPy7vfq4CkpKSkpIHwgVks8L3RpdGxlPgoKPG5vc2Ny aXB0PjxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7IFVS TD0vYmFkYnJvd3Nlci5waHAiPjwvbm9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9 InRleHQvamF2YXNjcmlwdCI+CnZhciB2ayA9IHsKICBhZHNfcm90YXRlX2lu dGVydmFsOiAxMjAwMDAsCiAgYWw6IHBhcnNlSW50KCc0JykgfHwgNCwKICBp ZDogMCwKICBpbnRuYXQ6ICcxJyA/IHRydWUgOiBmYWxzZSwKICBob3N0OiAn dmsuY29tJywKICBsYW5nOiAzLAogIHJ0bDogcGFyc2VJbnQoJycpIHx8IDAs CiAgdmVyc2lvbjogMTQxNTksCiAgc3REb21haW5zOiAzLAogIHplcm86IGZh bHNlLAogIGNvbnRsZW46IDE2MDc0LAogIGxvZ2luc2NoZW1lOiAnaHR0cHMn LAogIGlwX2g6ICdjMzk5OTZhMzA1NGUxMDFmZTUnLAogIHZjX2g6ICc2ZmJl MmVkZGMxMThkNzEwY2NiMjQwODI4MzZjNTIxYicsCiAgbmF2UHJlZml4OiAn LycsCiAgZHQ6IHBhcnNlSW50KCcwJykgfHwgMCwKICBmczogcGFyc2VJbnQo JzExJykgfHwgMTEsCiAgdHM6IDEzODI3MzMyMzksCiAgcGQ6IDAsCiAgcGFk czogMSwKICB0aW1lOiBbMjAxMywgMTAsIDI2LCAwLCAzMywgNTldCn0KCndp bmRvdy5sb2NEb21haW4gPSB2ay5ob3N0Lm1hdGNoKC9bYS16QS1aXStcLlth LXpBLVpdK1wuPyQvKVswXTsKdmFyIF91YSA9IG5hdmlnYXRvci51c2VyQWdl bnQudG9Mb3dlckNhc2UoKTsKaWYgKC9vcGVyYS9pLnRlc3QoX3VhKSB8fCAh L21zaWUgNi9pLnRlc3QoX3VhKSB8fCBkb2N1bWVudC5kb21haW4gIT0gbG9j RG9tYWluKSBkb2N1bWVudC5kb21haW4gPSBsb2NEb21haW47CnZhciBfX19o dGVzdCA9IChsb2NhdGlvbi50b1N0cmluZygpLm1hdGNoKC8jKC4qKS8pIHx8 IHt9KVsxXSB8fCAnJywgX19fdG87CmlmICh2ay5hbCAhPSAxICYmIF9fX2h0 ZXN0Lmxlbmd0aCAmJiBfX19odGVzdC5zdWJzdHIoMCwgMSkgPT0gdmsubmF2 UHJlZml4KSB7CiAgaWYgKHZrLmFsICE9IDMgfHwgdmsubmF2UHJlZml4ICE9 ICchJykgewogICAgX19fdG8gPSBfX19odGVzdC5yZXBsYWNlKC9eKFwvfCEp LywgJycpOwogICAgaWYgKF9fX3RvLm1hdGNoKC9eKFteXD9dKlwucGhwfGxv Z2luKShbXmEtejAtOVwuXXwkKS8pKSBfX190byA9ICcnOwogICAgbG9jYXRp b24ucmVwbGFjZShsb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyBsb2NhdGlv bi5ob3N0ICsgJy8nICsgX19fdG8pOwogIH0KfQoKdmFyIFN0YXRpY0ZpbGVz ID0gewogICdjb21tb24uanMnIDoge3Y6IDEwOTZ9LAogICdjb21tb24uY3Nz Jzoge3Y6IDQyN30sCiAgJ2llNi5jc3MnICAgOiB7djogMjZ9LAogICdpZTcu Y3NzJyAgIDoge3Y6IDE4fQogICwnbGFuZzNfMC5qcyc6e3Y6MzM1MH0sJ3Zp ZGVvLmNzcyc6e3Y6MTA5fSwndmlkZW8uanMnOnt2OjEyN30sJ2luZGV4ZXIu anMnOnt2OjE5fSwndWlfY29udHJvbHMuanMnOnt2OjE0N30sJ3VpX2NvbnRy b2xzLmNzcyc6e3Y6NDd9LCd2aWRlb3ZpZXcuanMnOnt2OjE5NH0sJ3ZpZGVv dmlldy5jc3MnOnt2OjExN30sJ3BhZ2UuY3NzJzp7djo2MzB9LCdwYWdlLmpz Jzp7djo3OTF9Cn0KPC9zY3JpcHQ+Cgo8bGluayByZWw9InN0eWxlc2hlZXQi IHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vc3QwLnZrLm1lL2Nzcy9h bC9jb21tb24uY3NzPzQyNyIgLz4KPCEtLVtpZiBsdGUgSUUgNl0+PHN0eWxl IHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4vKiA8IVtDREFUQVsg Ki8gQGltcG9ydCB1cmwoaHR0cDovL3N0MC52ay5tZS9jc3MvYWwvaWU2LmNz cz8yNik7IC8qIF1dPiAqLzwvc3R5bGU+PCFbZW5kaWZdLS0+CjwhLS1baWYg SUUgN10+PHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4v KiA8IVtDREFUQVsgKi8gQGltcG9ydCB1cmwoaHR0cDovL3N0MC52ay5tZS9j c3MvYWwvaWU3LmNzcz8xOCk7IC8qIF1dPiAqLzwvc3R5bGU+PCFbZW5kaWZd LS0+CjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhy ZWY9Imh0dHA6Ly9zdDAudmsubWUvY3NzL2FsL3ZpZGVvLmNzcz8xMDkiPjwv bGluaz48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBo cmVmPSJodHRwOi8vc3QwLnZrLm1lL2Nzcy91aV9jb250cm9scy5jc3M/NDci PjwvbGluaz48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0 IiBocmVmPSJodHRwOi8vc3QwLnZrLm1lL2Nzcy9hbC92aWRlb3ZpZXcuY3Nz PzExNyI+PC9saW5rPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxl c2hlZXQiIGhyZWY9Imh0dHA6Ly9zdDAudmsubWUvY3NzL2FsL3BhZ2UuY3Nz PzYzMCI+PC9saW5rPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRl bnQ9It8g8/Lu9+rgKSkpKSkiIC8+CjxtZXRhIHByb3BlcnR5PSJvZzpkZXNj cmlwdGlvbiIgY29udGVudD0i/fLuIMLH0NvCIMzOx8PAJiMzMzsmIzMzOyYj MzM7IM/w7vHy7iDu8uLg6yDh4Pjq6C4uLiIgLz4KPG1ldGEgcHJvcGVydHk9 Im9nOnR5cGUiIGNvbnRlbnQ9InZpZGVvIj4KPG1ldGEgcHJvcGVydHk9Im9n OnVybCIgY29udGVudD0iaHR0cDovL3ZrLmNvbS92aWRlbzM5NTc2MjIzXzEw ODM3MDUxNSIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29u dGVudD0iVksiIC8+CjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVu dD0iaHR0cDovL3ZpZGVvNDMzLnZrYWRyZS5ydS9hc3NldHMvdGh1bWJuYWls cy84ODYxNWNhOTgxMTk2OTAzLjMyMC52ay5qcGciIC8+CjxtZXRhIHByb3Bl cnR5PSJvZzp2aWRlbzpkdXJhdGlvbiIgY29udGVudD0iMTgzIiAvPgoKPG1l dGEgcHJvcGVydHk9Im9nOnZpZGVvIiBjb250ZW50PSJodHRwOi8vdmsuY29t L3ZpZGVvP2FjdD1nZXRfc3dmJm9pZD0zOTU3NjIyMyZ2aWQ9MTA4MzcwNTE1 JmVtYmVkX2hhc2g9MTUxODRkYmQwODVjNDdhZiIgLz4KPG1ldGEgcHJvcGVy dHk9Im9nOnZpZGVvOnR5cGUiIGNvbnRlbnQ9ImFwcGxpY2F0aW9uL3gtc2hv Y2t3YXZlLWZsYXNoIiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW86d2lk dGgiIGNvbnRlbnQ9IjcyMCIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOnZpZGVv OmhlaWdodCIgY29udGVudD0iNDEwIiAvPgo8c2NyaXB0IHR5cGU9InRleHQv amF2YXNjcmlwdCIgc3JjPSIvanMvbG9hZGVyX25hdjE0MTU5XzMuanMiPjwv c2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0 dHA6Ly9zdDMudmsubWUvanMvYWwvY29tbW9uLmpzPzEwOTZfMzQiPjwvc2Ny aXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qcy9s YW5nM18wLmpzPzMzNTAiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9q YXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9zdDMudmsubWUvanMvYWwvdmlkZW8u anM/MTI3Ij48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw dCIgc3JjPSJodHRwOi8vc3QzLnZrLm1lL2pzL2FsL2luZGV4ZXIuanM/MTki Pjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9 Imh0dHA6Ly9zdDIudmsubWUvanMvbGliL3VpX2NvbnRyb2xzLmpzPzE0NyI+ PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i aHR0cDovL3N0My52ay5tZS9qcy9hbC92aWRlb3ZpZXcuanM/MTk0Ij48L3Nj cmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRw Oi8vc3QyLnZrLm1lL2pzL2FsL3BhZ2UuanM/NzkxIj48L3NjcmlwdD4KCjwv aGVhZD4KCjxib2R5IG9ucmVzaXplPSJvbkJvZHlSZXNpemUoKSIgY2xhc3M9 ImlzX3J0bCBmb250X2RlZmF1bHQgcGFkcyAiPgogIDxkaXYgaWQ9InN5c3Rl bV9tc2ciIGNsYXNzPSJmaXhlZCI+PC9kaXY+CiAgPGRpdiBpZD0idXRpbHMi PjwvZGl2PgoKICA8ZGl2IGlkPSJsYXllcl9iZyIgY2xhc3M9ImZpeGVkIj48 L2Rpdj48ZGl2IGlkPSJsYXllcl93cmFwIiBjbGFzcz0ic2Nyb2xsX2ZpeF93 cmFwIGZpeGVkIj48ZGl2IGlkPSJsYXllciI+PC9kaXY+PC9kaXY+CiAgPGRp diBpZD0iYm94X2xheWVyX2JnIiBjbGFzcz0iZml4ZWQiPjwvZGl2PjxkaXYg aWQ9ImJveF9sYXllcl93cmFwIiBjbGFzcz0ic2Nyb2xsX2ZpeF93cmFwIGZp eGVkIj48ZGl2IGlkPSJib3hfbGF5ZXIiPjxkaXYgaWQ9ImJveF9sb2FkZXIi PjxkaXYgY2xhc3M9ImxvYWRlciI+PC9kaXY+PGRpdiBjbGFzcz0iYmFjayI+ PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CgogIDxkaXYgaWQ9InN0bF9sZWZ0 Ij48L2Rpdj48ZGl2IGlkPSJzdGxfc2lkZSI+PC9kaXY+CgogIDxzY3JpcHQg dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5kb21TdGFydGVkKCk7PC9zY3JpcHQ+ CgogIDxkaXYgY2xhc3M9InNjcm9sbF9maXhfd3JhcCIgaWQ9InBhZ2Vfd3Jh cCI+PGRpdiBpZD0icmVnX2JhciIgY2xhc3M9InRvcF9pbmZvX3dyYXAgZml4 ZWQiPgogIDxkaXYgY2xhc3M9InNjcm9sbF9maXgiPgogICAgPGRpdiBpZD0i cmVnX2Jhcl9jb250ZW50Ij4KICAgICAgSm9pbiBWSyBub3cgYW5kIGFsd2F5 cyBzdGF5IGluIGNvbnRhY3Qgd2l0aCB5b3VyIGZyaWVuZHMgYW5kIHJlbGF0 aXZlcwogICAgICA8ZGl2IGNsYXNzPSJidXR0b25fYmx1ZSIgaWQ9InJlZ19i YXJfYnV0dG9uIj48YSBjbGFzcz0iYnV0dG9uX2xpbmsiIGhyZWY9Ii9qb2lu IiBvbmNsaWNrPSJyZXR1cm4gIXNob3dCb3goJ2pvaW4ucGhwJywge2FjdDog J2JveCcsIGZyb206IG5hdi5zdHJMb2N9LCB7fSwgZXZlbnQpIj48YnV0dG9u IGlkPSJyZWdfYmFyX2J0biI+PHNwYW4gaWQ9InJlZ19iYXJfd2l0aF9hcnIi PlNpZ24gdXA8L3NwYW4+PC9idXR0b24+PC9hPjwvZGl2PgogICAgPC9kaXY+ CiAgPC9kaXY+CjwvZGl2Pgo8ZGl2PjxkaXYgY2xhc3M9InNjcm9sbF9maXgi PgogIDxkaXYgaWQ9InBhZ2VfbGF5b3V0IiBzdHlsZT0id2lkdGg6IDc5MXB4 OyI+CiAgICA8ZGl2IGlkPSJwYWdlX2hlYWRlciIgY2xhc3M9InBfaGVhZDEg cF9oZWFkX2wzIj4KICAgICAgPGRpdiBjbGFzcz0iYmFjayI+PC9kaXY+CiAg ICAgIDxkaXYgY2xhc3M9ImxlZnQiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNz PSJyaWdodCI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgog ICAgICAgIDxkaXYgaWQ9InRvcF9uYXYiIGNsYXNzPSJoZWFkX25hdiI+CiAg PGRpdiBpZD0idG9wX2xvZ29fZG93biIgY2xhc3M9ImZsX2wiPjwvZGl2Pgog IDxhIGlkPSJ0b3BfaG9tZV9saW5rIiBjbGFzcz0idG9wX2hvbWVfbGluayBm bF9sIiBocmVmPSIvIiBvbm1vdXNlZG93bj0iYWRkQ2xhc3MoJ3RvcF9sb2dv X2Rvd24nLCd0bGRfZCcpOyIgb25jbGljaz0icmV0dXJuIG5hdi5nbyh0aGlz LCBldmVudCk7Ij48L2E+CiAgPGRpdiBpZD0idG9wX2xpbmtzIj4KICAgIDxk aXYgY2xhc3M9ImZsX3IiIGlkPSJ0b3BfbWVudV93cmFwIiBzdHlsZT0iIj4K ICAgICAgPGEgaWQ9InRvcF9yZWdfbGluayIgY2xhc3M9ImZsX3IgdG9wX25h dl9saW5rIiBocmVmPSIvam9pbiIgc3R5bGU9IiIgb25jbGljaz0icmV0dXJu ICFzaG93Qm94KCdqb2luLnBocCcsIHthY3Q6ICdib3gnLCBmcm9tOiBuYXYu c3RyTG9jfSwge30sIGV2ZW50KSIgb25tb3VzZWRvd249InRuQWN0aXZlKHRo aXMpIj5zaWduIHVwPC9hPgogICAgICA8YSBpZD0idG9wX3N3aXRjaF9sYW5n IiBjbGFzcz0iZmxfciB0b3BfbmF2X2xpbmsiICBzdHlsZT0iZGlzcGxheTog bm9uZTsiIG9uY2xpY2s9ImFqYXgucG9zdCgnYWxfaW5kZXgucGhwJywge2Fj dDogJ2NoYW5nZV9sYW5nJywgbGFuZ19pZDogMywgaGFzaDogJyd9KTsiIG9u bW91c2Vkb3duPSJ0bkFjdGl2ZSh0aGlzKSI+U3dpdGNoIHRvIEVuZ2xpc2g8 L2E+CiAgICA8L2Rpdj4KICAgIDxhIGNsYXNzPSJmbF9sIHRvcF9uYXZfbGlu ayIgaHJlZj0iIiBpZD0idG9wX2JhY2tfbGluayIgb25jbGljaz0icmV0dXJu IG5hdi5nbyh0aGlzLCBldmVudCwge2JhY2s6IHRydWV9KSIgb25tb3VzZWRv d249InRuQWN0aXZlKHRoaXMpIj48L2E+CiAgPC9kaXY+CjwvZGl2PgogICAg ICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgaWQ9InNpZGVfYmFyIiBj bGFzcz0iZmxfbCIgc3R5bGU9IiI+CiAgICAgIDxkaXYgaWQ9InF1aWNrX2xv Z2luIj4KICA8Zm9ybSBtZXRob2Q9IlBPU1QiIG5hbWU9ImxvZ2luIiBpZD0i cXVpY2tfbG9naW5fZm9ybSIgYWN0aW9uPSJodHRwczovL2xvZ2luLnZrLmNv bS8/YWN0PWxvZ2luIiBvbnN1Ym1pdD0iaWYgKHZrbG9naW4pIHtyZXR1cm4g dHJ1ZX0gZWxzZSB7cXVpY2tfbG9naW4oKTtyZXR1cm4gZmFsc2U7fSI+CiAg ICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3QiIHZhbHVlPSJsb2dp biIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJvbGUiIHZh bHVlPSJhbF9mcmFtZSIgLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5h bWU9ImV4cGlyZSIgaWQ9InF1aWNrX2V4cGlyZV9pbnB1dCIgdmFsdWU9IiIg Lz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNhcHRjaGFfc2lk IiBpZD0icXVpY2tfY2FwdGNoYV9zaWQiIHZhbHVlPSIiIC8+CiAgICA8aW5w dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjYXB0Y2hhX2tleSIgaWQ9InF1aWNr X2NhcHRjaGFfa2V5IiB2YWx1ZT0iIiAvPgogICAgPGlucHV0IHR5cGU9Imhp ZGRlbiIgbmFtZT0iX29yaWdpbiIgdmFsdWU9Imh0dHA6Ly92ay5jb20iIC8+ CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpcF9oIiB2YWx1ZT0i YzM5OTk2YTMwNTRlMTAxZmU1IiAvPgogICAgPGRpdiBjbGFzcz0ibGFiZWwi PlBob25lIG9yIGVtYWlsPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJsYWJlbGVk Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZW1haWwiIGNsYXNzPSJ0ZXh0 IiBpZD0icXVpY2tfZW1haWwiIC8+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJs YWJlbCI+UGFzc3dvcmQ8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImxhYmVsZWQi PjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icGFzcyIgY2xhc3M9InRl eHQiIGlkPSJxdWlja19wYXNzIiBvbmtleXVwPSJ0b2dnbGUoJ3F1aWNrX2V4 cGlyZScsICEhdGhpcy52YWx1ZSk7dG9nZ2xlKCdxdWlja19mb3Jnb3QnLCAh dGhpcy52YWx1ZSkiIC8+PC9kaXY+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0 IiBjbGFzcz0ic3VibWl0IiAvPgogIDwvZm9ybT4KICA8ZGl2IGNsYXNzPSJi dXR0b25fYmx1ZSBidXR0b25fd2lkZSBidXR0b25fYmlnIiBpZD0icXVpY2tf YXV0aF9idXR0b24iPjxidXR0b24gaWQ9InF1aWNrX2xvZ2luX2J1dHRvbiI+ TG9nIGluPC9idXR0b24+PC9kaXY+CiAgPGRpdiBjbGFzcz0iYnV0dG9uX2Js dWUgYnV0dG9uX3dpZGUgYnV0dG9uX2JpZyIgaWQ9InF1aWNrX3JlZ19idXR0 b24iIHN0eWxlPSIiPjxidXR0b24gb25jbGljaz0idG9wLnNob3dCb3goJ2pv aW4ucGhwJywge2FjdDogJ2JveCcsIGZyb206IG5hdi5zdHJMb2N9KSI+U2ln biB1cDwvYnV0dG9uPjwvZGl2PgogIDxkaXYgY2xhc3M9ImNsZWFyIGZvcmdv dCI+PGEgaWQ9InF1aWNrX2ZvcmdvdCIgaHJlZj0iL3Jlc3RvcmUiIHRhcmdl dD0iX3RvcCI+Rm9yZ290IHlvdXIgcGFzc3dvcmQ/PC9hPjxkaXYgY2xhc3M9 ImNoZWNrYm94IHRhX2wiIGlkPSJxdWlja19leHBpcmUiIG9uY2xpY2s9ImNo ZWNrYm94KHRoaXMpO2dlKCdxdWlja19leHBpcmVfaW5wdXQnKS52YWx1ZT1p c0NoZWNrZWQodGhpcyk/MTonJzsiPjxkaXY+PC9kaXY+RG9uJiMzOTt0IHJl bWVtYmVyIG1lPC9kaXY+PC9kaXY+CjwvZGl2PgogICAgPC9kaXY+CgogICAg PGRpdiBpZD0icGFnZV9ib2R5IiBjbGFzcz0iZmxfciIgc3R5bGU9IndpZHRo OiA2MzFweDsiPgogICAgICA8ZGl2IGlkPSJoZWFkZXJfd3JhcDIiPgogICAg ICAgIDxkaXYgaWQ9ImhlYWRlcl93cmFwMSI+CiAgICAgICAgICA8ZGl2IGlk PSJoZWFkZXIiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4KICAgICAgICAgICAg PGgxIGlkPSJ0aXRsZSI+PC9oMT4KICAgICAgICAgIDwvZGl2PgogICAgICAg IDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0id3JhcF9iZXR3 ZWVuIj48L2Rpdj4KICAgICAgPGRpdiBpZD0id3JhcDMiPjxkaXYgaWQ9Indy YXAyIj4KICA8ZGl2IGlkPSJ3cmFwMSI+CiAgICA8ZGl2IGlkPSJjb250ZW50 Ij48ZGl2IGl0ZW1wcm9wPSJ2aWRlbyIgaXRlbXNjb3BlIGl0ZW10eXBlPSJo dHRwOi8vc2NoZW1hLm9yZy9WaWRlb09iamVjdCI+CiAgPGxpbmsgaXRlbXBy b3A9InVybCIgaHJlZj0iaHR0cDovL3ZrLmNvbS92aWRlbzM5NTc2MjIzXzEw ODM3MDUxNSIgLz4KICA8bWV0YSBpdGVtcHJvcD0ibmFtZSIgY29udGVudD0i 3yDz8u736uApKSkpKSIgLz4KICA8bWV0YSBpdGVtcHJvcD0iZGVzY3JpcHRp b24iIGNvbnRlbnQ9Iv3y7iDCx9DbwiDMzsfDwCYjMzM7JiMzMzsmIzMzOyDP 8O7x8u4g7vLi4Osg4eD46uguLi4iIC8+CiAgPG1ldGEgaXRlbXByb3A9ImR1 cmF0aW9uIiBjb250ZW50PSJQVDNNM1MiIC8+CiAgPGxpbmsgaXRlbXByb3A9 InRodW1ibmFpbFVybCIgaHJlZj0iaHR0cDovL3ZpZGVvNDMzLnZrYWRyZS5y dS9hc3NldHMvdGh1bWJuYWlscy84ODYxNWNhOTgxMTk2OTAzLjQ2MC52ay5q cGciIC8+CiAgPHNwYW4gaXRlbXByb3A9InRodW1ibmFpbCIgaXRlbXNjb3Bl IGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9JbWFnZU9iamVjdCI+CiAg ICA8bGluayBpdGVtcHJvcD0idXJsIiBocmVmPSJodHRwOi8vdmlkZW80MzMu dmthZHJlLnJ1L2Fzc2V0cy90aHVtYm5haWxzLzg4NjE1Y2E5ODExOTY5MDMu MzIwLnZrLmpwZyIgLz4KICAgIDxtZXRhIGl0ZW1wcm9wPSJ3aWR0aCIgY29u dGVudD0iMzIwIiAvPgogICAgPG1ldGEgaXRlbXByb3A9ImhlaWdodCIgY29u dGVudD0iMjQwIiAvPgogIDwvc3Bhbj4KPC9kaXY+PGRpdiBjbGFzcz0idF9i YXIgY2xlYXJfZml4IiBpZD0idmlkZW9fdGFicyI+CiAgPHVsIGNsYXNzPSJ0 MCI+PGxpIGNsYXNzPSIgYWN0aXZlX2xpbmsiIGlkPSJ2aWRlb190YWJfYWxs Ij4KICA8YSBocmVmPSIvdmlkZW9zMzk1NzYyMjMiIG9uY2xpY2s9InJldHVy biBjaGVja0V2ZW50KGV2ZW50KTsiIG9ubW91c2Vkb3duPSJyZXR1cm4gbmF2 LmNoYW5nZSh7c2VjdGlvbjogJ2FsbCd9KTsiPgogICAgPGIgY2xhc3M9InRs MSI+PGI+PC9iPjwvYj4KICAgIDxiIGNsYXNzPSJ0bDIiPjwvYj4KICAgIDxi IGNsYXNzPSJ0YWJfd29yZCI+PG5vYnI+QWxsIHZpZGVvczwvbm9icj48L2I+ CiAgPC9hPgo8L2xpPjxsaSBjbGFzcz0idmlkZW9fdGFiX2hpZGRlbiIgaWQ9 InZpZGVvX3RhYl9oaWRkZW4iPgogIDxhIGhyZWY9Ii92aWRlb3MzOTU3NjIy MyIgb25jbGljaz0icmV0dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgb25tb3Vz ZWRvd249InJldHVybiBmYWxzZTsiPgogICAgPGIgY2xhc3M9InRsMSI+PGI+ PC9iPjwvYj4KICAgIDxiIGNsYXNzPSJ0bDIiPjwvYj4KICAgIDxiIGNsYXNz PSJ0YWJfd29yZCI+PG5vYnI+PC9ub2JyPjwvYj4KICA8L2E+CjwvbGk+PGxp IGNsYXNzPSJ0X3IiPjxkaXYgaWQ9InZpZGVvX3RhYnNfcHJvZ3Jlc3MiIGNs YXNzPSJwcm9ncmVzcyI+PC9kaXY+PC9saT48L3VsPgo8L2Rpdj4KPGRpdiBp ZD0idmlkZW9fY29udGVudCIgY2xhc3M9InZpZGVvX2FsYnVtc19oaWRkZW4g dmlkZW9fbm9fYWxidW1zIj4KICA8ZGl2IGlkPSJ2aWRlb19zZWFyY2giIHN0 eWxlPSJkaXNwbGF5OiBub25lOyIgY2xhc3M9InZpZGVvX3NlYXJjaCB0b3Bf c2VhcmNoX3dyYXAgbm9fdmlkZW9fdXBsb2FkIj4KICAgIAogICAgPGRpdiBj bGFzcz0idmlkZW9fbG9hZGluZ19jb250Ij4KICAgICAgPGRpdiBjbGFzcz0i dmlkZW9fbG9hZGluZyI+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9 InZpZGVvX3Jlc2V0X3NlYXJjaCIgY2xhc3M9InZpZGVvX3Jlc2V0X3NlYXJj aCIgb25tb3VzZW92ZXI9InNldFN0eWxlKHRoaXMsIHtvcGFjaXR5OiAxfSk7 IiBvbm1vdXNlb3V0PSJzZXRTdHlsZSh0aGlzLCB7b3BhY2l0eTogMC42fSk7 IiBvbmNsaWNrPSJWaWRlby5zZWFyY2hWaWRlb3MoZmFsc2UpOyI+PC9kaXY+ CiAgICA8ZGl2IGlkPSJ2aWRlb19zZWFyY2hfY29udHJvbHMiPgogICAgICA8 ZGl2IGNsYXNzPSJ2aWRlb19zZWFyY2hfY29udCI+CiAgICAgICAgPGRpdiBj bGFzcz0idmlkZW9fY2hlY2tib3ggY2hlY2tib3ggZmxfbCIgaWQ9InZpZGVv X2hkX29wdGlvbiIgb25jbGljaz0iY2hlY2tib3godGhpcyk7IFZpZGVvLnRv Z2dsZUhEKDEpOyI+PGRpdj48L2Rpdj5IaWdoLWRlZmluaXRpb24gb25seTwv ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlb19jaGVja2JveCBj aGVja2JveCBvbiBmbF9sIiBpZD0idmlkZW9fYWR1bHRfb3B0aW9uIiBvbmNs aWNrPSJjaGVja2JveCh0aGlzKTsgVmlkZW8udG9nZ2xlQWR1bHQoKTsiPjxk aXY+PC9kaXY+U2FmZSBzZWFyY2g8L2Rpdj4KICAgICAgICA8YSBpZD0idmlk ZW9fbGVuZ3RoXzAiIGNsYXNzPSJ2aWRlb19sZW5ndGggdmlkZW9fbGVuZ3Ro X3NlbCBmbF9yIiBvbmNsaWNrPSJyZXR1cm4gVmlkZW8udG9nZ2xlTGVuZ3Ro KHRoaXMsIDApOyI+QWxsIHZpZGVvczwvYT4KICAgICAgICA8YSBpZD0idmlk ZW9fbGVuZ3RoXzEiIGNsYXNzPSJ2aWRlb19sZW5ndGggZmxfciIgb25jbGlj az0icmV0dXJuIFZpZGVvLnRvZ2dsZUxlbmd0aCh0aGlzLCAxKTsiPlNob3J0 PC9hPgogICAgICAgIDxhIGlkPSJ2aWRlb19sZW5ndGhfMiIgY2xhc3M9InZp ZGVvX2xlbmd0aCBmbF9yIiBvbmNsaWNrPSJyZXR1cm4gVmlkZW8udG9nZ2xl TGVuZ3RoKHRoaXMsIDIpOyI+TG9uZzwvYT4KCiAgICAgICAgPC9kaXY+CiAg ICAgICAgPGJyIGNsYXNzPSJjbGVhciIgLz4KICAgIDwvZGl2PgogICAgPGlu cHV0IHR5cGU9InRleHQiIGlkPSJ2X3NlYXJjaCIgb25rZXlkb3duPSJWaWRl by51cGRhdGVMaXN0KGV2ZW50LCB0aGlzKTsiIG9ucGFzdGU9IlZpZGVvLnVw ZGF0ZUxpc3QoZXZlbnQsIHRoaXMpOyIgb25jdXQ9IlZpZGVvLnVwZGF0ZUxp c3QoZXZlbnQsIHRoaXMpOyIgY2xhc3M9InRleHQgdmlkZW9fc2VhcmNoX2lu cHV0IHRvcF9zZWFyY2hfaW5wIiBwbGFjZWhvbGRlcj0iU2VhcmNoIHZpZGVv cyIgb25mb2N1cz0iYWRkQ2xhc3MoY3VyLnZMaXN0LCAnc2VhcmNoX2ZvY3Vz Jyk7IiBvbmJsdXI9InJlbW92ZUNsYXNzKGN1ci52TGlzdCwgJ3NlYXJjaF9m b2N1cycpOyIgLz4KICA8L2Rpdj4KICA8ZGl2IGlkPSJ2aWRlb19hbGJ1bXNf bGlzdCIgc3R5bGU9IiIgY2xhc3M9IiI+CgogICAgPGRpdiBjbGFzcz0ic3Vt bWFyeV93cmFwIj4KICAgICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAg ICAgICA8YSBpZD0idmlkZW9fY3JlYXRlX2FsYnVtIiBjbGFzcz0iZmxfciIg b25jbGljaz0iVmlkZW8uY3JlYXRlQWxidW0oKSIgc3R5bGU9ImRpc3BsYXk6 IG5vbmU7Ij5OZXcgZm9sZGVyPC9hPgogICAgICAgIDxkaXYgaWQ9InZpZGVv X2FsYnVtc19zdW1tYXJ5IiBjbGFzcz0ic3VtbWFyeSAiPkFsZXhhbmRlciBo YXMgMCBmb2xkZXJzPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAg ICA8ZGl2IGNsYXNzPSJ2aWRlb19hbGJ1bXNfY29udCIgaWQ9InZpZGVvX2Fs YnVtc19jb250Ij4KICAgICAgCiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2 IGNsYXNzPSJzdW1tYXJ5X3dyYXAgdmlkZW9fbWFpbl9zdW1tYXJ5Ij4KICAg IDxkaXYgY2xhc3M9ImNsZWFyX2ZpeCI+CiAgICAgIDxhIGlkPSJ2aWRlb19j b21tZW50c19saW5rIiBzdHlsZT0iIiBocmVmPSIvdmlkZW9zMzk1NzYyMjM/ c2VjdGlvbj1jb21tZW50cyIgY2xhc3M9ImZsX3IiIG9uY2xpY2s9InJldHVy biBuYXYuY2hhbmdlKHtzZWN0aW9uOiAnY29tbWVudHMnfSk7Ij5Ccm93c2Ug Y29tbWVudHM8L2E+CiAgICAgIDxkaXYgaWQ9InZpZGVvX3N1bW1hcnkiIGNs YXNzPSJzdW1tYXJ5IGZsX2wiPjUgdmlkZW9zPC9kaXY+CiAgICAgIAogICAg PC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBpZD0idmlkZW9fbGlzdCIgY2xhc3M9 InZpZGVvX2xpc3QiPgogICAgPGRpdiBpZD0idmlkZW9fcm93cyIgY2xhc3M9 ImNsZWFyX2FsbCAiPjxkaXYgaWQ9InZpZGVvX2NvbnQzOTU3NjIyM18xNjYz MTU1NDMiIGNsYXNzPSJ2aWRlb19yb3dfY29udCI+PGRpdiBjbGFzcz0idmlk ZW9fcm93X2lubmVyX2NvbnQiPjxhIGhyZWY9Ii92aWRlbzM5NTc2MjIzXzE2 NjMxNTU0MyIgY2xhc3M9InZpZGVvX3Jvd19yZWxhdGl2ZSIgaWQ9InZpZGVv X3JvdzM5NTc2MjIzXzE2NjMxNTU0MyIgb25tb3VzZW92ZXI9IlZpZGVvLnJv d092ZXIodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5yb3dPdXQodGhpcyki IG9uY2xpY2s9ImlmIChjdXIuY2FuY2VsQ2xpY2spIHJldHVybiAoY3VyLmNh bmNlbENsaWNrID0gZmFsc2UpOyByZXR1cm4gVmlkZW8uc2hvdyhldmVudCwg JzM5NTc2MjIzXzE2NjMxNTU0MycsIHt9LCB0aGlzKTsiPgogICAgCiAgICA8 ZGl2IGNsYXNzPSJ2aWRlb19yb3dfaW5mb19saW5lIj48ZGl2IGNsYXNzPSJ2 aWRlb19yYXdfaW5mb19uYW1lIj7Q5err4OzgICZxdW90O8zl7fLu8SZxdW90 OyAo7/Do6u7rKTwvZGl2PjxkaXYgY2xhc3M9InZpZGVvX3Jvd19kdXJhdGlv biI+MDoyOTwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0idmlkZW9fcm93 X2luZm9fcGxheSI+PC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InZpZGVv X3Jvd19jb250cm9scyI+CiAgICAgIDxkaXYgY2xhc3M9InZpZGVvX3Jvd19p Y29uX2VkaXQgZmxfbCIgb25tb3VzZW92ZXI9IlZpZGVvLmFjdGl2YXRlKHRo aXMpOyIgb25tb3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0aGlzKTsiIG9u Y2xpY2s9InJldHVybiB2aWRlb3ZpZXcuc2hvd0VkaXRCb3goMTY2MzE1NTQz LCAzOTU3NjIyMywgZXZlbnQpOyI+PGRpdiBjbGFzcz0idmlkZW9fcm93X2lj b24iPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2aWRlb19yb3df aWNvbl9kZWxldGUgZmxfbCIgb25tb3VzZW92ZXI9IlZpZGVvLmFjdGl2YXRl KHRoaXMpOyIgb25tb3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0aGlzKTsi IG9uY2xpY2s9InJldHVybiBWaWRlby5vbkRlbGV0ZUNsaWNrKDE2NjMxNTU0 MywgMzk1NzYyMjMsICdfYTBhMzZiNmNhM2IyNTAwZGFlJywgdGhpcywgZXZl bnQpOyI+PGRpdiBjbGFzcz0idmlkZW9fcm93X2ljb24iPjwvZGl2PjwvZGl2 PgogICAgICA8YnIgY2xhc3M9ImNsZWFyIiAvPgogICAgPC9kaXY+CiAgICA8 ZGl2IGNsYXNzPSJ2aWRlb19pbWFnZV9kaXYiIHN0eWxlPSJiYWNrZ3JvdW5k LWltYWdlOiB1cmwoJ2h0dHA6Ly92aWRlbzQ0OC52a2FkcmUucnUvYXNzZXRz L3RodW1ibmFpbHMvM2VkYWJmYzU3NzAzMTU4MC4zMjAudmsuanBnJyk7Ij48 L2Rpdj4KICA8L2E+PC9kaXY+CjwvZGl2PjxkaXYgaWQ9InZpZGVvX2NvbnQz OTU3NjIyM18xNjU2MDc0NDUiIGNsYXNzPSJ2aWRlb19yb3dfY29udCI+PGRp diBjbGFzcz0idmlkZW9fcm93X2lubmVyX2NvbnQiPjxhIGhyZWY9Ii92aWRl bzM5NTc2MjIzXzE2NTYwNzQ0NSIgY2xhc3M9InZpZGVvX3Jvd19yZWxhdGl2 ZSIgaWQ9InZpZGVvX3JvdzM5NTc2MjIzXzE2NTYwNzQ0NSIgb25tb3VzZW92 ZXI9IlZpZGVvLnJvd092ZXIodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5y b3dPdXQodGhpcykiIG9uY2xpY2s9ImlmIChjdXIuY2FuY2VsQ2xpY2spIHJl dHVybiAoY3VyLmNhbmNlbENsaWNrID0gZmFsc2UpOyByZXR1cm4gVmlkZW8u c2hvdyhldmVudCwgJzM5NTc2MjIzXzE2NTYwNzQ0NScsIHt9LCB0aGlzKTsi PgogICAgCiAgICA8ZGl2IGNsYXNzPSJ2aWRlb19yb3dfaW5mb19saW5lIj48 ZGl2IGNsYXNzPSJ2aWRlb19yYXdfaW5mb19uYW1lIj71L/QgJnF1b3Q70eXs 5ent7uUg5OXr7iZxdW90OzwvZGl2PjxkaXYgY2xhc3M9InZpZGVvX3Jvd19k dXJhdGlvbiI+Mjo0MDwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0idmlk ZW9fcm93X2luZm9fcGxheSI+PC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9 InZpZGVvX3Jvd19jb250cm9scyI+CiAgICAgIDxkaXYgY2xhc3M9InZpZGVv X3Jvd19pY29uX2VkaXQgZmxfbCIgb25tb3VzZW92ZXI9IlZpZGVvLmFjdGl2 YXRlKHRoaXMpOyIgb25tb3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0aGlz KTsiIG9uY2xpY2s9InJldHVybiB2aWRlb3ZpZXcuc2hvd0VkaXRCb3goMTY1 NjA3NDQ1LCAzOTU3NjIyMywgZXZlbnQpOyI+PGRpdiBjbGFzcz0idmlkZW9f cm93X2ljb24iPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2aWRl b19yb3dfaWNvbl9kZWxldGUgZmxfbCIgb25tb3VzZW92ZXI9IlZpZGVvLmFj dGl2YXRlKHRoaXMpOyIgb25tb3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0 aGlzKTsiIG9uY2xpY2s9InJldHVybiBWaWRlby5vbkRlbGV0ZUNsaWNrKDE2 NTYwNzQ0NSwgMzk1NzYyMjMsICdfOTM0OWYxYjQ1MDE0ZjY3NGRlJywgdGhp cywgZXZlbnQpOyI+PGRpdiBjbGFzcz0idmlkZW9fcm93X2ljb24iPjwvZGl2 PjwvZGl2PgogICAgICA8YnIgY2xhc3M9ImNsZWFyIiAvPgogICAgPC9kaXY+ CiAgICA8ZGl2IGNsYXNzPSJ2aWRlb19pbWFnZV9kaXYiIHN0eWxlPSJiYWNr Z3JvdW5kLWltYWdlOiB1cmwoJ2h0dHA6Ly9jczEyOTQ3LnZrLm1lL3UyNzA5 MTQ4L3ZpZGVvL2xfN2NhZWIxNWUuanBnJyk7Ij48L2Rpdj4KICA8L2E+PC9k aXY+CjwvZGl2PjxkaXYgaWQ9InZpZGVvX2NvbnQzOTU3NjIyM18xNjU1NTM3 NjYiIGNsYXNzPSJ2aWRlb19yb3dfY29udCI+PGRpdiBjbGFzcz0idmlkZW9f cm93X2lubmVyX2NvbnQiPjxhIGhyZWY9Ii92aWRlbzM5NTc2MjIzXzE2NTU1 Mzc2NiIgY2xhc3M9InZpZGVvX3Jvd19yZWxhdGl2ZSIgaWQ9InZpZGVvX3Jv dzM5NTc2MjIzXzE2NTU1Mzc2NiIgb25tb3VzZW92ZXI9IlZpZGVvLnJvd092 ZXIodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5yb3dPdXQodGhpcykiIG9u Y2xpY2s9ImlmIChjdXIuY2FuY2VsQ2xpY2spIHJldHVybiAoY3VyLmNhbmNl bENsaWNrID0gZmFsc2UpOyByZXR1cm4gVmlkZW8uc2hvdyhldmVudCwgJzM5 NTc2MjIzXzE2NTU1Mzc2NicsIHt9LCB0aGlzKTsiPgogICAgCiAgICA8ZGl2 IGNsYXNzPSJ2aWRlb19yb3dfaW5mb19saW5lIj48ZGl2IGNsYXNzPSJ2aWRl b19yYXdfaW5mb19uYW1lIj7R6Ozv8e7t+yAvIFRoZSBTaW1wc29ucyAyNCDx 5efu7SAxNyDx5fDo/zwvZGl2PjxkaXYgY2xhc3M9InZpZGVvX3Jvd19kdXJh dGlvbiI+MjE6NTI8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InZpZGVv X3Jvd19pbmZvX3BsYXkiPjwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJ2 aWRlb19yb3dfY29udHJvbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ2aWRlb19y b3dfaWNvbl9lZGl0IGZsX2wiIG9ubW91c2VvdmVyPSJWaWRlby5hY3RpdmF0 ZSh0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLmRlYWN0aXZhdGUodGhpcyk7 IiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNob3dFZGl0Qm94KDE2NTU1 Mzc2NiwgMzk1NzYyMjMsIGV2ZW50KTsiPjxkaXYgY2xhc3M9InZpZGVvX3Jv d19pY29uIj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmlkZW9f cm93X2ljb25fZGVsZXRlIGZsX2wiIG9ubW91c2VvdmVyPSJWaWRlby5hY3Rp dmF0ZSh0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLmRlYWN0aXZhdGUodGhp cyk7IiBvbmNsaWNrPSJyZXR1cm4gVmlkZW8ub25EZWxldGVDbGljaygxNjU1 NTM3NjYsIDM5NTc2MjIzLCAnX2ZjOWYwZjhmYzE0YTYzMjk0MicsIHRoaXMs IGV2ZW50KTsiPjxkaXYgY2xhc3M9InZpZGVvX3Jvd19pY29uIj48L2Rpdj48 L2Rpdj4KICAgICAgPGJyIGNsYXNzPSJjbGVhciIgLz4KICAgIDwvZGl2Pgog ICAgPGRpdiBjbGFzcz0idmlkZW9faW1hZ2VfZGl2IiBzdHlsZT0iYmFja2dy b3VuZC1pbWFnZTogdXJsKCdodHRwOi8vY3M1MjY0MDQudmsubWUvdTg2MzMy MDc2L3ZpZGVvL2xfYjAwMWI3ZTMuanBnJyk7Ij48L2Rpdj4KICA8L2E+PC9k aXY+CjwvZGl2PjxkaXYgaWQ9InZpZGVvX2NvbnQzOTU3NjIyM18xNjE1OTg1 NDQiIGNsYXNzPSJ2aWRlb19yb3dfY29udCI+PGRpdiBjbGFzcz0idmlkZW9f cm93X2lubmVyX2NvbnQiPjxhIGhyZWY9Ii92aWRlbzM5NTc2MjIzXzE2MTU5 ODU0NCIgY2xhc3M9InZpZGVvX3Jvd19yZWxhdGl2ZSIgaWQ9InZpZGVvX3Jv dzM5NTc2MjIzXzE2MTU5ODU0NCIgb25tb3VzZW92ZXI9IlZpZGVvLnJvd092 ZXIodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5yb3dPdXQodGhpcykiIG9u Y2xpY2s9ImlmIChjdXIuY2FuY2VsQ2xpY2spIHJldHVybiAoY3VyLmNhbmNl bENsaWNrID0gZmFsc2UpOyByZXR1cm4gVmlkZW8uc2hvdyhldmVudCwgJzM5 NTc2MjIzXzE2MTU5ODU0NCcsIHt9LCB0aGlzKTsiPgogICAgCiAgICA8ZGl2 IGNsYXNzPSJ2aWRlb19yb3dfaW5mb19saW5lIj48ZGl2IGNsYXNzPSJ2aWRl b19yYXdfaW5mb19uYW1lIj5IYXJyeSBQYXJ0cmlkZ2UgLSBTa3lyaW0gKPDz 8fHq4P8g7ufi8/fq4Ck8L2Rpdj48ZGl2IGNsYXNzPSJ2aWRlb19yb3dfZHVy YXRpb24iPjE6MjU8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InZpZGVv X3Jvd19pbmZvX3BsYXkiPjwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJ2 aWRlb19yb3dfY29udHJvbHMiPgogICAgICA8ZGl2IGNsYXNzPSJ2aWRlb19y b3dfaWNvbl9lZGl0IGZsX2wiIG9ubW91c2VvdmVyPSJWaWRlby5hY3RpdmF0 ZSh0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLmRlYWN0aXZhdGUodGhpcyk7 IiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNob3dFZGl0Qm94KDE2MTU5 ODU0NCwgMzk1NzYyMjMsIGV2ZW50KTsiPjxkaXYgY2xhc3M9InZpZGVvX3Jv d19pY29uIj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmlkZW9f cm93X2ljb25fZGVsZXRlIGZsX2wiIG9ubW91c2VvdmVyPSJWaWRlby5hY3Rp dmF0ZSh0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLmRlYWN0aXZhdGUodGhp cyk7IiBvbmNsaWNrPSJyZXR1cm4gVmlkZW8ub25EZWxldGVDbGljaygxNjE1 OTg1NDQsIDM5NTc2MjIzLCAnXzdjYzE1NDIyNmVmMTI1ODA2MicsIHRoaXMs IGV2ZW50KTsiPjxkaXYgY2xhc3M9InZpZGVvX3Jvd19pY29uIj48L2Rpdj48 L2Rpdj4KICAgICAgPGJyIGNsYXNzPSJjbGVhciIgLz4KICAgIDwvZGl2Pgog ICAgPGRpdiBjbGFzcz0idmlkZW9faW1hZ2VfZGl2IiBzdHlsZT0iYmFja2dy b3VuZC1pbWFnZTogdXJsKCdodHRwOi8vY3M0NjQ5LnZrLm1lL3U1NTE4NDAw L3ZpZGVvL2xfNmVkODVkZTAuanBnJyk7Ij48L2Rpdj4KICA8L2E+PC9kaXY+ CjwvZGl2PjxkaXYgaWQ9InZpZGVvX2NvbnQzOTU3NjIyM18xMDgzNzA1MTUi IGNsYXNzPSJ2aWRlb19yb3dfY29udCI+PGRpdiBjbGFzcz0idmlkZW9fcm93 X2lubmVyX2NvbnQiPjxhIGhyZWY9Ii92aWRlbzM5NTc2MjIzXzEwODM3MDUx NSIgY2xhc3M9InZpZGVvX3Jvd19yZWxhdGl2ZSIgaWQ9InZpZGVvX3JvdzM5 NTc2MjIzXzEwODM3MDUxNSIgb25tb3VzZW92ZXI9IlZpZGVvLnJvd092ZXIo dGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5yb3dPdXQodGhpcykiIG9uY2xp Y2s9ImlmIChjdXIuY2FuY2VsQ2xpY2spIHJldHVybiAoY3VyLmNhbmNlbENs aWNrID0gZmFsc2UpOyByZXR1cm4gVmlkZW8uc2hvdyhldmVudCwgJzM5NTc2 MjIzXzEwODM3MDUxNScsIHt9LCB0aGlzKTsiPgogICAgCiAgICA8ZGl2IGNs YXNzPSJ2aWRlb19yb3dfaW5mb19saW5lIj48ZGl2IGNsYXNzPSJ2aWRlb19y YXdfaW5mb19uYW1lIj7fIPPy7vfq4CkpKSkpPC9kaXY+PGRpdiBjbGFzcz0i dmlkZW9fcm93X2R1cmF0aW9uIj4zOjAzPC9kaXY+PC9kaXY+CiAgICA8ZGl2 IGNsYXNzPSJ2aWRlb19yb3dfaW5mb19wbGF5Ij48L2Rpdj4KICAgIAogICAg PGRpdiBjbGFzcz0idmlkZW9fcm93X2NvbnRyb2xzIj4KICAgICAgPGRpdiBj bGFzcz0idmlkZW9fcm93X2ljb25fZWRpdCBmbF9sIiBvbm1vdXNlb3Zlcj0i VmlkZW8uYWN0aXZhdGUodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5kZWFj dGl2YXRlKHRoaXMpOyIgb25jbGljaz0icmV0dXJuIHZpZGVvdmlldy5zaG93 RWRpdEJveCgxMDgzNzA1MTUsIDM5NTc2MjIzLCBldmVudCk7Ij48ZGl2IGNs YXNzPSJ2aWRlb19yb3dfaWNvbiI+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYg Y2xhc3M9InZpZGVvX3Jvd19pY29uX2RlbGV0ZSBmbF9sIiBvbm1vdXNlb3Zl cj0iVmlkZW8uYWN0aXZhdGUodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5k ZWFjdGl2YXRlKHRoaXMpOyIgb25jbGljaz0icmV0dXJuIFZpZGVvLm9uRGVs ZXRlQ2xpY2soMTA4MzcwNTE1LCAzOTU3NjIyMywgJ18zYTU5YTk5Yjk4NDlk OGU3ZTEnLCB0aGlzLCBldmVudCk7Ij48ZGl2IGNsYXNzPSJ2aWRlb19yb3df aWNvbiI+PC9kaXY+PC9kaXY+CiAgICAgIDxiciBjbGFzcz0iY2xlYXIiIC8+ CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InZpZGVvX2ltYWdlX2RpdiIg c3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL3ZpZGVvNDMz LnZrYWRyZS5ydS9hc3NldHMvdGh1bWJuYWlscy84ODYxNWNhOTgxMTk2OTAz LjMyMC52ay5qcGcnKTsiPjwvZGl2PgogIDwvYT48L2Rpdj4KPC9kaXY+PC9k aXY+CiAgICA8ZGl2IGlkPSJ2aWRlb19zZWFyY2hfc3VtbWFyeSIgY2xhc3M9 InN1bW1hcnlfd3JhcCBjbGVhciIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjwv ZGl2PgogICAgPGEgaWQ9InZpZGVvX3NvcnRfZGQiIGNsYXNzPSJkZF9saW5r IGZsX3IiPkJ5IHJlbGV2YW5jZTwvYT4KICAgIDxkaXYgaWQ9InZpZGVvX3Nl YXJjaF9yb3dzIj4KICAgIDwvZGl2PgogICAgPGRpdiBpZD0ic2hvd19tb3Jl IiBjbGFzcz0ic2hvd19tb3JlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgog ICAgICA8YSBocmVmPSIiIG9uY2xpY2s9IlZpZGVvLnNob3dNb3JlKCk7IHJl dHVybiBmYWxzZTsiIGNsYXNzPSJtb3JlIj4KICAgICAgICBTaG93IG1vcmUK ICAgICAgPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjbGVhciI+ CiAgICAgIDxkaXYgaWQ9Im5vdF9mb3VuZCIgY2xhc3M9InZpZGVvX2luZm9f bXNnICIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICA8c3BhbiBjbGFzcz0i dmlkZW9fZW1wdHkiPlRoZXJlIGFyZSBubyB2aWRlb3MuPC9zcGFuPgogIDxz cGFuIGNsYXNzPSJ2aWRlb19ieV9zZWFyY2giPllvdXIgc2VhcmNoIGZvciA8 Yj48c3BhbiBpZD0ic2VhcmNoX3BoIj48L3NwYW4+PC9iPiByZXR1cm5lZCBu byB2aWRlb3MuPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJ2aWRlb19lbXB0eV9h bGJ1bSI+Tm8gdmlkZW9zIGluIHRoaXMgZm9sZGVyIHlldC48L3NwYW4+Cjwv ZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pgo8ZGl2IGlkPSJwYWdl X2VuZCI+PC9kaXY+PC9kaXY+CiAgPC9kaXY+CjwvZGl2PjwvZGl2PgogICAg PC9kaXY+CgogICAgPGRpdiBpZD0iZm9vdGVyX3dyYXAiIGNsYXNzPSJmbF9y IiBzdHlsZT0id2lkdGg6IDY2MXB4OyI+CiAgICAgIDxkaXYgaWQ9ImJvdHRv bV9uYXYiPgogIDxhIGNsYXNzPSJibmF2X2EiIGhyZWY9Ii9hYm91dCI+YWJv dXQ8L2E+CiAgPGEgY2xhc3M9ImJuYXZfYSIgaHJlZj0iL3N1cHBvcnQ/YWN0 PW5ldyIgb25jbGljaz0icmV0dXJuIG5hdi5nbyh0aGlzLCBldmVudCk7IiBz dHlsZT0iZGlzcGxheTogbm9uZTsiPmhlbHA8L2E+CiAgPGEgY2xhc3M9ImJu YXZfYSIgaHJlZj0iL3Rlcm1zIj50ZXJtczwvYT4KICA8YSBjbGFzcz0iYm5h dl9hIiBocmVmPSIvcGVvcGxlIj5wZW9wbGU8L2E+PGEgY2xhc3M9ImJuYXZf YSIgaHJlZj0iL2NvbW11bml0aWVzIj5jb21tdW5pdGllczwvYT4KICA8YSBj bGFzcz0iYm5hdl9hIiBocmVmPSIvZGV2Ij5kZXZlbG9wZXJzPC9hPgo8L2Rp dj4KPHAgaWQ9ImZvb3RlciI+CiAgPGRpdiBjbGFzcz0iY29weV9sYW5nIj48 YSBocmVmPSIvYWJvdXQiPlZLPC9hPiAmY29weTsgMjAxMyA8YSBjbGFzcz0i Ym5hdl9sYW5nIiBvbmNsaWNrPSJhamF4LnBvc3QoJ2FsX2luZGV4LnBocCcs IHthY3Q6ICdjaGFuZ2VfbGFuZycsIGxhbmdfaWQ6IDMsIGhhc2g6ICczOTdm YTRkMTFkMTY5MTBmNzMnfSkiPkVuZ2xpc2g8L2E+PGEgY2xhc3M9ImJuYXZf bGFuZyIgb25jbGljaz0iYWpheC5wb3N0KCdhbF9pbmRleC5waHAnLCB7YWN0 OiAnY2hhbmdlX2xhbmcnLCBsYW5nX2lkOiAwLCBoYXNoOiAnMzk3ZmE0ZDEx ZDE2OTEwZjczJ30pIj7Q8/Hx6ujpPC9hPjxhIGNsYXNzPSJibmF2X2xhbmci IG9uY2xpY2s9ImFqYXgucG9zdCgnYWxfaW5kZXgucGhwJywge2FjdDogJ2No YW5nZV9sYW5nJywgbGFuZ19pZDogMSwgaGFzaDogJzM5N2ZhNGQxMWQxNjkx MGY3Myd9KSI+0+rw4L/t8fzq4DwvYT48YSBjbGFzcz0iYm5hdl9sYW5nIiBv bmNsaWNrPSJzaG93Qm94KCdsYW5nLnBocCcsIHthY3Q6ICdsYW5nX2RpYWxv Zyd9LCB7bm9yZWxvYWQ6IHRydWV9KSI+YWxsIGxhbmd1YWdlcyC7PC9hPjwv ZGl2PgogIAogIDxkaXY+CiAgICAKICAgIAogIDwvZGl2Pgo8L3A+CiAgICA8 L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4KICA8L2Rpdj4K PC9kaXY+PC9kaXY+PC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MiIGlk PSJnbG9iYWxfcHJnIj48L2Rpdj4KCiAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph dmFzY3JpcHQiPgogICAgaWYgKHBhcmVudCAmJiBwYXJlbnQgIT0gd2luZG93 ICYmIChicm93c2VyLm1zaWUgfHwgYnJvd3Nlci5vcGVyYSB8fCBicm93c2Vy Lm1vemlsbGEgfHwgYnJvd3Nlci5jaHJvbWUgfHwgYnJvd3Nlci5zYWZhcmkg fHwgYnJvd3Nlci5pcGhvbmUpKSB7CiAgICAgIGRvY3VtZW50LmdldEVsZW1l bnRzQnlUYWdOYW1lKCdib2R5JylbMF0uaW5uZXJIVE1MID0gJyc7CiAgICB9 IGVsc2UgewogICAgICBkb21SZWFkeSgpOwogICAgICB1cGRhdGVNb25leSgw KTsKZ1NlYXJjaC5pbml0KCk7CmlmICh3aW5kb3cucUFyciAmJiBxQXJyWzVd KSBxQXJyWzVdID0gWzUsICJieSBpdGVtIiwgIiIsICJnb29kcyIsIDB4MDAw MDAxMDBdOwppZiAoYnJvd3Nlci5pcGhvbmUgfHwgYnJvd3Nlci5pcGFkIHx8 IGJyb3dzZXIuaXBvZCkgewogIHNldFN0eWxlKGJvZHlOb2RlLCB7d2Via2l0 VGV4dFNpemVBZGp1c3Q6ICdub25lJ30pOwp9dmFyIHFmID0gZ2UoJ3F1aWNr X2xvZ2luX2Zvcm0nKSwgcWwgPSBnZSgncXVpY2tfbG9naW4nKSwgcWUgPSBn ZSgncXVpY2tfZW1haWwnKSwgcXAgPSBnZSgncXVpY2tfcGFzcycpOwp2YXIg cWxiID0gZ2UoJ3F1aWNrX2xvZ2luX2J1dHRvbicpLCBwcmdCdG4gPSBxbGI7 Cgp2YXIgcWluaXQgPSBmdW5jdGlvbigpIHsKICBzZXRUaW1lb3V0KGZ1bmN0 aW9uKCkgewogICAgcWwuaW5zZXJ0QmVmb3JlKGNlKCdkaXYnLCB7aW5uZXJI VE1MOiAnPGlmcmFtZSBjbGFzcz0idXBsb2FkX2ZyYW1lIiBpZD0icXVpY2tf bG9naW5fZnJhbWUiIG5hbWU9InF1aWNrX2xvZ2luX2ZyYW1lIj48L2lmcmFt ZT4nfSksIHFmKTsKICAgIHFmLnRhcmdldCA9ICdxdWlja19sb2dpbl9mcmFt ZSc7CiAgfSwgMSk7Cn0KCmlmICh3aW5kb3cudG9wICYmIHdpbmRvdy50b3Ag IT0gd2luZG93KSB7CiAgd2luZG93Lm9ubG9hZCA9IHFpbml0Owp9IGVsc2Ug ewogIHNldFRpbWVvdXQocWluaXQsIDApOwp9CgpxZi5vbnN1Ym1pdCA9IGZ1 bmN0aW9uKCkgewogIGlmICghZ2UoJ3F1aWNrX2xvZ2luX2ZyYW1lJykpIHJl dHVybiBmYWxzZTsKICBpZiAoIXRyaW0ocWUudmFsdWUpKSB7CiAgICBub3Rh QmVuZShxZSk7CiAgICByZXR1cm4gZmFsc2U7CiAgfSBlbHNlIGlmICghdHJp bShxcC52YWx1ZSkpIHsKICAgIG5vdGFCZW5lKHFwKTsKICAgIHJldHVybiBm YWxzZTsKICB9CiAgbG9ja0J1dHRvbih3aW5kb3cuX19xZkJ0biA9IHByZ0J0 bik7CiAgcHJnQnRuID0gcWxiOwogIGNsZWFyVGltZW91dChfX3FsVGltZXIp OwogIF9fcWxUaW1lciA9IHNldFRpbWVvdXQobG9naW5TdWJtaXRFcnJvciwg MzAwMDApOwogIGRvbUZDKGRvbVBTKHFmKSkub25sb2FkID0gZnVuY3Rpb24o KSB7CiAgICBjbGVhclRpbWVvdXQoX19xbFRpbWVyKTsKICAgIF9fcWxUaW1l ciA9IHNldFRpbWVvdXQobG9naW5TdWJtaXRFcnJvciwgMjUwMCk7CiAgfQog IHJldHVybiB0cnVlOwp9Cgp3aW5kb3cubG9naW5TdWJtaXRFcnJvciA9IGZ1 bmN0aW9uKCkgewogIHNob3dGYXN0Qm94KCdXYXJuaW5nJywgJ1VuYWJsZSB0 byBjb21wbGV0ZSBlbmNyeXB0ZWQgYXV0aG9yaXphdGlvbi4gVGhpcyBjYW4g aGFwcGVuIGlmIHlvdXIgdGhlIGRhdGUgYW5kIHRpbWUgc2V0dGluZ3MgYXJl IG5vdCBjb25maWd1cmVkIGNvcnJlY3RseSBvbiB5b3VyIHN5c3RlbS4gUGxl YXNlIGNoZWNrIHlvdXIgZGF0ZSAmYW1wOyB0aW1lIHNldHRpbmdzIGFuZCBy ZXN0YXJ0IHRoZSBicm93c2VyLicpOwp9CndpbmRvdy5mb2N1c0xvZ2luSW5w dXQgPSBmdW5jdGlvbigpIHsKICBzY3JvbGxUb1RvcCgwKTsKICBub3RhQmVu ZSgncXVpY2tfZW1haWwnKTsKfQp3aW5kb3cuY2hhbmdlUXVpY2tSZWdCdXR0 b24gPSBmdW5jdGlvbihub1Nob3cpIHsKICBpZiAobm9TaG93KSB7CiAgICBo aWRlKCd0b3BfcmVnX2xpbmsnLCAncXVpY2tfcmVnX2J1dHRvbicpOwogICAg c2hvdygndG9wX3NlYXJjaF9saW5rJyk7CiAgfSBlbHNlIHsKICAgIGhpZGUo J3RvcF9zZWFyY2hfbGluaycpOwogICAgc2hvdygndG9wX3JlZ19saW5rJywg J3F1aWNrX3JlZ19idXR0b24nKTsKICB9CiAgdG9nZ2xlKCd0b3Bfc3dpdGNo X2xhbmcnLCBub1Nob3cgJiYgd2luZG93LmxhbmdDb25maWcgJiYgd2luZG93 LmxhbmdDb25maWcuaWQgIT0gMyk7Cn0Kd2luZG93LnN1Ym1pdFF1aWNrTG9n aW5Gb3JtID0gZnVuY3Rpb24oZW1haWwsIHBhc3MsIG9wdHMpIHsKICBzZXRR dWlja0xvZ2luRGF0YShlbWFpbCwgcGFzcywgb3B0cyk7CiAgaWYgKG9wdHMg JiYgb3B0cy5wcmcpIHByZ0J0biA9IG9wdHMucHJnOwogIGlmIChxZi5vbnN1 Ym1pdCgpKSBxZi5zdWJtaXQoKTsKfQp3aW5kb3cuc2V0UXVpY2tMb2dpbkRh dGEgPSBmdW5jdGlvbihlbWFpbCwgcGFzcywgb3B0cykgewogIGlmIChlbWFp bCAhPT0gdW5kZWZpbmVkKSBnZSgncXVpY2tfZW1haWwnKS52YWx1ZSA9IGVt YWlsOwogIGlmIChwYXNzICE9PSB1bmRlZmluZWQpIGdlKCdxdWlja19wYXNz JykudmFsdWUgPSBwYXNzOwogIHZhciBwYXJhbXMgPSBvcHRzICYmIG9wdHMu cGFyYW1zIHx8IHt9OwogIGZvciAodmFyIGkgaW4gcGFyYW1zKSB7CiAgICB2 YXIgZWwgPSBnZSgncXVpY2tfbG9naW5fJyArIGkpOwogICAgaWYgKGVsKSB7 CiAgICAgIHZhbChlbCwgcGFyYW1zW2ldKTsKICAgIH0gZWxzZSB7CiAgICAg IHFmLmFwcGVuZENoaWxkKGNlKCdpbnB1dCcsIHt0eXBlOiAnaGlkZGVuJywg bmFtZTogaSwgaWQ6ICdxdWlja19sb2dpbl8nICsgaSwgdmFsdWU6IHBhcmFt c1tpXX0pKTsKICAgIH0KICB9Cn0KCmlmIChxbGIpIHsKICBxbGIub25jbGlj ayA9IGZ1bmN0aW9uKCkgeyBpZiAocWYub25zdWJtaXQoKSkgcWYuc3VibWl0 KCk7IH07Cn0KCmlmIChicm93c2VyLm9wZXJhX21vYmlsZSkgc2hvdygncXVp Y2tfZXhwaXJlJyk7CgppZiAoMSkgewogIGhpZGUoJ3N1cHBvcnRfbGlua190 ZCcpOwp9CnZhciB0c19pbnB1dCA9IGdlKCd0c19pbnB1dCcpLCBvbGRGRiA9 IGJyb3dzZXIubW96aWxsYSAmJiBwYXJzZUludChicm93c2VyLnZlcnNpb24p IDwgODsKaWYgKGJyb3dzZXIubW96aWxsYSAmJiAhb2xkRkYpIHsKICBzZXRT dHlsZSh0c19pbnB1dCwge3BhZGRpbmc6ICh2ay5ydGwgPyAnM3B4IDIwcHgg NnB4IDQwcHgnIDogJzNweCA0MXB4IDZweCAyMHB4Jyl9KTsKfQpwbGFjZWhv bGRlclNldHVwKHRzX2lucHV0LCB7YmFjazogZmFsc2UsIHJlbG9hZDogdHJ1 ZX0pOwppZiAoYnJvd3Nlci5vcGVyYSB8fCBicm93c2VyLm1zaWUgfHwgYnJv d3Nlci5tb3ppbGxhKSB7CiAgc2V0U3R5bGUodHNfaW5wdXQsIHtwYWRkaW5n OiAodmsucnRsID8gJzRweCAyMHB4IDVweCA0MHB4JyA6ICc0cHggNDFweCA1 cHggMjBweCcpfSk7Cn0gZWxzZSBpZiAoYnJvd3Nlci5jaHJvbWUgfHwgYnJv d3Nlci5zYWZhcmkpIHsKICBzZXRTdHlsZSh0c19pbnB1dCwge3BhZGRpbmc6 ICh2ay5ydGwgPyAnNHB4IDIxcHggNXB4IDQwcHgnIDogJzRweCA0MHB4IDVw eCAyMXB4Jyl9KTsKfQoKVG9wU2VhcmNoLmluaXQoKTsKaWYgKGJyb3dzZXIu bXNpZTggfHwgYnJvd3Nlci5tc2llNykgewogIHZhciBzdCA9IHtib3JkZXI6 ICcxcHggc29saWQgI2E2YjZjNid9OwogIGlmIChoYXNDbGFzcyhnZSgndHNf d3JhcCcpLCAndmsnKSkgewogICAgaWYgKHZrLnJ0bCkgc3QubGVmdCA9ICcx cHgnOwogICAgZWxzZSBzdC5yaWdodCA9ICcwcHgnOwogIH0gZWxzZSB7CiAg ICBpZiAodmsucnRsKSBzdC5yaWdodCA9ICcxNDZweCc7CiAgICBlbHNlIHN0 LmxlZnQgPSAnMTQ2cHgnOwogIH0KICBzZXRTdHlsZShnZSgndHNfY29udF93 cmFwJyksIHN0KTsKfQp3aW5kb3cudHNIaW50c0VuYWJsZWQgPSAxOwpzZXRU aW1lb3V0KHpOYXYucGJpbmQoW10sIHtxdWV1ZToxfSksIDApOwpoYW5kbGVQ YWdlUGFyYW1zKHsiaWQiOjAsInBhZHMiOjEsIm5vX2FkcyI6MSwibG9jIjoi P2FjdD1zJm9pZD0zOTU3NjIyMyZ2aWQ9MTA4MzcwNTE1Iiwid3JhcF9wYWdl IjoxLCJ3aWR0aCI6NzkxLCJ3aWR0aF9kZWMiOjE2MCwid2lkdGhfZGVjX2Zv b3RlciI6MTMwLCJjb3VudGVycyI6IiIsInB2YmlnIjowLCJwdmRhcmsiOjF9 KTtzaG93QmFja0xpbmsoJy9kcmFrbWFpbCcsICdBbGV4YW5kZXIgTWFzbG92 Jyk7YWRkRXZlbnQoZG9jdW1lbnQsICdjbGljaycsIG9uRG9jdW1lbnRDbGlj ayk7VmlkZW8uaW5pdChleHRlbmQoewogIHZpZGVvTGlzdDogeydhbGwnOiBb WzM5NTc2MjIzLCAxNjYzMTU1NDMsICdodHRwOi8vdmlkZW80NDgudmthZHJl LnJ1L2Fzc2V0cy90aHVtYm5haWxzLzNlZGFiZmM1NzcwMzE1ODAuMzIwLnZr LmpwZycsICfQ5err4OzgICZxdW90O8zl7fLu8SZxdW90OyAo7/Do6u7rKScs ICcnLCAnMCcsIDAsIDAsIDAsICcwOjI5JywgJzAnLCAnX2EwYTM2YjZjYTNi MjUwMGRhZScsICcnXSxbMzk1NzYyMjMsIDE2NTYwNzQ0NSwgJ2h0dHA6Ly9j czEyOTQ3LnZrLm1lL3UyNzA5MTQ4L3ZpZGVvL2xfN2NhZWIxNWUuanBnJywg J/Uv9CAmcXVvdDvR5ezl6e3u5SDk5evuJnF1b3Q7JywgJycsICcwJywgMCwg MCwgMCwgJzI6NDAnLCAnMycsICdfOTM0OWYxYjQ1MDE0ZjY3NGRlJywgJydd LFszOTU3NjIyMywgMTY1NTUzNzY2LCAnaHR0cDovL2NzNTI2NDA0LnZrLm1l L3U4NjMzMjA3Ni92aWRlby9sX2IwMDFiN2UzLmpwZycsICfR6Ozv8e7t+yAv IFRoZSBTaW1wc29ucyAyNCDx5efu7SAxNyDx5fDo/ycsICcnLCAnMCcsIDAs IDAsIDAsICcyMTo1MicsICczJywgJ19mYzlmMGY4ZmMxNGE2MzI5NDInLCAn J10sWzM5NTc2MjIzLCAxNjE1OTg1NDQsICdodHRwOi8vY3M0NjQ5LnZrLm1l L3U1NTE4NDAwL3ZpZGVvL2xfNmVkODVkZTAuanBnJywgJ0hhcnJ5IFBhcnRy aWRnZSAtIFNreXJpbSAo8PPx8erg/yDu5+Lz9+rgKScsICcnLCAnMCcsIDAs IDAsIDAsICcxOjI1JywgJzAnLCAnXzdjYzE1NDIyNmVmMTI1ODA2MicsICcn XSxbMzk1NzYyMjMsIDEwODM3MDUxNSwgJ2h0dHA6Ly92aWRlbzQzMy52a2Fk cmUucnUvYXNzZXRzL3RodW1ibmFpbHMvODg2MTVjYTk4MTE5NjkwMy4zMjAu dmsuanBnJywgJ98g8/Lu9+rgKSkpKSknLCAnJywgJzAnLCAwLCAyLCAwLCAn MzowMycsICcwJywgJ18zYTU5YTk5Yjk4NDlkOGU3ZTEnLCAnJ11dfSwKICBz aG93bjogNSwKICB2aWRlb1RwbDogZnVuY3Rpb24odiwgY2FuZWRpdCkgewp2 YXIgdGFnTGFiZWwgPSAnJywgdGFncyA9ICcnLCB2aWRlb1JhdyA9IHZbMF0g KyAnXycgKyB2WzFdOwoKaWYgKHZbOF0gJiAyKSB7CiAgdGFnTGFiZWwgPSAn PGRpdiBjbGFzcz0idmlkZW9fdGFnX2xhYmVsIj4nK2dldExhbmcoJ3ZpZGVv X25ld190YWcnKSsnPC9kaXY+JzsKfQppZiAodlsxMF0pIHsKICBmb3IgKHZh ciBpID0gMTsgaSA8PSB2WzEwXTsgaSsrKSB7CiAgICB2YXIgbGFiZWwgPSAn JzsKICAgIHN3aXRjaCAoaSkgewogICAgICBjYXNlIDM6IGxhYmVsID0gNzIw OyBicmVhazsKICAgICAgY2FzZSAyOiBsYWJlbCA9IDQ4MDsgYnJlYWs7CiAg ICAgIGRlZmF1bHQ6IGxhYmVsID0gMzYwOyBicmVhazsKICAgIH0KICAgIHRh Z3MgKz0gJzxhIGNsYXNzPSJxdWFsaXR5IGZsX2wiIGhyZWY9Ii92aWRlbycg KyB2aWRlb1JhdyArICciIG9uY2xpY2s9InJldHVybiBWaWRlby5zaG93KGV2 ZW50LCBcJycgKyB2aWRlb1JhdyArICdcJywge3BhcmFtczoge2FjdDogXCdz aG93XCcsIHZpZGVvOiBcJycgKyB2aWRlb1JhdyArICdcJywgZm9yY2VfaGQ6 IFwnJyArIGkgKyAnXCcsIGF1dG9wbGF5OiAxfX0pOyI+JyArIGxhYmVsICsg JzwvYT4nOwogIH0KICBpZiAodGFncykgdGFncyA9ICc8ZGl2IGNsYXNzPSJ2 aWRlb19xdWFsaXR5IGNsZWFyX2ZpeCI+JyArIHRhZ3MgKyAnPC9kaXY+JzsK fQppZiAodls1XSAmIDEpIHsKICB2WzNdICs9ICc8c3BhbiBjbGFzcz0idmlk ZW9faXNfcHJpdmF0ZSIgb25tb3VzZW92ZXI9InJldHVybiBWaWRlby5wcml2 YXRlVG9vbHRpcCh0aGlzKTsiIG9uY2xpY2s9InJldHVybiBWaWRlby5wcml2 YXRlQ2xpY2sodGhpcywgZXZlbnQpOyI+PC9zcGFuPic7Cn0KdmFyIGFkZEJ0 biA9ICcnOwppZiAoIWNhbmVkaXQgJiYgdmsuaWQgJiYgdmsuaWQgIT0gdlsw XSkgewogIGFkZEJ0biA9ICc8ZGl2IGNsYXNzPSJ2aWRlb19yb3dfYWRkIj48 ZGl2IGNsYXNzPSJ2aWRlb19yb3dfaWNvbl9hZGQgZmxfbCIgb25tb3VzZW92 ZXI9IlZpZGVvLmFjdGl2YXRlKHRoaXMsIFwnYWRkX3R0XCcsIDEpOyIgb25t b3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0aGlzKTsiIG9uY2xpY2s9InJl dHVybiBWaWRlby5hZGRGcm9tTGlzdChcJycrdlswXSsnXycrdlsxXSsnXCcs IFwnJyt2WzExXS5zdWJzdHIoMSkrJ1wnLCBldmVudCk7Ij48ZGl2IGNsYXNz PSJ2aWRlb19yb3dfaWNvbiI+PC9kaXY+PC9kaXY+PC9kaXY+JzsKfQpyZXR1 cm4gcnMoY3VyLnZpZGVvVHBsSFRNTCwgewogIG9pZDogdlswXSwKICB2aWQ6 IHZbMV0sCiAgdGh1bWI6IHZbMl0sCiAgdGl0bGU6IHZbM10sCiAgZHVyYXRp b246IHZbOV0sCiAgZGVzY3I6IHZbNF0sCiAgYWR1bHQ6IHZbMTNdIHx8ICcn LAogIGxpbmtjbGFzczogdlsxMl0sCiAgaGFzaDogdlsxMV0sCiAgY2FuZWRp dDogY2FuZWRpdCwKICByb3dfYWN0czogJycsCiAgYWN0czogJycsCiAgbmV3 dGFnczogdGFnTGFiZWwsCiAgYWRkYnRuOiBhZGRCdG4sCn0pOwp9LAogIGFs YnVtc1RwbDogZnVuY3Rpb24oYWlkLCB2LCB0KSB7CiAgcmV0dXJuIHJzKGN1 ci5hbGJ1bXNUcGxIVE1MLCB7CiAgICBhbGJ1bV9pZDogYWlkLAogICAgbWFp bl9ocmVmOiAnL3ZpZGVvczM5NTc2MjIzJywKICAgIHNlY3Rpb25fbmFtZTog KGFpZCA9PSAtMSkgPyAndGFnZ2VkJyA6ICdhbGJ1bV8nK2FpZCwKICAgIHRp dGxlOiB0LAogICAgdGh1bWI6IHZbMl0sCiAgICBjb3VudDogdlszXSwKICAg IG5ld190YWdzOiAoYWlkID09IC0xICYmIGN1ci5uZXdfdGFnc19zdHIpID8g Y3VyLm5ld190YWdzX3N0ciA6ICcnLAogICAgY2xhc3NfbmFtZTogKGFpZCA9 PSAtMSkgPyAnJyA6ICcgdmlkZW9fYWxidW1fY2FuZHJvcCcsCiAgICBub2Ry YWc6IChhaWQgPT0gLTEpID8gJ25vZHJhZz0iMSInIDogJycKICB9KTsKfSwK ICB2aWRlb1RwbEhUTUw6ICI8ZGl2IGlkPVwidmlkZW9fY29udCVvaWQlXyV2 aWQlXCIgY2xhc3M9XCJ2aWRlb19yb3dfY29udFwiPjxkaXYgY2xhc3M9XCJ2 aWRlb19yb3dfaW5uZXJfY29udCVjYW5lZGl0JVwiPjxhIGhyZWY9XCJcL3Zp ZGVvJW9pZCVfJXZpZCVcIiBjbGFzcz1cInZpZGVvX3Jvd19yZWxhdGl2ZSVs aW5rY2xhc3MlXCIgaWQ9XCJ2aWRlb19yb3clb2lkJV8ldmlkJVwiIG9ubW91 c2VvdmVyPVwiVmlkZW8ucm93T3Zlcih0aGlzKTtcIiBvbm1vdXNlb3V0PVwi VmlkZW8ucm93T3V0KHRoaXMpXCIgb25jbGljaz1cImlmIChjdXIuY2FuY2Vs Q2xpY2spIHJldHVybiAoY3VyLmNhbmNlbENsaWNrID0gZmFsc2UpOyByZXR1 cm4gVmlkZW8uc2hvdyhldmVudCwgJyVvaWQlXyV2aWQlJywge30sIHRoaXMp O1wiPlxuICAgICVuZXd0YWdzJSVhZHVsdCVcbiAgICA8ZGl2IGNsYXNzPVwi dmlkZW9fcm93X2luZm9fbGluZVwiPjxkaXYgY2xhc3M9XCJ2aWRlb19yYXdf aW5mb19uYW1lXCI+JXRpdGxlJTxcL2Rpdj48ZGl2IGNsYXNzPVwidmlkZW9f cm93X2R1cmF0aW9uXCI+JWR1cmF0aW9uJTxcL2Rpdj48XC9kaXY+XG4gICAg PGRpdiBjbGFzcz1cInZpZGVvX3Jvd19pbmZvX3BsYXlcIj48XC9kaXY+XG4g ICAgJWFkZGJ0biVcbiAgICA8ZGl2IGNsYXNzPVwidmlkZW9fcm93X2NvbnRy b2xzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidmlkZW9fcm93X2ljb25fZWRp dCBmbF9sXCIgb25tb3VzZW92ZXI9XCJWaWRlby5hY3RpdmF0ZSh0aGlzKTtc IiBvbm1vdXNlb3V0PVwiVmlkZW8uZGVhY3RpdmF0ZSh0aGlzKTtcIiBvbmNs aWNrPVwicmV0dXJuIHZpZGVvdmlldy5zaG93RWRpdEJveCgldmlkJSwgJW9p ZCUsIGV2ZW50KTtcIj48ZGl2IGNsYXNzPVwidmlkZW9fcm93X2ljb25cIj48 XC9kaXY+PFwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInZpZGVvX3Jvd19p Y29uX2RlbGV0ZSBmbF9sXCIgb25tb3VzZW92ZXI9XCJWaWRlby5hY3RpdmF0 ZSh0aGlzKTtcIiBvbm1vdXNlb3V0PVwiVmlkZW8uZGVhY3RpdmF0ZSh0aGlz KTtcIiBvbmNsaWNrPVwicmV0dXJuIFZpZGVvLm9uRGVsZXRlQ2xpY2soJXZp ZCUsICVvaWQlLCAnJWhhc2glJywgdGhpcywgZXZlbnQpO1wiPjxkaXYgY2xh c3M9XCJ2aWRlb19yb3dfaWNvblwiPjxcL2Rpdj48XC9kaXY+XG4gICAgICA8 YnIgY2xhc3M9XCJjbGVhclwiIFwvPlxuICAgIDxcL2Rpdj5cbiAgICA8ZGl2 IGNsYXNzPVwidmlkZW9faW1hZ2VfZGl2XCIgc3R5bGU9XCJiYWNrZ3JvdW5k LWltYWdlOiB1cmwoJyV0aHVtYiUnKTtcIj48XC9kaXY+XG4gIDxcL2E+PFwv ZGl2PlxuPFwvZGl2PiIsCiAgYWxidW1zVHBsSFRNTDogIjxhIGlkPVwidmlk ZW9fYWxidW1fJWFsYnVtX2lkJVwiIGhyZWY9XCIlbWFpbl9ocmVmJT9zZWN0 aW9uPSVzZWN0aW9uX25hbWUlXCIgb25jbGljaz1cImlmIChjdXIuY2FuY2Vs Q2xpY2spIHJldHVybiAoY3VyLmNhbmNlbENsaWNrID0gZmFsc2UpOyByZXR1 cm4gbmF2LmNoYW5nZSh7c2VjdGlvbjonJXNlY3Rpb25fbmFtZSUnfSk7XCIg Y2xhc3M9XCJ2aWRlb19hbGJ1bSVjbGFzc19uYW1lJVwiIG9ubW91c2VvdmVy PVwiVmlkZW8uYWxidW1PdmVyKHRoaXMpO1wiIG9ubW91c2VvdXQ9XCJWaWRl by5hbGJ1bU91dCh0aGlzKVwiICVub2RyYWclPjxkaXYgY2xhc3M9XCJ2aWRl b19hbGJ1bV9yb3dfaW5uZXJcIj5cbiAgJW5ld190YWdzJVxuICA8ZGl2IGNs YXNzPVwidmlkZW9fYWxidW1fY29udHJvbHNcIj5cbiAgICA8ZGl2IGNsYXNz PVwidmlkZW9fcm93X2ljb25fZWRpdCBmbF9sXCIgb25tb3VzZW92ZXI9XCJW aWRlby5hY3RpdmF0ZSh0aGlzKTtcIiBvbm1vdXNlb3V0PVwiVmlkZW8uZGVh Y3RpdmF0ZSh0aGlzKTtcIiBvbmNsaWNrPVwicmV0dXJuIFZpZGVvLmVkaXRB bGJ1bSglYWxidW1faWQlLCBldmVudCk7XCI+PGRpdiBjbGFzcz1cInZpZGVv X3Jvd19pY29uXCI+PFwvZGl2PjxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwi dmlkZW9fcm93X2ljb25fZGVsZXRlIGZsX2xcIiBvbm1vdXNlb3Zlcj1cIlZp ZGVvLmFjdGl2YXRlKHRoaXMpO1wiIG9ubW91c2VvdXQ9XCJWaWRlby5kZWFj dGl2YXRlKHRoaXMpO1wiIG9uY2xpY2s9XCJyZXR1cm4gVmlkZW8uZGVsZXRl QWxidW0oJ2FsYnVtXyVhbGJ1bV9pZCUnLCBldmVudCk7XCI+PGRpdiBjbGFz cz1cInZpZGVvX3Jvd19pY29uXCI+PFwvZGl2PjxcL2Rpdj5cbiAgICA8YnIg Y2xhc3M9XCJjbGVhclwiIFwvPlxuICA8XC9kaXY+XG4gIDxkaXYgY2xhc3M9 XCJ2aWRlb19hbGJ1bV9pbmZvXCI+PGRpdiBjbGFzcz1cInZpZGVvX2FsYnVt X3RleHQgZmxfbFwiPiV0aXRsZSU8XC9kaXY+PGRpdiBjbGFzcz1cInZpZGVv X2FsYnVtX2NvdW50IGZsX3JcIj48ZGl2IGNsYXNzPVwidmlkZW9fcm93X2lj b24gdmlkZW9fYWxidW1fY291bnRfaWNvblwiPjxcL2Rpdj4lY291bnQlPFwv ZGl2PjxiciBjbGFzcz1cImNsZWFyXCIgXC8+PFwvZGl2PlxuICA8ZGl2IGNs YXNzPVwidmlkZW9fYWxidW1fYmdcIiBzdHlsZT1cImJhY2tncm91bmQtaW1h Z2U6IHVybCgnJXRodW1iJScpXCI+PFwvZGl2PjxcL2Rpdj5cbjxcL2E+IiwK ICBsYW5nOiB7InZpZGVvX05fdmlld3MiOlsiIiwiJXMgdmlldyIsIiVzIHZp ZXdzIl0sInZpZGVvX25ld190YWciOiJZb3Ugd2VyZSB0YWdnZWQgaW4gYSB2 aWRlbyIsImdsb2JhbF9OX2NvbW1lbnRzIjpbIiIsIiVzIGNvbW1lbnQiLCIl cyBjb21tZW50cyJdLCJ2aWRlb2ZpbGVfbnVtIjpbIiIsInZpZGVvIiwidmlk ZW9zIl0sInZpZGVvX251bV9mb3VuZF9maWxlcyI6WyIiLCIlcyB2aWRlbyBm b3VuZCIsIiVzIHZpZGVvcyBmb3VuZCJdLCJ2aWRlb19ub3ZpZGVvIjoiTm8g dmlkZW9zIiwidmlkZW9fZGVsZXRlX3RhZyI6IkRlbGV0ZSBUYWciLCJ2aWRl b19zdW1hcnlfdG9fdXNlcl9wYWdlIjoiPGEgaHJlZj1cIlwvZHJha21haWxc Ij5nbyB0byBBbGV4YW5kZXImIzM5O3MgcHJvZmlsZTxcL2E+IiwidmlkZW9f WF9jb21tcyI6WyIiLCIlcyBjb21tZW50IiwiJXMgY29tbWVudHMiXSwidmlk ZW9fbm9fY29tbWVudHMiOiJObyBjb21tZW50cyIsInZpZGVvX2RlbGV0ZV9h bGJ1bSI6IkRlbGV0ZSBmb2xkZXIiLCJ2aWRlb19ub19hbGJ1bSI6Ik5vIGZv bGRlciIsInZpZGVvX2FkZF90b19hbGJ1bSI6IkFkZCB0byBmb2xkZXIiLCJ2 aWRlb19jaGFuZ2VfYWxidW0iOiJ7bGlua31Gb2xkZXJ7XC9saW5rfToge3Rp dGxlfSIsInZpZGVvX3JlbW92ZV9hbGxfdGFncyI6IkRlbGV0ZSBuZXcgdGFn cyIsInZpZGVvX3RpdGxlX1hfdmlkZW9zIjpbIiIsIiVzIHZpZGVvIiwiJXMg dmlkZW9zIl0sInZpZGVvX3RpdGxlX1hfdmlkZW9zX3RhZ2dlZCI6WyIiLCIl cyB2aWRlbyBvZiB7dXNlcn0iLCIlcyB2aWRlb3Mgb2Yge3VzZXJ9Il0sInZp ZGVvX3RpdGxlX3NlYXJjaCI6IlZpZGVvIHNlYXJjaCByZXN1bHRzIGZvciB7 cX0iLCJ2aWRlb190aXRsZV9zZWFyY2hfWF9mb3VuZCI6WyIiLCIlcyBSZXN1 bHQiLCIlcyBSZXN1bHRzIl0sInZpZGVvX2FkdWx0X2JveF90aXRsZSI6IlNh ZmUgc2VhcmNoIiwidmlkZW9fYWR1bHRfYm94X3RleHQiOiJTYWZlIHNlYXJj aCBwcmV2ZW50cyByZXBvcnRlZCBhZHVsdCBjb250ZW50IGZyb20gc2hvd2lu ZyB1cCBpbiB5b3VyIHNlYXJjaCByZXN1bHRzLjxicj48YnI+QnkgZGlzYWJs aW5nIHNhZmUgc2VhcmNoIHlvdSBjb25maXJtIHRoYXQgeW91IGhhdmUgcmVh Y2hlZCBhbiBhcHByb3ByaWF0ZSBhZ2UgZm9yIHZpZXdpbmcgc3VjaCBjb250 ZW50LiIsInZpZGVvX2NsYWltc19ub191cGxvYWQiOiJZb3UgY2Fubm90IHVw bG9hZCBhbnkgbW9yZSB2aWRlb3MsIGR1ZSB0byBudW1lcm91cyBjb3B5cmln aHQtcmVsYXRlZCBjb21wbGFpbnRzLiIsInZpZGVvX25vX3VwbG9hZF90aXRs ZSI6IlVwbG9hZGluZyB1bmF2YWlsYWJsZSIsInZpZGVvX2Ryb3BfdG9fbW92 ZSI6IlJlbGVhc2UgdG8gbW92ZSB2aWRlbyB0byBmb2xkZXIiLCJ2aWRlb19h bGJ1bXNfZm91bmRfc3VtbWFyeSI6WyIiLCIlcyBmb2xkZXIgZm91bmQiLCIl cyBmb2xkZXJzIGZvdW5kIl0sInZpZGVvX2FsYnVtc19zdW1tYXJ5IjpbIiIs IkFsZXhhbmRlciBoYXMgJXMgZm9sZGVyIiwiQWxleGFuZGVyIGhhcyAlcyBm b2xkZXJzIl0sInZpZGVvX3Nob3dfYWxsX2FsYnVtcyI6WyIiLCJTaG93IG9u ZSBtb3JlIGZvbGRlciIsIlNob3cgJXMgbW9yZSBmb2xkZXJzIl0sInZpZGVv X2NvbW1lbnRzX3JldmlldyI6IkJyb3dzZSBjb21tZW50cyIsInZpZGVvX2lz X3ByaXZhdGVfdHQiOiJUaGlzIHZpZGVvIGlzIHByaXZhdGUiLCJ2aWRlb19h ZGRfdHQiOiJBZGQgdG8gbXkgdmlkZW9zIiwidmlkZW9fcGxlYXNlX3NpZ25f aW4iOiJQbGVhc2UgbG9nIGluIG9yIDxhIGhyZWY9XCJcL2pvaW5cIiBvbmNs aWNrPVwicmV0dXJuICFzaG93Qm94KCdqb2luLnBocCcsIHthY3Q6ICdib3gn LCBmcm9tOiBuYXYuc3RyTG9jfSwge30sIGV2ZW50KVwiPnNpZ24gdXA8XC9h PiB0byB2aWV3IHRoaXMgdmlkZW8uIn0sCiAgb2lkOiAzOTU3NjIyMywKICB2 U2VjdGlvbjogJ2FsbCcKfSwgeyJwZXJQYWdlIjoyMCwiaGFzaCI6ImYyOTVk MGYxNzM2MjhiYTc3NSIsInZpZGVvQ291bnQiOjUsInNlY3Rpb25zIjpbXSwi dXBsb2FkQmFubmVkIjpmYWxzZSwiaHRpdGxlX3ZpZGVvcyI6IiBBbGV4YW5k ZXIgTWFzbG92JiMzOTtzIFZpZGVvcyIsImh0aXRsZV9jb21tZW50cyI6IkNv bW1lbnRzIEFsZXhhbmRlciBNYXNsb3YmIzM5O3MgVmlkZW9zIiwiaHRpdGxl X3RhZ2dlZF91c2VyIjoiQWxleGFuZGVyIiwidlN0ciI6IlwiXCIiLCJtb3Zl SGFzaCI6IjAxODM1MjQ1MjEwYjRjMGYyMSJ9KSk7CndpbmRvdy5yYWRpb0J0 bnNbJ2xlbmd0aCddID0gewogIGVsczogQXJyYXkucHJvdG90eXBlLnNsaWNl LmFwcGx5KGdlQnlDbGFzcygncmFkaW9idG4nLCBnZSgndmlkZW9fbGVuZ3Ro X2ZpbHRlcicpKSksCiAgdmFsOiAwCn07CnZhciBmaWx0ZXJUeXBlcyA9IFtb MiwgJ0J5IHJlbGV2YW5jZSddLCBbMCwgJ0J5IGRhdGUgYWRkZWQnXSwgWzEs ICdTb3J0IGJ5IGR1cmF0aW9uJ11dOwppZiAoY3VyLnNvcnRERCkgewogIHJl KGN1ci5zb3J0REQuY29udGFpbmVyKTsKfQpjdXIuc29ydEREID0gbmV3IERy b3Bkb3duTWVudShmaWx0ZXJUeXBlcywgewogIHRhcmdldDogZ2UoJ3ZpZGVv X3NvcnRfZGQnKSwKICB2YWx1ZTogMiwKICBmYWRlU3BlZWQ6IDAsCiAgb25T ZWxlY3Q6IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICBpZiAoZXZlbnQpIFZpZGVv LnRvZ2dsZU9yZGVyKGV2ZW50LnRhcmdldC5pbmRleCB8fCAwKTsKICB9Cn0p OwppZiAoZ2UoJ3ZpZGVvX2V4dGVybmFsX2RkJykpIHsKICB2YXIgZXh0VHlw ZXMgPSBbWzAsICdBbGwgdmlkZW9zJ10sIFstMSwgJ1ZLJ10sIFsxLCAnWW91 dHViZSddLCBbMiwgJ1ZpbWVvJ10sIFszLCAnUnVUdWJlJ10sIFszMiwgJ0tp bm9wb2lzayddLCBbMzMsICdNb2xvZGVqai50diddLCBbMzQsICdDYXJhbWJh VFYnXV07CiAgY3VyLmV4dEREID0gbmV3IERyb3Bkb3duTWVudShleHRUeXBl cywgewogICAgdGFyZ2V0OiBnZSgndmlkZW9fZXh0ZXJuYWxfZGQnKSwKICAg IHZhbHVlOiAwLAogICAgZmFkZVNwZWVkOiAwLAogICAgb25TZWxlY3Q6IGZ1 bmN0aW9uKGV2ZW50KSB7CiAgICAgIGlmIChldmVudCkgVmlkZW8udG9nZ2xl RXh0KGV2ZW50LnRhcmdldC5pbmRleCB8fCAwKTsKICAgIH0KICB9KTsKfQoK YWpheC5wcmVsb2FkKCdhbF92aWRlby5waHAnLCB7ImFjdCI6InNob3ciLCJ2 aWRlbyI6IjM5NTc2MjIzXzEwODM3MDUxNSJ9LCBbIt8g8/Lu9+rgKSkpKSki LCI8ZGl2IGNsYXNzPVwidmlkZW9fYm94XCI+XG4gIDxkaXYgY2xhc3M9XCJ3 cmFwXCI+XG4gICAgPGRpdiBpZD1cInZpZGVvX2JhY2tncm91bmQzOTU3NjIy M18xMDgzNzA1MTVcIiBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgPGltZyBz cmM9XCJodHRwOlwvXC92aWRlbzQzMy52a2FkcmUucnVcL2Fzc2V0c1wvdGh1 bWJuYWlsc1wvODg2MTVjYTk4MTE5NjkwMy4zMjAudmsuanBnXCIgc3R5bGU9 XCJ3aWR0aDogNDgwcHg7IGhlaWdodDogMzYwcHg7XCIgXC8+XG4gICAgPFwv ZGl2PlxuICAgIDxkaXYgaWQ9XCJ2aWRlb19ib3hfd3JhcDM5NTc2MjIzXzEw ODM3MDUxNVwiIGNsYXNzPVwidmlkZW9fYm94X3dyYXBcIj5cbiAgICAgIDxk aXYgY2xhc3M9XCJwYWdlX25vX2ZsYXNoX3dyYXBcIj5cbiAgICAgICAgPGRp diBjbGFzcz1cInZpZGVvX25vX2ZsYXNoXCI+XG4gICAgICAgICAgPGRpdj5U aGUgbGF0ZXN0IHZlcnNpb24gb2YgPGEgaHJlZj1cImh0dHA6XC9cL2dldC5h ZG9iZS5jb21cL2ZsYXNoXCI+Rmxhc2ggUGxheWVyPFwvYT4gaXMgcmVxdWly ZWQgdG8gdmlldyB2aWRlb3MuPFwvZGl2PlxuICAgICAgICA8XC9kaXY+XG4g ICAgICA8XC9kaXY+XG4gICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+ IiwiY3VyLmFkZE1lVmlkZW8gPSBmdW5jdGlvbigpIHtcbiAgaWYgKGlzVmlz aWJsZShib3gucHJvZ3Jlc3MpKSByZXR1cm47XG5cbiAgdmFyIHRvUmVwbGFj ZSA9IFtdO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5n dGg7ICsraSkge1xuICAgIHRvUmVwbGFjZS5wdXNoKGFyZ3VtZW50c1tpXSk7 XG4gIH1cbiAgY3VyLnJlbG9hZEFmdGVyQ2xvc2UgPSB0cnVlO1xuICBhamF4 LnBvc3QoJ3ZpZGVvLnBocCcsIHthY3Q6ICdhX2FkZCcsIHZpZGVvOiAnMzk1 NzYyMjNfMTA4MzcwNTE1JywgaGFzaDogJzNhNTlhOTliOTg0OWQ4ZTdlMScs IGZyb206IGN1ci5zZWN0aW9ufSwge1xuICAgIG9uRG9uZTogZnVuY3Rpb24o KSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvUmVwbGFjZS5sZW5n dGg7ICsraSkge1xuICAgICAgICB2YXIgZWwgPSBnZSh0b1JlcGxhY2VbaV0p O1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICBpZiAoaSA8IGFyZ3Vt ZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGVsLnBhcmVudE5vZGUuaW5u ZXJIVE1MID0gYXJndW1lbnRzW2ldO1xuICAgICAgICAgIH0gZWxzZSB7XG4g ICAgICAgICAgICBoaWRlKGVsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1c biAgICAgIH1cbiAgICB9LFxuICAgIHNob3dQcm9ncmVzczogYm94LnNob3dQ cm9ncmVzcyxcbiAgICBoaWRlUHJvZ3Jlc3M6IGJveC5oaWRlUHJvZ3Jlc3Nc biAgfSk7XG59XG5cbndpbmRvdy5pbmNWaWV3Q291bnRlciA9IGZ1bmN0aW9u KG9pZCwgdmlkLCBoYXNoKSB7XG4gIGFqYXgucG9zdCgnYWxfdmlkZW8ucGhw Jywge2FjdDogJ2luY192aWV3X2NvdW50ZXInLCBvaWQ6IG9pZCwgdmlkOiB2 aWQsIGhhc2g6IGhhc2h9LCB7XG4gICAgb25Eb25lOiBmdW5jdGlvbih0KSB7 fVxuICB9KTtcbn1cblxud2luZG93LnJvdGF0ZVZpZGVvID0gZnVuY3Rpb24o b2lkLCB2aWQsIGFuZ2xlLCBoYXNoKSB7XG4gIFwvXC8gYWpheC5wb3N0KCdh bF92aWRlby5waHAnLCB7YWN0OiAncm90YXRlX3ZpZGVvJywgb2lkOiBvaWQs IHZpZDogdmlkLCBhbmdsZTogYW5nbGUsIGhhc2g6IGhhc2h9LCB7XG4gIFwv XC8gICBvbkRvbmU6IGZ1bmN0aW9uKHQpIHt9XG4gIFwvXC8gfSk7XG59XG5c bndpbmRvdy5jaGFuZ2VDYW52YXNTaXplID0gZnVuY3Rpb24odywgaCkge1xu ICBpZiAodHlwZW9mKG12Y3VyKSAhPSAndW5kZWZpbmVkJyAmJiBtdmN1ci5j aGFuZ2VDYW52YXNTaXplKSB7XG4gICAgbXZjdXIuY2hhbmdlQ2FudmFzU2l6 ZSgpO1xuICB9XG4gIGlmICghYnJvd3Nlci5vcGVyYSB8fCBpbnR2YWwoYnJv d3Nlci52ZXJzaW9uKSA+PSAxMCkge1xuICAgIGhpZGUoJ3ZpZGVvX2JhY2tn cm91bmQzOTU3NjIyM18xMDgzNzA1MTUnKTtcbiAgICBzZXRTdHlsZShnZSgn dmlkZW9fcGxheWVyJyksIHt3aWR0aDogdywgaGVpZ2h0OiBofSk7XG4gICAg c2V0U3R5bGUoZ2UoJ3ZpZGVvX2JveF93cmFwMzk1NzYyMjNfMTA4MzcwNTE1 JyksIHt3aWR0aDogdywgaGVpZ2h0OiBofSk7XG4gICAgaWYgKGJveCkge1xu ICAgICAgYm94LnNldE9wdGlvbnMoe3dpZHRoOiB3ICsgMjJ9KTtcbiAgICB9 XG4gIH1cbn07XG5cbnZhciBfbiA9IHdpbmRvdy5Ob3RpZmllcjtcbmlmIChf bikge1xuICBfbi5hZGRSZWN2Q2xiaygnYXVkaW9fc3RhcnQnLCAndmlkZW8n LCBmdW5jdGlvbiAoZGF0YSkge1xuICAgIGlmIChnZSgndmlkZW9fcGxheWVy JykgJiYgZ2UoJ3ZpZGVvX3BsYXllcicpLnBsYXlWaWRlbykgZ2UoJ3ZpZGVv X3BsYXllcicpLnBsYXlWaWRlbyhmYWxzZSk7XG4gIH0pO1xuICBfbi5hZGRS ZWN2Q2xiaygndmlkZW9fc3RhcnQnLCAndmlkZW8nLCBmdW5jdGlvbiAoZGF0 YSkge1xuICAgIGlmIChnZSgndmlkZW9fcGxheWVyJykgJiYgZ2UoJ3ZpZGVv X3BsYXllcicpLnBsYXlWaWRlbykgZ2UoJ3ZpZGVvX3BsYXllcicpLnBsYXlW aWRlbyhmYWxzZSk7XG4gIH0pO1xuICBfbi5hZGRSZWN2Q2xiaygndmlkZW9j YWxsX3N0YXJ0JywgJ3ZpZGVvJywgZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBp ZiAoZ2UoJ3ZpZGVvX3BsYXllcicpICYmIGdlKCd2aWRlb19wbGF5ZXInKS5w bGF5VmlkZW8pIGdlKCd2aWRlb19wbGF5ZXInKS5wbGF5VmlkZW8oZmFsc2Up O1xuICB9KTtcbn1cbnZhciB2YXJzID0ge1widWlkXCI6XCIwXCIsXCJ2aWRc IjoxMDgzNzA1MTUsXCJvaWRcIjozOTU3NjIyMyxcImhvc3RcIjpcInZpZGVv NDMzLnZrYWRyZS5ydVwiLFwidnRhZ1wiOlwiNTdhNGYyNWM5M2FjLVwiLFwi bHRhZ1wiOlwiODg2MTVjYTlcIixcInZraWRcIjo4MTE5NjkwMyxcIm1kX3Rp dGxlXCI6XCLfIPPy7vfq4CkpKSkpXCIsXCJtZF9hdXRob3JcIjpcIkFsZXhh bmRlciBNYXNsb3ZcIixcImhkXCI6MC4wMDAwMDAsXCJub19mbHZcIjowLFwi aGRfZGVmXCI6LTEsXCJkYmdfb25cIjowLFwidFwiOlwiXCIsXCJhbmdsZVwi OjAuMDAwMDAwLFwiaW1nX2FuZ2xlXCI6MC4wMDAwMDAsXCJyZXBlYXRcIjow LFwic2hvd19hZHNcIjowLFwicHVpZDFcIjoyLFwicHVpZDIyXCI6MTQsXCJw dWlkMzdcIjpcIlwiLFwicHVpZDM4XCI6XCJcIixcImNhbl9yb3RhdGVcIjox LFwiaGFzaFwiOlwiYmU3MGVlNTEyNTA3NzcxYTAwNzFjOWI1MzdhZmNhZGJc IixcImhhc2gyXCI6XCIxNTE4NGRiZDA4NWM0N2FmXCIsXCJpc192a1wiOlwi MVwiLFwiaXNfZXh0XCI6XCIwXCIsXCJyZWZlcnJlclwiOlwiXCIsXCJsYW5n X2FkZFwiOlwiQWRkIHRvIE15IFZpZGVvc1wiLFwibGFuZ19hZGRlZFwiOlwi VmlkZW8gYWRkZWQgdG8gTXkgVmlkZW9zXCIsXCJsYW5nX3NoYXJlXCI6XCJT aGFyZVwiLFwibGFuZ19saWtlXCI6XCJMaWtlXCIsXCJsYW5nX3ZvbHVtZV9v blwiOlwiVW5tdXRlXCIsXCJsYW5nX3ZvbHVtZV9vZmZcIjpcIk11dGVcIixc Imxhbmdfdm9sdW1lXCI6XCJWb2x1bWVcIixcImxhbmdfaGRzZFwiOlwiQ2hh bmdlIFZpZGVvIFF1YWxpdHlcIixcImxhbmdfZnVsbHNjcmVlblwiOlwiRnVs bCBTY3JlZW5cIixcImxhbmdfd2luZG93XCI6XCJNaW5pbWl6ZVwiLFwibGFu Z19yb3RhdGVcIjpcIlJvdGF0ZVwiLFwibGFuZ19hZHNfbGlua1wiOlwiQWR2 ZXJ0aXNlciYjMzk7cyBTaXRlXCIsXCJsYW5nX2Fkc1wiOlwiQWRzXCIsXCJs YW5nX2Fkc19za2lwXCI6XCJTa2lwIGFkXCIsXCJsYW5nX2Fkc19za2lwX3Rp bWVcIjpcIlNraXAgYWRzIGluIHt0aW1lfVwiLFwibGFuZ19yZXBvcnRfcHJv YmxlbVwiOlwiUmVwb3J0IGEgcHJvYmxlbS4uXCIsXCJ2aWRlb19wbGF5X2hk XCI6XCJXYXRjaCBpbiBIRFwiLFwidmlkZW9fc3RvcF9sb2FkaW5nXCI6XCJT dG9wIERvd25sb2FkXCIsXCJ2aWRlb19wbGF5ZXJfdmVyc2lvblwiOlwiVksg VmlkZW8gUGxheWVyXCIsXCJ2aWRlb19wbGF5ZXJfYXV0aG9yXCI6XCJBdXRo b3IgLSBBbGV4ZXkgS2hhcmtvdlwiLFwiZ290b19vcmlnX3ZpZGVvXCI6XCJH byB0byBWaWRlb1wiLFwidmlkZW9fZ2V0X3ZpZGVvX2NvZGVcIjpcIkNvcHkg dmlkZW8gY29kZVwiLFwidmlkZW9fbG9hZF9lcnJvclwiOlwiVGhlIHZpZGVv IGhhcyBub3QgdXBsb2FkZWQgeWV0IG9yIHRoZSBzZXJ2ZXIgaXMgbm90IGF2 YWlsYWJsZVwiLFwidmlkZW9fZ2V0X2N1cnJlbnRfdXJsXCI6XCJDb3B5IGZy YW1lIGxpbmtcIixcInVybDI0MFwiOlwiaHR0cDpcXFwvXFxcL3ZpZGVvNDMz LnZrYWRyZS5ydVxcXC9hc3NldHNcXFwvdmlkZW9cXFwvNTdhNGYyNWM5M2Fj LTgxMTk2OTAzLnZrLmZsdlwiLFwianBnXCI6XCJodHRwOlxcXC9cXFwvdmlk ZW80MzMudmthZHJlLnJ1XFxcL2Fzc2V0c1xcXC90aHVtYm5haWxzXFxcLzg4 NjE1Y2E5ODExOTY5MDMuMzIwLnZrLmpwZ1wiLFwiaXBfc3VibVwiOjEsXCJu b2xvZ29cIjoxLFwibGlrZWRcIjowLFwiYWRkX2hhc2hcIjpcIjNhNTlhOTli OTg0OWQ4ZTdlMVwiLFwiYWRkZWRcIjoxfTtcbnZhciBhbGxvd19odG1sNSA9 IDA7XG52YXIgY2hlY2tIdG1sNVZpZGVvID0gZnVuY3Rpb24oKSB7XG4gIHZh ciB2ID0gY2UoJ3ZpZGVvJyksIGNhblBsYXkgPSB2LmNhblBsYXlUeXBlKCd2 aWRlb1wvbXA0Jyk7XG4gIHJldHVybiAoY2FuUGxheSAhPSAnbm8nKSAmJiAo Y2FuUGxheSAhPSAnJyk7XG59XG5sb2FkSHRtbDVQbGF5ZXIgPSBmdW5jdGlv bigpIHtcbiAgaWYgKCFjaGVja0h0bWw1VmlkZW8oKSB8fCAhdmFycy5ub19m bHYpIHtcbiAgICBzdE1hbmFnZXIuYWRkKCdwYWdlLmNzcycpO1xuICAgIHJl dHVybjtcbiAgfVxuICB2YXIgcGxheWVyV3JhcCA9IGdlKCd2aWRlb19ib3hf d3JhcDM5NTc2MjIzXzEwODM3MDUxNScpO1xuICBpZiAocGFyc2VJbnQoJzAn KSkge1xuICAgIHZhciBzaXplID0gZ2V0U2l6ZShwbGF5ZXJXcmFwLnBhcmVu dE5vZGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBzaXplID0gWzcyMCwgNDEw XTtcbiAgfVxuICBoaWRlKCd2aWRlb19iYWNrZ3JvdW5kMzk1NzYyMjNfMTA4 MzcwNTE1Jyk7XG4gIHBsYXllcldyYXAuaW5uZXJIVE1MID0gJyc7XG4gIHN0 TWFuYWdlci5hZGQoWydodG1sNXZpZGVvLmpzJywgJ2h0bWw1dmlkZW8uY3Nz J10sIGZ1bmN0aW9uKCkge1xuICAgIGh0bWw1dmlkZW8uaW5pdEhUTUw1Vmlk ZW8odmFycywgc2l6ZVswXSwgc2l6ZVsxXSk7XG4gIH0pO1xufVxud2luZG93 LnZpZGVvX2JveF9pZCA9ICd2aWRlb19ib3hfd3JhcDM5NTc2MjIzXzEwODM3 MDUxNSc7XG5cbnZhciBvcHRzID0ge1xuICB1cmw6ICdcL3N3ZlwvdmlkZW8u c3dmPzE3JyxcbiAgaWQ6ICd2aWRlb19wbGF5ZXInLFxuICB3aWR0aDogNzIw LFxuICBoZWlnaHQ6IDQxMCxcbiAgdmVyc2lvbjogMTBcbn1cblxuaWYgKGJy b3dzZXIuZmxhc2ggPCAxMCkge1xuICBsb2FkSHRtbDVQbGF5ZXIoKTtcbiAg cmV0dXJuO1xufVxuXG52YXIgcGxheWVyV3JhcCA9IGdlKCd2aWRlb19ib3hf d3JhcDM5NTc2MjIzXzEwODM3MDUxNScpO1xuaGlkZSgndmlkZW9fYmFja2dy b3VuZDM5NTc2MjIzXzEwODM3MDUxNScpO1xucGxheWVyV3JhcC5pbm5lckhU TUwgPSAnJztcblxudmFyIHBhcmFtcyA9IHtcbiAgYWxsb3dmdWxsc2NyZWVu OiAndHJ1ZScsXG4gIGFsbG93c2NyaXB0YWNjZXNzOiAnYWx3YXlzJ1xufVxu XC9cL2lmIChicm93c2VyLm1zaWUgfHwgYnJvd3Nlci5jaHJvbWUpIHtcbiAg b3B0cy5wcmV2ZW50aGlkZSA9IDE7XG4gIHBhcmFtcy53bW9kZSA9ICdvcGFx dWUnO1xuXC9cL31cbnNldFN0eWxlKHBsYXllcldyYXAsIHt3aWR0aDogb3B0 cy53aWR0aCwgaGVpZ2h0OiBvcHRzLmhlaWdodH0pO1xuXG53aW5kb3cudmlk ZW9faG9zdCA9IHZhcnMuaG9zdDtcbndpbmRvdy52aWRlb191aWQgPSB2YXJz LnVpZDtcbndpbmRvdy52aWRlb192dGFnID0gdmFycy52dGFnO1xud2luZG93 LnZpZGVvX25vX2ZsdiA9IHZhcnMubm9fZmx2O1xud2luZG93LnZpZGVvX21h eF9oZCA9IHZhcnMuaGQ7XG53aW5kb3cudmlkZW9fdGl0bGUgPSB2YXJzLm1k X3RpdGxlO1xud2luZG93LnZpZGVvX2F1dGhvciA9IHZhcnMubWRfYXV0aG9y O1xud2luZG93LmZpeGVkX3BsYXllcl9zaXplID0gdHJ1ZTtcblxucmVuZGVy Rmxhc2gocGxheWVyV3JhcCwgb3B0cywgcGFyYW1zLCB2YXJzKTtcbm12Y3Vy Lm12RGF0YS5hZGRlZFZpZGVvID0gJzM5NTc2MjIzXzEwODM3MDUxNSc7IFxu bXZjdXIubXZEYXRhLmFkZGVkVmlkZW9IYXNoID0gJzM5NmViNWVkYmZjYmMz YzkzYyc7IFxubXZjdXIubXZEYXRhLmFkZGVkVmlkZW9TaGFyZUhhc2ggPSAn MDM4MTZjYjhhMzZkODBlMDUxJztcbm12Y3VyLm12RGF0YS5uZWVkc05ldyA9 IDE7IiwiPGRpdiBpZD1cIm12X2Rlc2NyaXB0aW9uXCIgY2xhc3M9XCJtdl9k ZXNjXCI+/fLuIMLH0NvCIMzOx8PAJiMzMzsmIzMzOyYjMzM7PGJyPs/w7vHy 7iDu8uLg6yDh4Pjq6C4uLjxcL2Rpdj48ZGl2IGlkPVwibXZfYWN0aW9uX2lu Zm9cIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PFwvZGl2PjxkaXYgaWQ9 XCJtdl90YWdzXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPkluIHRoaXMg dmlkZW86PHNwYW4gaWQ9XCJtdl90YWdzX2xpc3RcIj48XC9zcGFuPjxcL2Rp dj48ZGl2IGlkPVwibXZfZGF0ZV93cmFwXCIgY2xhc3M9XCJmbF9sXCI+QWRk ZWQgSnVuIDEsIDIwMDkgYXQgMTA6NDEgcG08XC9kaXY+PGJyIGNsYXNzPVwi Y2xlYXJcIiBcLz48ZGl2IGlkPVwibXZfY29tbWVudHNfd3JhcFwiPlxuICA8 ZGl2IGlkPVwibXZfY29tbWVudHNfaGVhZGVyXCIgb25jbGljaz1cInZpZGVv dmlldy5jb21tZW50cygpO1wiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj48 XC9kaXY+XG4gIDxkaXYgaWQ9XCJtdl9jb21tZW50c1wiIGNsYXNzPVwid2Fs bF9tb2R1bGVcIj48ZGl2IGNsYXNzPVwiY2xlYXJfZml4IG12X2NvbW1lbnQg XCIgaWQ9XCJtdl9jb21tZW50Mzk1NzYyMjNfMVwiIG9uY2xpY2s9XCJWaWRl b3ZpZXcuY29tbWVudENsaWNrKHRoaXMsIGV2ZW50LCAyNzA5MTQ4KVwiIG9u bW91c2VvdmVyPVwiV2FsbC5yZXBseU92ZXIoJzM5NTc2MjIzdmlkZW9fMW12 JylcIiBvbm1vdXNlb3V0PVwiV2FsbC5yZXBseU91dCgnMzk1NzYyMjN2aWRl b18xbXYnKVwiPjxkaXYgY2xhc3M9XCJyZXBseV90YWJsZVwiPlxuICA8ZGl2 IGNsYXNzPVwiZmxfbCBtdl90aHVtYlwiPlxuICAgIDxhIGhyZWY9XCJcL2Fy dHJ1bGtcIiBvbmNsaWNrPVwicmV0dXJuIG5hdi5nbyh0aGlzLCBldmVudCk7 XCI+PGltZyBzcmM9XCJodHRwOlwvXC9jczcwMTEudmsubWVcL2MzMjA2MjFc L3YzMjA2MjExNDhcLzQwMDhcL0tNZlhDOGdmUHNvLmpwZ1wiIFwvPjxcL2E+ XG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsX2wgbXZfY29tbVwiPlxu ICAgIDxkaXYgY2xhc3M9XCJmbF9yIHJlcGx5X2FjdGlvbnNfd3JhcFwiPjxk aXYgY2xhc3M9XCJyZXBseV9hY3Rpb25zXCI+PGRpdiBpZD1cInJlcGx5X2Rl bGV0ZTM5NTc2MjIzdmlkZW9fMW12XCIgY2xhc3M9XCJyZXBseV9kZWxldGVf YnV0dG9uIGZsX3JcIiBvbmNsaWNrPVwiVmlkZW92aWV3LmNvbW1BY3Rpb24o J3NwYW0nLCAnMzk1NzYyMjNfMScsICczOWMzOTYwMjBiYWQzODAxOTknLCAn bXYnKVwiIG9ubW91c2VvdmVyPVwiV2FsbC5hY3RpdmVEZWxldGVQb3N0KCcz OTU3NjIyM3ZpZGVvXzFtdicsICdSZXBvcnQgc3BhbScsICdyZXBseV9kZWxl dGUnKVwiIG9ubW91c2VvdXQ9XCJXYWxsLmRlYWN0aXZlRGVsZXRlUG9zdCgn Mzk1NzYyMjN2aWRlb18xbXYnLCAncmVwbHlfZGVsZXRlJylcIj48XC9kaXY+ PFwvZGl2PjxcL2Rpdj5cbiAgICA8YSBocmVmPVwiXC9hcnRydWxrXCIgY2xh c3M9XCJhdXRob3JcIiBvbmNsaWNrPVwicmV0dXJuIG5hdi5nbyh0aGlzLCBl dmVudCk7XCI+QXJ0eW9tIEFudG9ueWFuPFwvYT5cbiAgICA8ZGl2IGlkPVwi d3B0Mzk1NzYyMjN2aWRlb18xbXZcIj48ZGl2IGNsYXNzPVwibXZfY29tbXRl eHRcIj7K8/Pz8/Pz8/Pz8/Pz8/Dl5eXl5eXl5eXl5eXl5eLuIN3y7iDi+yDi 8eUg8uDq6OUg7eAgxOXr/PLgIPHl8OLl8OU/PFwvZGl2PjxcL2Rpdj5cbiAg ICA8ZGl2IGNsYXNzPVwibGlrZV93cmFwIGZsX3JcIiBvbmNsaWNrPVwiV2Fs bC5saWtlKCczOTU3NjIyM3ZpZGVvX2NvbW1lbnQxbXYnLCAnJyk7IGV2ZW50 LmNhbmNlbEJ1YmJsZSA9IHRydWU7XCIgb25tb3VzZW92ZXI9XCJXYWxsLmxp a2VPdmVyKCczOTU3NjIyM3ZpZGVvX2NvbW1lbnQxbXYnKVwiIG9ubW91c2Vv dXQ9XCJXYWxsLmxpa2VPdXQoJzM5NTc2MjIzdmlkZW9fY29tbWVudDFtdicp XCI+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9saW5rIGZsX2xcIiBpZD1cImxp a2VfbGluazM5NTc2MjIzdmlkZW9fY29tbWVudDFtdlwiPjxcL3NwYW4+XG4g IDxpIGNsYXNzPVwibm9fbGlrZXMgZmxfbFwiIGlkPVwibGlrZV9pY29uMzk1 NzYyMjN2aWRlb19jb21tZW50MW12XCI+PFwvaT5cbiAgPHNwYW4gY2xhc3M9 XCJsaWtlX2NvdW50IGZsX2xcIiBpZD1cImxpa2VfY291bnQzOTU3NjIyM3Zp ZGVvX2NvbW1lbnQxbXZcIj48XC9zcGFuPlxuPFwvZGl2PlxuICAgIDxkaXYg Y2xhc3M9XCJtdl9jb21tZGF0YVwiIGlkPVwid3BlX2JvdHRvbTM5NTc2MjIz dmlkZW9fMW12XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZsX2xcIj4yIEp1 biAyMDA5PFwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbF9yIHByb2dy ZXNzXCIgaWQ9XCJtdl9wcm9ncmVzczM5NTc2MjIzXzFcIj48XC9kaXY+XG4g ICAgPFwvZGl2PlxuICA8XC9kaXY+XG48XC9kaXY+PFwvZGl2PjxkaXYgY2xh c3M9XCJjbGVhcl9maXggbXZfY29tbWVudCBcIiBpZD1cIm12X2NvbW1lbnQz OTU3NjIyM18yXCIgb25jbGljaz1cIlZpZGVvdmlldy5jb21tZW50Q2xpY2so dGhpcywgZXZlbnQsIDQwOTgwMzMpXCIgb25tb3VzZW92ZXI9XCJXYWxsLnJl cGx5T3ZlcignMzk1NzYyMjN2aWRlb18ybXYnKVwiIG9ubW91c2VvdXQ9XCJX YWxsLnJlcGx5T3V0KCczOTU3NjIyM3ZpZGVvXzJtdicpXCI+PGRpdiBjbGFz cz1cInJlcGx5X3RhYmxlXCI+XG4gIDxkaXYgY2xhc3M9XCJmbF9sIG12X3Ro dW1iXCI+XG4gICAgPGEgaHJlZj1cIlwvanVzdF9vd2luZ1wiIG9uY2xpY2s9 XCJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KTtcIj48aW1nIHNyYz1cImh0 dHA6XC9cL2NzNDE2MzIyLnZrLm1lXC92NDE2MzIyMDMzXC82ZjExXC8teDFn cjJ1YWRycy5qcGdcIiBcLz48XC9hPlxuICA8XC9kaXY+XG4gIDxkaXYgY2xh c3M9XCJmbF9sIG12X2NvbW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxfciBy ZXBseV9hY3Rpb25zX3dyYXBcIj48ZGl2IGNsYXNzPVwicmVwbHlfYWN0aW9u c1wiPjxkaXYgaWQ9XCJyZXBseV9kZWxldGUzOTU3NjIyM3ZpZGVvXzJtdlwi IGNsYXNzPVwicmVwbHlfZGVsZXRlX2J1dHRvbiBmbF9yXCIgb25jbGljaz1c IlZpZGVvdmlldy5jb21tQWN0aW9uKCdzcGFtJywgJzM5NTc2MjIzXzInLCAn MDRhMzllNGQ4MjUwMDk0NTk2JywgJ212JylcIiBvbm1vdXNlb3Zlcj1cIldh bGwuYWN0aXZlRGVsZXRlUG9zdCgnMzk1NzYyMjN2aWRlb18ybXYnLCAnUmVw b3J0IHNwYW0nLCAncmVwbHlfZGVsZXRlJylcIiBvbm1vdXNlb3V0PVwiV2Fs bC5kZWFjdGl2ZURlbGV0ZVBvc3QoJzM5NTc2MjIzdmlkZW9fMm12JywgJ3Jl cGx5X2RlbGV0ZScpXCI+PFwvZGl2PjxcL2Rpdj48XC9kaXY+XG4gICAgPGEg aHJlZj1cIlwvanVzdF9vd2luZ1wiIGNsYXNzPVwiYXV0aG9yXCIgb25jbGlj az1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpO1wiPlZsYWRpbWlyIFBl dHVraG92PFwvYT5cbiAgICA8ZGl2IGlkPVwid3B0Mzk1NzYyMjN2aWRlb18y bXZcIj48ZGl2IGNsYXNzPVwibXZfY29tbXRleHRcIj7C5fH8IOzo8CDy4Oru 6Swg9e7k//Ig6CDk8+zg/iDv8O4g8eXh/yD38u4g8yDq7uPuIO3gIPPs5SA6 RDxcL2Rpdj48XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxpa2Vfd3JhcCBm bF9yXCIgb25jbGljaz1cIldhbGwubGlrZSgnMzk1NzYyMjN2aWRlb19jb21t ZW50Mm12JywgJycpOyBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlO1wiIG9u bW91c2VvdmVyPVwiV2FsbC5saWtlT3ZlcignMzk1NzYyMjN2aWRlb19jb21t ZW50Mm12JylcIiBvbm1vdXNlb3V0PVwiV2FsbC5saWtlT3V0KCczOTU3NjIy M3ZpZGVvX2NvbW1lbnQybXYnKVwiPlxuICA8c3BhbiBjbGFzcz1cImxpa2Vf bGluayBmbF9sXCIgaWQ9XCJsaWtlX2xpbmszOTU3NjIyM3ZpZGVvX2NvbW1l bnQybXZcIj48XC9zcGFuPlxuICA8aSBjbGFzcz1cIm5vX2xpa2VzIGZsX2xc IiBpZD1cImxpa2VfaWNvbjM5NTc2MjIzdmlkZW9fY29tbWVudDJtdlwiPjxc L2k+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9jb3VudCBmbF9sXCIgaWQ9XCJs aWtlX2NvdW50Mzk1NzYyMjN2aWRlb19jb21tZW50Mm12XCI+PFwvc3Bhbj5c bjxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibXZfY29tbWRhdGFcIiBpZD1c IndwZV9ib3R0b20zOTU3NjIyM3ZpZGVvXzJtdlwiPlxuICAgICAgPHNwYW4g Y2xhc3M9XCJmbF9sXCI+MyBKdW4gMjAwOTxcL3NwYW4+XG4gICAgICA8ZGl2 IGNsYXNzPVwiZmxfciBwcm9ncmVzc1wiIGlkPVwibXZfcHJvZ3Jlc3MzOTU3 NjIyM18yXCI+PFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuPFwv ZGl2PjxcL2Rpdj48XC9kaXY+XG48XC9kaXY+PGRpdiBjbGFzcz1cInZpZGVv X2NvbW1lbnRzX21zZ1wiPkNvbW1lbnRpbmcgZm9yIHRoaXMgdmlkZW8gZGlz YWJsZWQgYnkgdGhlIG93bmVyLjxcL2Rpdj4iLCI8ZGl2IGNsYXNzPVwibXZf aW5mbyBtdl9udW1fdmlld3NcIj4xMSB2aWV3czxcL2Rpdj48ZGl2IGNsYXNz PVwibXZfaW5mb1wiPkFkZGVkIGJ5OjxcL2Rpdj48ZGl2IGlkPVwibXZfYXV0 aG9yXCI+PGEgY2xhc3M9XCJtZW1fbGlua1wiIGhyZWY9XCJcL2RyYWttYWls XCI+QWxleGFuZGVyIE1hc2xvdjxcL2E+PFwvZGl2PjxkaXYgaWQ9XCJtdl9h Y3Rpb25zXCI+PGEgaWQ9XCJtdl9zaGFyZVwiIG9uY2xpY2s9XCJ2aWRlb3Zp ZXcuc2hvd1NoYXJlKCk7XCIsIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5c biAgPHNwYW4gY2xhc3M9XCJtdl9zaGFyZV90ZXh0XCI+U2hhcmU8XC9zcGFu PlxuPFwvYT5cbjxkaXYgb25tb3VzZW92ZXI9XCJ2aWRlb3ZpZXcuc2hvd1No YXJlKClcIiBvbm1vdXNlb3V0PVwidmlkZW92aWV3LmhpZGVTaGFyZSg1MDAp XCIgb25jbGljaz1cInZpZGVvdmlldy5oaWRlU2hhcmUoLTEpXCIgaWQ9XCJt dnNfZGRcIiBjbGFzcz1cImZpeGVkXCI+XG48dGFibGUgY2VsbHNwYWNpbmc9 XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCI+PHRib2R5Pjx0cj5cblxuPHRkIGNs YXNzPVwibXZzX3NpZGVfc2hcIj5cbiAgPGRpdiBjbGFzcz1cIm12c19zaWRl X3NoX2VsXCI+PFwvZGl2PlxuPFwvdGQ+PHRkPlxuICA8ZGl2IGNsYXNzPVwi bXZzX2hlYWRlcl93cmFwXCI+XG4gICAgPGRpdiBjbGFzcz1cIm12c19oZWFk ZXJcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibXZzX2hlYWRlcl90ZXh0XCI+ U2hhcmU8XC9zcGFuPlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2PlxuICA8ZGl2 IGNsYXNzPVwibXZzX2FjdHNcIj5cbiAgICA8YSBjbGFzcz1cIm12c19hY3Rc IiBvbmNsaWNrPVwidmlkZW92aWV3LnNlbmRWaWRlbygpXCI+PHNwYW4gY2xh c3M9XCJtdnNfYWN0X3RleHRcIj5TZW5kIHRvIGEgZnJpZW5kPFwvc3Bhbj48 XC9hPlxuICAgIDxhIGNsYXNzPVwibXZzX2FjdFwiIG9uY2xpY2s9XCJ2aWRl b3ZpZXcuZ2V0VmlkZW9Db2RlKDM5NTc2MjIzLCAxMDgzNzA1MTUpO1wiPlxu ICAgICAgPHNwYW4gY2xhc3M9XCJtdnNfYWN0X3RleHRcIj5FeHBvcnQgdmlk ZW88XC9zcGFuPlxuICAgIDxcL2E+XG4gIDxcL2Rpdj5cbiAgPGRpdiBjbGFz cz1cIm12c19zaDFcIj48XC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtdnNfc2gy XCI+PFwvZGl2PlxuPFwvdGQ+PHRkIGNsYXNzPVwibXZzX3NpZGVfc2hcIj5c biAgPGRpdiBjbGFzcz1cIm12c19zaWRlX3NoX2VsXCI+PFwvZGl2PlxuPFwv dGQ+XG5cbjxcL3RyPjxcL3Rib2R5PjxcL3RhYmxlPjxcL2Rpdj48XC9kaXY+ IiwiPGEgY2xhc3M9XCJtdl9zaG93X2luZm9cIiBpZD1cIm12X3Nob3dfaW5m b1wiIG9ubW91c2VvdmVyPVwidmlkZW92aWV3LmFjdGl2YXRlKHRoaXMsIDIp O1wiIG9ubW91c2VvdXQ9XCJ2aWRlb3ZpZXcuZGVhY3RpdmF0ZSh0aGlzLCAy KTtcIiBvbmNsaWNrPVwicmV0dXJuIHZpZGVvdmlldy5zaG93SW5mbygpO1wi PlNob3cgQ29tbWVudHM8XC9hPjxhIGNsYXNzPVwibXZfaGlkZV9pbmZvXCIg aWQ9XCJtdl9oaWRlX2luZm9cIiBvbm1vdXNlb3Zlcj1cInZpZGVvdmlldy5h Y3RpdmF0ZSh0aGlzLCAyKTtcIiBvbm1vdXNlb3V0PVwidmlkZW92aWV3LmRl YWN0aXZhdGUodGhpcywgMik7XCIgb25jbGljaz1cInJldHVybiB2aWRlb3Zp ZXcuaGlkZUluZm8oKTtcIj5IaWRlIGNvbW1lbnRzPFwvYT4iLHsibGFuZyI6 eyJyZXBseV90b19wb3N0IjoiWW91ciBjb21tZW50Li4iLCJ3YWxsX01fcmVw bGllc19vZl9OIjpbIiIsIiVzIGNvbW1lbnQgb2Yge2xpbmt9e2FsbH17XC9s aW5rfSIsIiVzIGNvbW1lbnRzIG9mIHtsaW5rfXthbGx9e1wvbGlua30iXSwi d2FsbF9tb3JlX3JlcGxpZXMiOlsiIiwic2hvdyAlcyBtb3JlIGNvbW1lbnQi LCJzaG93ICVzIG1vcmUgY29tbWVudHMiXSwid2FsbF9hbGxfcmVwbGllcyI6 ImFsbCBjb21tZW50cyIsImRvbnRfYXR0YWNoIjoiUmVtb3ZlIGF0dGFjaG1l bnQiLCJ2aWRlb19YX2NvbW1zIjpbIiIsIiVzIGNvbW1lbnQiLCIlcyBjb21t ZW50cyJdLCJ2aWRlb19zaG93X3ByZXZpb3VzX2NvbW1lbnRzIjpbIiIsIlNo b3cgJXMgcHJldmlvdXMgY29tbWVudCIsIlNob3cgJXMgcHJldmlvdXMgY29t bWVudHMiXSwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlIjoiQXJlIHlvdSBz dXJlIHlvdSB3YW50IHRvIGNsb3NlIHRoaXMgdmlkZW8/IiwidmlkZW9fYXJl X3lvdV9zdXJlX2Nsb3NlX3RpdGxlIjoiQ2xvc2UgdmlkZW8iLCJwcm9maWxl X21lbnRpb25fbm90X2ZvdW5kIjoiVXNlciB3YXMgbm90IGZvdW5kIiwicHJv ZmlsZV9tZW50aW9uX3N0YXJ0X3R5cGluZyI6IlN0YXJ0IHR5cGluZyBhIG5h bWUuLiJ9LCJjb21tbGltaXQiOjE2Mzg0LCJtdkRhdGEiOnsidGl0bGUiOiLf IPPy7vfq4CkpKSkpIiwib2lkIjozOTU3NjIyMywidmlkIjoxMDgzNzA1MTUs InZpZGVvUmF3IjoiMzk1NzYyMjNfMTA4MzcwNTE1IiwiaGFzaCI6IjdmZTYw MThmMTY5NmI1ZGMxOSIsImxpa2VIYXNoIjoiYWY1MmM5Y2U1OTlhMzAxZWEz IiwiY29tbXNob3duIjoyLCJjb21tY291bnQiOjIsImxpa2VkIjpmYWxzZSwi bGlrZXMiOjAsImR1cmF0aW9uIjoxODN9LCJ0YWdnZWRJbmZvIjoiIiwic2hv d0luZm8iOjB9XSk7CnNob3dWaWRlbygnMzk1NzYyMjNfMTA4MzcwNTE1Jywg J3ZpZGVvczM5NTc2MjIzJywge3Jvb3Q6IDEsIGZyb21QcmVsb2FkOiAxLCBu b0xvY0NoYW5nZTogMSwgcHJldlRpdGxlOiAnIEFsZXhhbmRlciBNYXNsb3Ym IzM5O3MgVmlkZW9zIHwgNSB2aWRlb3MnLCBwYXJhbXM6IHsiYWN0Ijoic2hv dyIsInZpZGVvIjoiMzk1NzYyMjNfMTA4MzcwNTE1In19KTsKICAgIH0KICA8 L3NjcmlwdD4KPC9ib2R5PgoKPC9odG1sPg== http_version: recorded_at: Fri, 25 Oct 2013 20:33:59 GMT recorded_with: VCR 2.6.0