Subversion Repository Public Repository

Nextrek

1
{"uid":"07DDA1D1419141A5","isLoaded":true,"lastModificationTime":1428415343746,"items":{"name":"Format Helpers","type":"script","parentId":"DB2D3154KEE4EA43BCSBC59ED3B462A07998","order":1,"content":"LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKgogKiAgIFNjcmlwdDogRm9ybWF0IEhlbHBlcnMKICoKICogICAkJENPUFlSSUdIVCQkCiAqCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICoKICogICBEZWZpbmVzIGZvcm1hdCBoZWxwZXJzIHVzZWQgaW4gc2NlbmUgY29tbWFuZHMgYW5kIHZpZXdzLgogKgogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqLwogCnZhciBnbG9iYWwgPSB0aGlzLndpbmRvdyB8fCBzZWxmOwoKaWYoIWdsb2JhbC5HUykgZ2xvYmFsLkdTID0geyAgfTsKaWYoIWdsb2JhbC5HUy5WTikgZ2xvYmFsLkdTLlZOID0geyBFQ0g6IHt9IH07CmlmKCFnbG9iYWwuR1MuRUNIKSBnbG9iYWwuR1MuRUNIID0ge30KaWYoIWdsb2JhbC5HUy5EQkgpIGdsb2JhbC5HUy5EQkggPSB7fQoKZ2xvYmFsLkdTLlZOLnByZXBhcmVQcmV2aWV3ID0gZnVuY3Rpb24oY29tbWFuZHMsIGN1cnJlbnRJbmRleCwgcHJldmlld0RhdGEpIHsKICAgIHZhciBwcmV2aWV3RGF0YSA9IHsgYmFja2dyb3VuZHM6IFtdIH0KICAgIHZhciBjdXJyZW50Q29tbWFuZCA9IGNvbW1hbmRzW2N1cnJlbnRJbmRleF07CiAgICB2YXIgY29tbWFuZCA9IG51bGw7CiAgICAKICAgIGZvcih2YXIgaSA9IGN1cnJlbnRJbmRleDsgaSA+PSAwOyBpLS0pCiAgICB7CiAgICAgICAgY29tbWFuZCA9IGNvbW1hbmRzW2ldOwogICAgICAgIAogICAgICAgIHN3aXRjaChjb21tYW5kLmlkKQogICAgICAgIHsKICAgICAgICAgICAgY2FzZSAidm4uQ2hhbmdlQmFja2dyb3VuZCI6CiAgICAgICAgICAgICAgICBpZighaXNWYXIoY29tbWFuZC5wYXJhbXMubGF5ZXIpICYmICFpc1Zhcihjb21tYW5kLnBhcmFtcy5ncmFwaGljKSAmJiAhcHJldmlld0RhdGEuYmFja2dyb3VuZHNbY29tbWFuZC5wYXJhbXMubGF5ZXJdKQogICAgICAgICAgICAgICAgICAgIHByZXZpZXdEYXRhLmJhY2tncm91bmRzW2NvbW1hbmQucGFyYW1zLmxheWVyXSA9IGNvbW1hbmQucGFyYW1zLmdyYXBoaWM7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAvKiBjYXNlICJ2bi5DaGFyYWN0ZXJKb2luU2NlbmUiOgogICAgICAgICAgICAgICAgaWYocHJldmlld0RhdGEuY2hhcmFjdGVycy53aGVyZShmdW5jdGlvbihjKXsgYyA9PSBjb21tYW5kLnBhcmFtcy5jaGFyYWN0ZXJJZCB9KS5sZW5ndGggPT0gMCkKICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RGF0YS5jaGFyYWN0ZXJzLnB1c2goY29tbWFuZC5wYXJhbXMuY2hhcmFjdGVySWQpOyovCiAgICAgICAgfQogICAgfQoKICAgIC8vcHJldmlld0RhdGEucHJldmlld0JhY2tncm91bmQgPSBwcmV2aWV3RGF0YS5iYWNrZ3JvdW5kc1swXTsKICAgIGN1cnJlbnRDb21tYW5kLnBhcmFtcy5wcmV2aWV3QmFja2dyb3VuZCA9IHsgbmFtZTogIiRsaXZlX3ByZXZpZXdfc25hcHNob3QiIH07IC8vcHJldmlld0RhdGEuYmFja2dyb3VuZHNbMF07Cn0KCmdsb2JhbC5HUy5WTi5wcm9jZXNzTWVzc2FnZVRva2VuID0gZnVuY3Rpb24ocCwgY29kZSwgdmFsdWUpIHsKICAgIHN3aXRjaChjb2RlKQogICAgewogICAgICAgIGNhc2UgIkUiOiAgLy8gQ2hhbmdlIEV4cHJlc3Npb24KICAgICAgICAgICAgcC5leHByZXNzaW9ucy5wdXNoKCh2YWx1ZXx8MSktMSkKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAiQSI6IC8vIFBsYXkgQW5pbWF0aW9uCiAgICAgICAgICAgIHAuYW5pbWF0aW9ucy5wdXNoKCh2YWx1ZXx8MSktMSkKICAgICAgICAgICAgYnJlYWs7CiAgICB9Cn0KCmdsb2JhbC5HUy5WTi53cml0ZU1lc3NhZ2VEYXRhID0gZnVuY3Rpb24odiwgcCkgewogICAgdmFyIG1lc3NhZ2UgPSB2LmxjSWQgPyB2LmRlZmF1bHRUZXh0fHwiIiA6IHY7CiAgICB2YXIgdG9rZW5zID0gbWVzc2FnZS5zcGxpdCgvXHsoW0EtWl0rKTooWzAtOUlBVU5CU0NHTFAsOl0rKVx9fChcbikvZ20pOwogICAgdmFyIHRva2VuID0gbnVsbDsKICAgIHZhciB0ID0gMDsKICAgIAogICAgcC5leHByZXNzaW9ucyA9IFtdOwogICAgcC5hbmltYXRpb25zID0gW107CiAgICAKICAgIHdoaWxlKHQgPCB0b2tlbnMubGVuZ3RoKSAKICAgIHsKICAgICAgICB0b2tlbiA9IHRva2Vuc1t0XQogICAgICAgIAogICAgICAgIGlmKHQgJSA0ICE9PSAwICYmIHRva2VuKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIHZhbHVlID0gIHRva2Vuc1t0KzFdOwogICAgICAgICAgICB2YWx1ZSA9IGlzTmFOKHZhbHVlKSA/IHZhbHVlIDogcGFyc2VJbnQodmFsdWUpOwogICAgICAgICAgICAKICAgICAgICAgICAgR1MuVk4ucHJvY2Vzc01lc3NhZ2VUb2tlbihwLCB0b2tlbiwgdmFsdWUpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICB0KysKICAgIH0KICAgIAogICAgcmV0dXJuIHY7Cn0KCmdsb2JhbC5HUy5WTi5saXZlMkRNb3Rpb25MaXN0ID0gZnVuY3Rpb24oZCkKewogICAgdmFyIHppcCA9IG5ldyBKU1ppcChkLl9tb2RlbERhdGEpOwogICAgdmFyIHNldHRpbmdzID0gemlwLmZpbGUoInNldHRpbmdzLmpzb24iKTsKICAgIHZhciBtb3Rpb25zID0gW107CiAgICAKICAgIGlmKHNldHRpbmdzKQogICAgewogICAgICAgIHNldHRpbmdzID0gSlNPTi5wYXJzZShzZXR0aW5ncy5hc1RleHQoKSk7CiAgICAgICAgCiAgICAgICAgZm9yKHZhciBrIGluIHNldHRpbmdzLm1vdGlvbnMpCiAgICAgICAgewogICAgICAgICAgICB2YXIgZ3JvdXAgPSBzZXR0aW5ncy5tb3Rpb25zW2tdOwogICAgICAgICAgICAKICAgICAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IGdyb3VwLmxlbmd0aDsgaSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBtb3Rpb25zLnB1c2goZ3JvdXBbaV0uZmlsZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIHJldHVybiBtb3Rpb25zOwp9CgpnbG9iYWwuR1MuVk4ubGl2ZTJETW90aW9uR3JvdXBMaXN0ID0gZnVuY3Rpb24oZCkKewogICAgdmFyIHppcCA9IG5ldyBKU1ppcChkLl9tb2RlbERhdGEpOwogICAgdmFyIHNldHRpbmdzID0gemlwLmZpbGUoInNldHRpbmdzLmpzb24iKTsKICAgIHZhciBtb3Rpb25zID0gW107CiAgICAKICAgIGlmKHNldHRpbmdzKQogICAgewogICAgICAgIHNldHRpbmdzID0gSlNPTi5wYXJzZShzZXR0aW5ncy5hc1RleHQoKSk7CiAgICAgICAgCiAgICAgICAgZm9yKHZhciBrIGluIHNldHRpbmdzLm1vdGlvbnMpCiAgICAgICAgewogICAgICAgICAgICBtb3Rpb25zLnB1c2goayB8fCBsY3MoJ0M2Nzg2NjUwOEIzMUY2NEE1MTRCMzRBN0YxNDIyNzczNTlDQycpKQogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIG1vdGlvbnM7Cn0KCmdsb2JhbC5HUy5WTi5saXZlMkRFeHByZXNzaW9uTGlzdCA9IGZ1bmN0aW9uKGQpCnsKICAgIHZhciB6aXAgPSBuZXcgSlNaaXAoZC5fbW9kZWxEYXRhKTsKICAgIHZhciBzZXR0aW5ncyA9IHppcC5maWxlKCJzZXR0aW5ncy5qc29uIik7CiAgICB2YXIgZXhwcmVzc2lvbnMgPSBbXTsKICAgIAogICAgaWYoc2V0dGluZ3MpCiAgICB7CiAgICAgICAgc2V0dGluZ3MgPSBKU09OLnBhcnNlKHNldHRpbmdzLmFzVGV4dCgpKTsKICAgICAgICAKICAgICAgICBpZihzZXR0aW5ncy5leHByZXNzaW9ucykKICAgICAgICAgICAgc2V0dGluZ3MuZXhwcmVzc2lvbnMuZm9yRWFjaChmdW5jdGlvbihleHApewogICAgICAgICAgICAgICAgZXhwcmVzc2lvbnMucHVzaChleHAubmFtZSB8fCBleHAuZmlsZSkKICAgICAgICAgICAgfSkKICAgIH0KICAgIAogICAgcmV0dXJuIGV4cHJlc3Npb25zOwp9CgpnbG9iYWwuR1MuVk4uZGF0YWJhc2VQYXJhbUxpc3QgPSBmdW5jdGlvbihjb2xsZWN0aW9uLCBpZCkKewogICAgdmFyIHIgPSByZWNvcmQoY29sbGVjdGlvbiwgaWQpOwogICAgdmFyIHJlc3VsdCA9IFt7IG5hbWU6IGxjcygnRDdEQzkxMURLQ0NCOUE0REU5U0JFMjZFQkZDQ0E0Q0IwODI2JyksIGFsaWFzOiB7IG5hbWU6IGxjcygnRDdEQzkxMURLQ0NCOUE0REU5U0JFMjZFQkZDQ0E0Q0IwODI2JykgfSB9XTsKICAgIAogICAgaWYociAmJiByLnBhcmFtcykKICAgIHsKICAgICAgICByZXN1bHQgPSByLnBhcmFtcy5zZWxlY3QoZnVuY3Rpb24ocCkgeyByZXR1cm4geyBuYW1lOiBwLm5hbWUsIGFsaWFzOiBwIH19KTsKICAgIH0KICAgIAogICAgcmV0dXJuIHJlc3VsdDsKfQogICAgICAgICAKCmdsb2JhbC5HUy5WTi5wcmVkZWZpbmVkT2JqZWN0UG9zaXRpb25MaXN0ID0gZnVuY3Rpb24oaW5jbHVkZURlZmF1bHQpCnsKICAgIHZhciByID0gcmVjb3JkKCJzeXN0ZW0iLCAwKTsKICAgIHZhciByZXN1bHQgPSBbeyBuYW1lOiBsY3MoJ0Q3REM5MTFES0NDQjlBNERFOVNCRTI2RUJGQ0NBNENCMDgyNicpLCBhbGlhczogeyBuYW1lOiBsY3MoJ0Q3REM5MTFES0NDQjlBNERFOVNCRTI2RUJGQ0NBNENCMDgyNicpIH0gfV07CiAgICAKICAgIGlmKHIgJiYgci5vYmplY3RQb3NpdGlvbnMpCiAgICB7CiAgICAgICAgcmVzdWx0ID0gci5vYmplY3RQb3NpdGlvbnMuc2VsZWN0KGZ1bmN0aW9uKHAsIGkpIHsgcmV0dXJuIHsgbmFtZTogcC5uYW1lLCBhbGlhczogaSB9IH0pOwogICAgfQogICAgCiAgICBpZihpbmNsdWRlRGVmYXVsdCkKICAgICAgICByZXN1bHQuc3BsaWNlKDAsIDAsIHsgbmFtZTogbGNzKCdQMTEzJyksIGFsaWFzOiAtMSB9KQogICAgCiAgICByZXR1cm4gcmVzdWx0Owp9CiAgICAgICAgICAgICAKZ2xvYmFsLkdTLlZOLnRleHRGb3JQcmVkZWZpbmVkT2JqZWN0UG9zaXRpb24gPSBmdW5jdGlvbihpZCkKewogICAgdmFyIHIgPSByZWNvcmQoInN5c3RlbSIsIDApOwogICAgdmFyIHBvc2l0aW9uID0gci5vYmplY3RQb3NpdGlvbnNbaWRdOwogICAgCiAgICBpZihpZCA9PSAtMSkKICAgICAgICByZXR1cm4gbGNzKCdQMTEzJykKICAgIGVsc2UKICAgICAgICByZXR1cm4gcG9zaXRpb24gPyBwb3NpdGlvbi5uYW1lIDogbGNzKCdDNkFFODE3MzBGNTYxNTQ4OTI5OEIxNjc5RkJCMEQyOTBGMjMnKQp9CgpnbG9iYWwuR1MuVk4ucmVzb3VyY2VGb3JFeHByZXNzaW9uID0gZnVuY3Rpb24oaWQpCnsKICAgIHZhciByID0gcmVjb3JkKCdjaGFyYWN0ZXJFeHByZXNzaW9ucycsIGlkKTsKICAgIHZhciByZXNvdXJjZSA9IG51bGw7CiAgICAKICAgIGlmKHIgJiYgci5pZGxlICYmIHIuaWRsZS5sZW5ndGggPiAwKQogICAgICAgIHJlc291cmNlID0gci5pZGxlWzBdLnJlc291cmNlOwogICAgICAgIAogICAgcmV0dXJuIHJlc291cmNlOwp9CgpnbG9iYWwuR1MuVk4ucmVzb3VyY2VGb3JDaGFyYWN0ZXIgPSBmdW5jdGlvbihpZCkKewogICAgdmFyIHIgPSByZWNvcmQoImNoYXJhY3RlcnMiLCBpZCk7CiAgICB2YXIgcmVzb3VyY2UgPSBudWxsOwogICAgCiAgICBpZihyICYmIHIuZGVmYXVsdEV4cHJlc3Npb25JZCAhPSBudWxsKQogICAgICAgIHJlc291cmNlID0gR1MuVk4ucmVzb3VyY2VGb3JFeHByZXNzaW9uKHIuZGVmYXVsdEV4cHJlc3Npb25JZCkKICAgIAogICAgcmV0dXJuIHJlc291cmNlOwp9CgpnbG9iYWwuR1MuVk4uZXhwcmVzc2lvbkZvckNoYXJhY3RlciA9IGZ1bmN0aW9uKGlkKQp7CiAgICB2YXIgciA9IHJlY29yZCgiY2hhcmFjdGVycyIsIGlkKTsKICAgIHZhciBleHByZXNzaW9uID0gbnVsbDsKICAgIAogICAgaWYoci5leHByZXNzaW9ucyAmJiByLmV4cHJlc3Npb25zLmxlbmd0aCA+IDApCiAgICAgICAgZXhwcmVzc2lvbiA9IHIuZXhwcmVzc2lvbnNbMF0KICAgIAogICAgcmV0dXJuIGV4cHJlc3Npb247Cn0KCmdsb2JhbC5HUy5WTi5leHByZXNzaW9uSWRGb3JDaGFyYWN0ZXIgPSBmdW5jdGlvbihpZCkKewogICAgdmFyIHIgPSByZWNvcmQoImNoYXJhY3RlcnMiLCBpZCk7CiAgICB2YXIgZWlkID0gMDsKICAgIAogICAgaWYociAmJiByLmRlZmF1bHRFeHByZXNzaW9uSWQgIT0gbnVsbCkKICAgICAgICBlaWQgPSByLmRlZmF1bHRFeHByZXNzaW9uSWQ7CiAgICAKICAgIHJldHVybiBlaWQ7Cn0KCmdsb2JhbC5HUy5WTi5ncmFwaGljRm9yQW5pbWF0aW9uID0gZnVuY3Rpb24oaWQpCnsKICAgIHZhciByID0gcmVjb3JkKCJhbmltYXRpb25zIiwgaWQpOwogICAgdmFyIGdyYXBoaWMgPSBudWxsOwogICAgCiAgICBpZihyICYmIHIuZ3JhcGhpYykKICAgICAgICBncmFwaGljID0geyBuYW1lOiByLmdyYXBoaWMubmFtZSB9CiAgICBlbHNlCiAgICAgICAgZ3JhcGhpYyA9IHsgbmFtZTogIiIgfQogICAgICAgIAogICAgcmV0dXJuIGdyYXBoaWM7Cn0KCmdsb2JhbC5HUy5EQkguZGF0YVNvdXJjZUZvclNlY3Rpb25TZWxlY3Rpb24gPSBmdW5jdGlvbihkKQp7CiAgICB2YXIgcmVzdWx0ID0gW107CiAgICAKICAgIGlmKGQgJiYgZC5vYmplY3QgJiYgZC5vYmplY3QucGFyZW50T2JqZWN0KQogICAgewogICAgICAgIHZhciBkZXNjcmlwdG9yID0gZC5vYmplY3QucGFyZW50T2JqZWN0LmRlc2NyaXB0b3IgfHwgZC5vYmplY3QucGFyZW50T2JqZWN0OwogICAgICAgIHJlc3VsdCA9IGRlc2NyaXB0b3Iuc2VjdGlvbnMud2hlcmUoZnVuY3Rpb24ocyl7IHJldHVybiBzLnVpZCAhPSBudWxsIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZWxlY3QoZnVuY3Rpb24ocyl7IHJldHVybiB7ICJuYW1lIjogR1NSZXBsYWNlTG9jYWxpemVkU3RyaW5nKHMubmFtZSksICJhbGlhcyI6IHsgIm5hbWUiOiBHU1JlcGxhY2VMb2NhbGl6ZWRTdHJpbmcocy5uYW1lKSwgInVpZCI6IHMudWlkIH0gfSB9KTsKICAgIH0KICAgIAogICAgcmV0dXJuIHJlc3VsdDsKfQ=="},"summary":["name","type"]}

Commits for Nextrek/s2s/data/07DDA1D1419141A5.json

Diff revisions: vs.
Revision Author Commited Message
1084 MOliva picture MOliva Fri 11 May, 2018 12:41:55 +0000