-
Notifications
You must be signed in to change notification settings - Fork 285
Expand file tree
/
Copy pathEmby[优].js
More file actions
12 lines (11 loc) · 12.7 KB
/
Emby[优].js
File metadata and controls
12 lines (11 loc) · 12.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
/*
@header({
searchable: 2,
filterable: 0,
quickSearch: 1,
title: 'Emby',
'类型': '影视',
lang: 'ds'
})
*/
Y29uc3QgY29uZmlnID0gewogICAgaG9zdDogJ2h0dHBzOi8vZW1ieS5iYW5ndW1pLmNhJywKICAgIHVzZXJJZDogJzgwZTg2MWNiZmYxMzQzYmZhMGJlZGNlYTc4ODk1YjkxJywKICAgIHRva2VuOiAnOGIwYjE2YWFlN2U4NDAzY2IzZDE5OTY5YjgyYzM5MDInLAogICAgZGV2aWNlSWQ6ICdlYTI3Y2FmNy05YTUxLTQyMDktYjFhNS0zNzRiZjMwYzJmZmQnLAogICAgY2xpZW50VmVyc2lvbjogJzQuOS4wLjMxJywKICAgIHBhZ2VTaXplOiAzMAp9OwoKLy8g6K6+5aSH6YWN572u77ya5qC45b+D5bGe5oCn5Y2V54us5o2i6KGM77yM55+t5pWw57uE5ZCI5bm277yM5qC85byP5riF5pmwCmNvbnN0IGRldmljZVByb2ZpbGUgPSB7CiAgRGV2aWNlUHJvZmlsZTogewogICAgTWF4U3RhdGljQml0cmF0ZTogMTQwMDAwMDAwLAogICAgTWF4U3RyZWFtaW5nQml0cmF0ZTogMTQwMDAwMDAwLAogICAgRGlyZWN0UGxheVByb2ZpbGVzOiBbCiAgICAgIHsgQ29udGFpbmVyOiAnbXA0LG1rdix3ZWJtJywgVHlwZTogJ1ZpZGVvJywgVmlkZW9Db2RlYzogJ2gyNjQsaDI2NSxhdjEsdnA5JywgQXVkaW9Db2RlYzogJ2FhYyxtcDMsb3B1cyxmbGFjJyB9LAogICAgICB7IENvbnRhaW5lcjogJ21wMyxhYWMsZmxhYyxvcHVzJywgVHlwZTogJ0F1ZGlvJyB9CiAgICBdLAogICAgVHJhbnNjb2RpbmdQcm9maWxlczogWwogICAgICB7IENvbnRhaW5lcjogJ21wNCcsIFR5cGU6ICdWaWRlbycsIFZpZGVvQ29kZWM6ICdoMjY0JywgQXVkaW9Db2RlYzogJ2FhYycsIENvbnRleHQ6ICdTdHJlYW1pbmcnLCBQcm90b2NvbDogJ2h0dHAnIH0sCiAgICAgIHsgQ29udGFpbmVyOiAnYWFjJywgVHlwZTogJ0F1ZGlvJywgQ29udGV4dDogJ1N0cmVhbWluZycsIFByb3RvY29sOiAnaHR0cCcgfQogICAgXSwKICAgIFN1YnRpdGxlUHJvZmlsZXM6IFt7IEZvcm1hdDogJ3NydCxhc3MsdnR0JywgTWV0aG9kOiAnRXh0ZXJuYWwnIH1dLAogICAgQ29kZWNQcm9maWxlczogW3sgVHlwZTogJ1ZpZGVvJywgQ29kZWM6ICdoMjY0JywgQXBwbHlDb25kaXRpb25zOiBbeyBDb25kaXRpb246ICdMZXNzVGhhbkVxdWFsJywgUHJvcGVydHk6ICdWaWRlb0xldmVsJywgVmFsdWU6ICc2MicgfV0gfV0sCiAgICBCcmVha09uTm9uS2V5RnJhbWVzOiB0cnVlCiAgfQp9OwoKLy8g5o+Q5Y+W6YeN5aSN5bi46YeP77ya6Kej5Yaz56Gs57yW56CB5YaX5L2Z77yM5L+u5pS55LuF6ZyA5pS5MeWkhApjb25zdCBCQVNFX0ZJRUxEUyA9ICdCYXNpY1N5bmNJbmZvLENhbkRlbGV0ZSxDb250YWluZXIsUHJpbWFyeUltYWdlQXNwZWN0UmF0aW8sUHJvZHVjdGlvblllYXIsU3RhdHVzLEVuZERhdGUnOwpjb25zdCBJTUFHRV9UWVBFUyA9ICdQcmltYXJ5LEJhY2tkcm9wLFRodW1iLEJhbm5lcic7CgovLyDor7fmsYLlpLTnlJ/miJDvvJrlsZ7mgKfliIbooYzvvIznu5PmnoTmuIXmmbAKZnVuY3Rpb24gZ2V0SGVhZGVycyhleHRyYSA9IHt9KSB7CiAgcmV0dXJuIHsKICAgICdYLUVtYnktQ2xpZW50JzogJ0VtYnkgV2ViJywKICAgICdYLUVtYnktRGV2aWNlLU5hbWUnOiAnQW5kcm9pZCBXZWJWaWV3IEFuZHJvaWQnLAogICAgJ1gtRW1ieS1EZXZpY2UtSWQnOiBjb25maWcuZGV2aWNlSWQsCiAgICAnWC1FbWJ5LUNsaWVudC1WZXJzaW9uJzogY29uZmlnLmNsaWVudFZlcnNpb24sCiAgICAnWC1FbWJ5LVRva2VuJzogY29uZmlnLnRva2VuLAogICAgLi4uZXh0cmEKICB9Owp9CgovLyDlm77niYdVUkznlJ/miJDvvJrkuInlhYPov5DnrpfnrKbliIbooYzvvIzlj6/or7vmgKflvLoKZnVuY3Rpb24gZ2V0SW1hZ2VVcmwoaXRlbUlkLCBpbWFnZVRhZykgewogIHJldHVybiBpbWFnZVRhZyAKICAgID8gYCR7Y29uZmlnLmhvc3R9L2VtYnkvSXRlbXMvJHtpdGVtSWR9L0ltYWdlcy9QcmltYXJ5P21heFdpZHRoPTQwMCZ0YWc9JHtpbWFnZVRhZ30mcXVhbGl0eT05MGAgCiAgICA6ICcnOwp9CgovLyDop4bpopHmlbDmja7mj5Dlj5bvvJrpgLvovpHlnZfliIbooYzvvIzlj5jph4/ljZXni6zlo7DmmI4KZnVuY3Rpb24gZXh0cmFjdFZpZGVvcyhqc29uRGF0YSkgewogIHJldHVybiAoanNvbkRhdGE/Lkl0ZW1zIHx8IFtdKS5tYXAoZnVuY3Rpb24oaXRlbSkgewogICAgY29uc3QgaXNGb2xkZXIgPSBbJ0ZvbGRlcicsICdCb3hTZXQnLCAnQ29sbGVjdGlvbkZvbGRlciddLmluY2x1ZGVzKGl0ZW0uVHlwZSk7CiAgICAKICAgIHJldHVybiB7CiAgICAgIHRpdGxlOiBpdGVtLk5hbWUgfHwgJycsCiAgICAgIGltZzogZ2V0SW1hZ2VVcmwoaXRlbS5JZCwgaXRlbS5JbWFnZVRhZ3M/LlByaW1hcnkpLAogICAgICBkZXNjOiBpdGVtLlByb2R1Y3Rpb25ZZWFyPy50b1N0cmluZygpIHx8ICcnLAogICAgICB1cmw6IGl0ZW0uSWQsCiAgICAgIHZvZF90YWc6IGlzRm9sZGVyID8gJ2ZvbGRlcicgOiAndmlkZW8nCiAgICB9OwogIH0pOwp9CgovLyBBUEnor7fmsYLvvJrlj4LmlbDliIbooYzvvIzpgLvovpHmuIXmmbAKYXN5bmMgZnVuY3Rpb24gZmV0Y2hBcGkodXJsLCBvcHRpb25zID0ge30pIHsKICByZXR1cm4gYXdhaXQgcmVxdWVzdCh1cmwsIHsKICAgIC4uLm9wdGlvbnMsCiAgICBoZWFkZXJzOiBnZXRIZWFkZXJzKG9wdGlvbnMuaGVhZGVycyB8fCB7fSkKICB9KTsKfQoKdmFyIHJ1bGUgPSB7CiAgdGl0bGU6ICdFbWJ5JywKICBob3N0OiBjb25maWcuaG9zdCwKICBoZWFkZXJzOiBnZXRIZWFkZXJzKCksCiAgc2VhcmNoYWJsZTogMiwKICBxdWlja1NlYXJjaDogMSwKICB0aW1lb3V0OiAxNTAwMCwKICBwbGF5X3BhcnNlOiB0cnVlLAogIHNlYXJjaFVybDogYC9lbWJ5L1VzZXJzLyR7Y29uZmlnLnVzZXJJZH0vSXRlbXM/YCArCiAgICBgU29ydEJ5PVNvcnROYW1lJlNvcnRPcmRlcj1Bc2NlbmRpbmcmRmllbGRzPSR7QkFTRV9GSUVMRFN9JmAgKwogICAgYFN0YXJ0SW5kZXg9MCZFbmFibGVJbWFnZVR5cGVzPSR7SU1BR0VfVFlQRVN9JkltYWdlVHlwZUxpbWl0PTEmYCArCiAgICBgUmVjdXJzaXZlPXRydWUmU2VhcmNoVGVybT0qKiZHcm91cFByb2dyYW1zQnlTZXJpZXM9dHJ1ZSZMaW1pdD01MCZYLUVtYnktVG9rZW49JHtjb25maWcudG9rZW59YCwKCiAgLy8g5pKt5pS+6Kej5p6Q77ya5oyJ5q2l6aqk5ouG5YiG77yM5q+P5Liq6YC76L6R5Z2X56m66KGM5YiG6ZqUCiAgbGF6eTogYXN5bmMgZnVuY3Rpb24oKSB7CiAgICAvLyDmj5Dlj5bop4bpopFJRAogICAgY29uc3QgdmlkZW9JZCA9IHR5cGVvZiB0aGlzLmlucHV0ID09PSAic3RyaW5nIiAKICAgICAgPyAodGhpcy5pbnB1dC5tYXRjaCgvXC9JdGVtc1wvKFx3KykvKT8uWzFdIHx8IHRoaXMuaW5wdXQpIAogICAgICA6IHRoaXMuaW5wdXQ7CgogICAgLy8g6K+35rGC5pKt5pS+5L+h5oGvCiAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShhd2FpdCBmZXRjaEFwaSgKICAgICAgYCR7Y29uZmlnLmhvc3R9L2VtYnkvSXRlbXMvJHt2aWRlb0lkfS9QbGF5YmFja0luZm9gLAogICAgICB7CiAgICAgICAgbWV0aG9kOiAiUE9TVCIsCiAgICAgICAgaGVhZGVyczogeyAiQ29udGVudC1UeXBlIjogImFwcGxpY2F0aW9uL2pzb24iIH0sCiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGV2aWNlUHJvZmlsZSkKICAgICAgfQogICAgKSk7CgogICAgLy8g5aqS5L2T5rqQ5Yik5pat77ya55+t6Lev5rGC5YC8566A5YyW6YC76L6R77yM6YG/5YWN5bWM5aWXCiAgICBjb25zdCBtZWRpYVNvdXJjZSA9IGpzb24/Lk1lZGlhU291cmNlcz8uWzBdOwogICAgaWYgKCFtZWRpYVNvdXJjZSkgewogICAgICByZXR1cm4gewogICAgICAgIHBhcnNlOiAxLAogICAgICAgIHVybDogYCR7Y29uZmlnLmhvc3R9L2VtYnkvSXRlbXMvJHt2aWRlb0lkfS9QbGF5YmFja0luZm9gLAogICAgICAgIGhlYWRlcjogZ2V0SGVhZGVycyh7ICJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIgfSksCiAgICAgICAgbXNnOiAi5rKh5pyJ5Y+v55So55qE5aqS5L2T5rqQIgogICAgICB9OwogICAgfQoKICAgIC8vIOaehOW7uuaSreaUvlVSTAogICAgY29uc3QgcGxheVVybCA9IGAke2NvbmZpZy5ob3N0fS9lbWJ5L3ZpZGVvcy8ke3ZpZGVvSWR9L3N0cmVhbT9gICsKICAgICAgYFN0YXRpYz10cnVlJk1lZGlhU291cmNlSWQ9JHttZWRpYVNvdXJjZS5JZH0mRGV2aWNlSWQ9JHtjb25maWcuZGV2aWNlSWR9JmAgKwogICAgICBgYXBpX2tleT0ke2NvbmZpZy50b2tlbn0mUGxheVNlc3Npb25JZD0ke2pzb24uUGxheVNlc3Npb25JZCB8fCAnJ31gOwoKICAgIHJldHVybiB7IHBhcnNlOiAwLCBqeDogMCwgdXJsOiBwbGF5VXJsLCBoZWFkZXI6IGdldEhlYWRlcnMoKSB9OwogIH0sCgogIC8vIOWIhuexu+ino+aekO+8mumAu+i+keWdl+WIhuihjO+8jOi/h+a7pC/mmKDlsITljZXni6zmjaLooYwKICBjbGFzc19wYXJzZTogYXN5bmMgZnVuY3Rpb24gKCkgewogICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoYXdhaXQgZmV0Y2hBcGkoYCR7Y29uZmlnLmhvc3R9L2VtYnkvVXNlcnMvJHtjb25maWcudXNlcklkfS9WaWV3c2ApKTsKCiAgICBjb25zdCBjbGFzc0xpc3QgPSAoanNvbj8uSXRlbXMgfHwgW10pLmZpbHRlcihmdW5jdGlvbihpdCkgewogICAgICByZXR1cm4gIWl0Lk5hbWUuaW5jbHVkZXMoIuaSreaUvuWIl+ihqCIpICYmICFpdC5OYW1lLmluY2x1ZGVzKCLnm7jmnLoiKTsKICAgIH0pLm1hcChmdW5jdGlvbihpdCkgewogICAgICByZXR1cm4geyB0eXBlX2lkOiBpdC5JZCwgdHlwZV9uYW1lOiBpdC5OYW1lIH07CiAgICB9KTsKCiAgICByZXR1cm4geyBjbGFzczogY2xhc3NMaXN0LCBmaWx0ZXJzOiB7fSwgbGlzdDogW10gfTsKICB9LAoKICAvLyDmjqjojZDvvJpVUkzmi4bliIbvvIzor7fmsYIt6Kej5p6QLei/lOWbnumAu+i+kea4heaZsAogIOaOqOiNkDogYXN5bmMgZnVuY3Rpb24gKHRpZCwgcGcsIGZpbHRlciwgZXh0ZW5kKSB7CiAgICBjb25zdCB1cmwgPSBgJHtjb25maWcuaG9zdH0vZW1ieS9Vc2Vycy8ke2NvbmZpZy51c2VySWR9L0l0ZW1zP2AgKwogICAgICBgU29ydEJ5PURhdGVDcmVhdGVkJlNvcnRPcmRlcj1EZXNjZW5kaW5nJkluY2x1ZGVJdGVtVHlwZXM9TW92aWUsU2VyaWVzLEZvbGRlciZgICsKICAgICAgYFJlY3Vyc2l2ZT10cnVlJkxpbWl0PTQwJkZpZWxkcz0ke0JBU0VfRklFTERTfSxDb21tdW5pdHlSYXRpbmcsQ3JpdGljUmF0aW5nLFBhdGgsT3ZlcnZpZXcsSXNGb2xkZXImYCArCiAgICAgIGBFbmFibGVJbWFnZVR5cGVzPSR7SU1BR0VfVFlQRVN9JkltYWdlVHlwZUxpbWl0PTFgOwoKICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKGF3YWl0IGZldGNoQXBpKHVybCkpOwogICAgcmV0dXJuIHNldFJlc3VsdChleHRyYWN0VmlkZW9zKGpzb24pKTsKICB9LAoKICAvLyDkuIDnuqfliIbnsbvvvJrlhbPplK7lj5jph4/ljZXni6zlo7DmmI7vvIxVUkzmjInlj4LmlbDnu4Tmi4bliIYKICDkuIDnuqc6IGFzeW5jIGZ1bmN0aW9uICh0aWQsIHBnLCBmaWx0ZXIsIGV4dGVuZCkgewogICAgY29uc3Qgc3RhcnRJbmRleCA9IChwZyAtIDEpICogY29uZmlnLnBhZ2VTaXplOwoKICAgIGNvbnN0IHVybCA9IGAke2NvbmZpZy5ob3N0fS9lbWJ5L1VzZXJzLyR7Y29uZmlnLnVzZXJJZH0vSXRlbXM/YCArCiAgICAgIGBTb3J0Qnk9RGF0ZUxhc3RDb250ZW50QWRkZWQlMkNTb3J0TmFtZSZTb3J0T3JkZXI9RGVzY2VuZGluZyZgICsKICAgICAgYEluY2x1ZGVJdGVtVHlwZXM9TW92aWUlMkNTZXJpZXMlMkNGb2xkZXImUmVjdXJzaXZlPXRydWUmYCArCiAgICAgIGBGaWVsZHM9JHtCQVNFX0ZJRUxEU30sQ29tbXVuaXR5UmF0aW5nLENyaXRpY1JhdGluZyxQYXRoLE92ZXJ2aWV3LElzRm9sZGVyJmAgKwogICAgICBgU3RhcnRJbmRleD0ke3N0YXJ0SW5kZXh9JlBhcmVudElkPSR7dGlkfSZFbmFibGVJbWFnZVR5cGVzPSR7SU1BR0VfVFlQRVN9JmAgKwogICAgICBgSW1hZ2VUeXBlTGltaXQ9MSZMaW1pdD0ke2NvbmZpZy5wYWdlU2l6ZX0mRW5hYmxlVXNlckRhdGE9dHJ1ZWA7CgogICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoYXdhaXQgZmV0Y2hBcGkodXJsKSk7CiAgICByZXR1cm4gc2V0UmVzdWx0KGV4dHJhY3RWaWRlb3MoanNvbikpOwogIH0sCgogIC8vIOS6jOe6p+ivpuaDhe+8muaMieWKn+iDveaooeWdl+aLhuWIhu+8jOavj+S4quaooeWdl+epuuihjOWIhumalAogIOS6jOe6pzogYXN5bmMgZnVuY3Rpb24gKGlkcykgewogICAgLy8gMS4g6I635Y+W5Z+656GA5L+h5oGvCiAgICBjb25zdCBkZXRhaWxVcmwgPSBgJHtjb25maWcuaG9zdH0vZW1ieS9Vc2Vycy8ke2NvbmZpZy51c2VySWR9L0l0ZW1zLyR7aWRzfT9gICsKICAgICAgYEZpZWxkcz0ke0JBU0VfRklFTERTfSxDb21tdW5pdHlSYXRpbmcsQ3JpdGljUmF0aW5nLFBhdGgsT3ZlcnZpZXcsUGVvcGxlLFN0dWRpb3MsUnVuVGltZVRpY2tzLE1lZGlhU3RyZWFtc2A7CiAgICBjb25zdCBpbmZvID0gSlNPTi5wYXJzZShhd2FpdCBmZXRjaEFwaShkZXRhaWxVcmwpKTsKCiAgICAvLyAyLiDop6PmnoTmj5Dlj5bmoLjlv4PmlbDmja7vvJrnroDljJblj5jph4/lo7DmmI7vvIzpgb/lhY3lpJrlsYJpZgogICAgY29uc3QgeyBQZW9wbGUgPSBbXSwgU3R1ZGlvcyA9IFtdLCBNZWRpYVN0cmVhbXMgPSBbXSwgUnVuVGltZVRpY2tzIH0gPSBpbmZvOwogICAgY29uc3QgZGlyZWN0b3IgPSBQZW9wbGUuZmlsdGVyKGZ1bmN0aW9uKHApIHsKICAgICAgcmV0dXJuIHAuVHlwZSA9PT0gIkRpcmVjdG9yIiB8fCAocC5Sb2xlICYmIHAuUm9sZS5pbmNsdWRlcygiRGlyZWN0b3IiKSk7CiAgICB9KS5tYXAoZnVuY3Rpb24ocCkgeyByZXR1cm4gcC5OYW1lOyB9KS5qb2luKCIgLyAiKTsKCiAgICBjb25zdCBhY3RvciA9IFBlb3BsZS5maWx0ZXIoZnVuY3Rpb24ocCkgewogICAgICByZXR1cm4gcC5UeXBlID09PSAiQWN0b3IiIHx8IChwLlJvbGUgJiYgcC5Sb2xlLmluY2x1ZGVzKCJBY3RvciIpKTsKICAgIH0pLm1hcChmdW5jdGlvbihwKSB7IHJldHVybiBwLk5hbWU7IH0pLmpvaW4oIiAvICIpOwoKICAgIGNvbnN0IGFyZWEgPSBTdHVkaW9zLm1hcChmdW5jdGlvbihzKSB7IHJldHVybiBzLk5hbWU7IH0pLmpvaW4oIiAvICIpOwogICAgY29uc3QgbGFuZ3VhZ2UgPSBBcnJheS5mcm9tKG5ldyBTZXQoCiAgICAgIE1lZGlhU3RyZWFtcy5maWx0ZXIoZnVuY3Rpb24ocykgeyByZXR1cm4gcy5UeXBlID09PSAiQXVkaW8iICYmIHMuTGFuZ3VhZ2U7IH0pCiAgICAgICAgLm1hcChmdW5jdGlvbihzKSB7IHJldHVybiBzLkxhbmd1YWdlOyB9KQogICAgKSkuam9pbigiIC8gIik7CgogICAgLy8gMy4g5pe26ZW/6K6h566X77ya6YC76L6R5Y2V54us5oiQ5Z2X77yM5Y+Y6YeP5ZG95ZCN5riF5pmwCiAgICBsZXQgZHVyYXRpb24gPSAiIjsKICAgIGlmIChSdW5UaW1lVGlja3MpIHsKICAgICAgY29uc3QgbWlucyA9IE1hdGguZmxvb3IoUnVuVGltZVRpY2tzIC8gNjAwMDAwMDAwKTsKICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKG1pbnMgLyA2MCk7CiAgICAgIGR1cmF0aW9uID0gaG91cnMgPiAwID8gYCR7aG91cnN95bCP5pe2JHttaW5zJTYwfeWIhumSn2AgOiBgJHttaW5zfeWIhumSn2A7CiAgICB9CgogICAgLy8gNC4g5p6E5bu65Z+656GAVk9E5L+h5oGv77ya5bGe5oCn5YiG6KGM77yM57uT5p6E5riF5pmwCiAgICBjb25zdCBWT0QgPSB7CiAgICAgIHR5cGVfbmFtZTogKGluZm8uR2VucmVzIHx8IFtdKS5qb2luKCIgIiksCiAgICAgIHZvZF9uYW1lOiBpbmZvLk5hbWUgfHwgIiIsCiAgICAgIHZvZF9waWM6IGdldEltYWdlVXJsKGluZm8uSWQsIGluZm8uSW1hZ2VUYWdzPy5QcmltYXJ5KSwKICAgICAgdm9kX3JlbWFya3M6IGDor4TliIbvvJoke2luZm8uQ29tbXVuaXR5UmF0aW5nIHx8ICJOL0EifWAsCiAgICAgIHZvZF9jb250ZW50OiBpbmZvLk92ZXJ2aWV3IHx8ICIiLAogICAgICB2b2RfeWVhcjogaW5mby5Qcm9kdWN0aW9uWWVhcj8udG9TdHJpbmcoKSB8fCAiIiwKICAgICAgdm9kX2RpcmVjdG9yOiBkaXJlY3RvciwKICAgICAgdm9kX2FjdG9yOiBhY3RvciwKICAgICAgdm9kX2FyZWE6IGFyZWEsCiAgICAgIHZvZF9sYW5nOiBsYW5ndWFnZSwKICAgICAgdm9kX3RpbWU6IGR1cmF0aW9uCiAgICB9OwoKICAgIC8vIDUuIOWJp+mbhueJueauiuWkhOeQhu+8muW+queOr+WGhemAu+i+keWIhuihjO+8jOmBv+WFjeWghuegjAogICAgaWYgKGluZm8uVHlwZSA9PT0gIlNlcmllcyIpIHsKICAgICAgY29uc3Qgc2Vhc29uc1VybCA9IGAke2NvbmZpZy5ob3N0fS9lbWJ5L1Nob3dzLyR7aWRzfS9TZWFzb25zP2AgKwogICAgICAgIGBVc2VySWQ9JHtjb25maWcudXNlcklkfSZGaWVsZHM9JHtCQVNFX0ZJRUxEU30sUGF0aCxPdmVydmlldyZFbmFibGVUb3RhbFJlY29yZENvdW50PWZhbHNlYDsKICAgICAgY29uc3Qgc2Vhc29ucyA9IChKU09OLnBhcnNlKGF3YWl0IGZldGNoQXBpKHNlYXNvbnNVcmwpKSkuSXRlbXMgfHwgW107CgogICAgICBjb25zdCBmcm9tID0gW10sIHJlc3VsdCA9IFtdOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlYXNvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICBjb25zdCBzZWFzb24gPSBzZWFzb25zW2ldOwogICAgICAgIGZyb20ucHVzaChzZWFzb24uTmFtZSk7CgogICAgICAgIGNvbnN0IGVwaXNvZGVzVXJsID0gYCR7Y29uZmlnLmhvc3R9L2VtYnkvU2hvd3MvJHtpZHN9L0VwaXNvZGVzP2AgKwogICAgICAgICAgYFNlYXNvbklkPSR7c2Vhc29uLklkfSZJbWFnZVR5cGVMaW1pdD0xJlVzZXJJZD0ke2NvbmZpZy51c2VySWR9JmAgKwogICAgICAgICAgYEZpZWxkcz1PdmVydmlldyUyQ1ByaW1hcnlJbWFnZUFzcGVjdFJhdGlvJkxpbWl0PTEwMDBgOwogICAgICAgIGNvbnN0IGVwaXNvZGVzID0gKEpTT04ucGFyc2UoYXdhaXQgZmV0Y2hBcGkoZXBpc29kZXNVcmwpKSkuSXRlbXMgfHwgW107CgogICAgICAgIHJlc3VsdC5wdXNoKGVwaXNvZGVzLm1hcChmdW5jdGlvbihpdGVtKSB7CiAgICAgICAgICByZXR1cm4gYCR7aXRlbS5OYW1lfSQke2l0ZW0uSWR9YDsKICAgICAgICB9KS5qb2luKCIjIikpOwogICAgICB9CgogICAgICBWT0Qudm9kX3BsYXlfZnJvbSA9IGZyb20uam9pbigiJCQkIik7CiAgICAgIFZPRC52b2RfcGxheV91cmwgPSByZXN1bHQuam9pbigiJCQkIik7CiAgICB9IGVsc2UgewogICAgICBWT0Qudm9kX3BsYXlfZnJvbSA9ICJFTUJZIjsKICAgICAgVk9ELnZvZF9wbGF5X3VybCA9IGAke2luZm8uTmFtZSB8fCAi5pKt5pS+In0kJHtpZHN9YDsKICAgIH0KCiAgICByZXR1cm4gVk9EOwogIH0sCgogIC8vIOaQnOe0ou+8mlVSTOaLhuWIhu+8jOmAu+i+keeugOa0gea4heaZsAogIOaQnOe0ojogYXN5bmMgZnVuY3Rpb24gKHdkLCBxdWljaywgcGcgPSAxKSB7CiAgICBjb25zdCB1cmwgPSBgJHtjb25maWcuaG9zdH0vZW1ieS9Vc2Vycy8ke2NvbmZpZy51c2VySWR9L0l0ZW1zP2AgKwogICAgICBgU29ydEJ5PVNvcnROYW1lJlNvcnRPcmRlcj1Bc2NlbmRpbmcmRmllbGRzPSR7QkFTRV9GSUVMRFN9JmAgKwogICAgICBgU3RhcnRJbmRleD0wJkVuYWJsZUltYWdlVHlwZXM9JHtJTUFHRV9UWVBFU30mSW1hZ2VUeXBlTGltaXQ9MSZgICsKICAgICAgYFJlY3Vyc2l2ZT10cnVlJlNlYXJjaFRlcm09JHtlbmNvZGVVUklDb21wb25lbnQod2QpfSZgICsKICAgICAgYEdyb3VwUHJvZ3JhbXNCeVNlcmllcz10cnVlJkxpbWl0PTUwYDsKCiAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShhd2FpdCBmZXRjaEFwaSh1cmwpKTsKICAgIHJldHVybiBzZXRSZXN1bHQoZXh0cmFjdFZpZGVvcyhqc29uKSk7CiAgfQp9Ow==