@taiga-ui/icons 2.44.0 → 2.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,8 +21,8 @@ export function processIcons(files, interceptor) {
21
21
  }
22
22
  }
23
23
  function wrapIcon(source, name) {
24
- const src = source.substring(source.indexOf(START));
25
- const attributes = src.substring(0, src.indexOf('>'));
24
+ const src = source.slice(Math.max(0, source.indexOf(START)));
25
+ const attributes = src.slice(0, Math.max(0, src.indexOf('>')));
26
26
  if (!attributes ||
27
27
  !attributes.includes(WIDTH_SEARCH) ||
28
28
  !attributes.includes(HEIGHT_SEARCH)) {
@@ -32,8 +32,8 @@ function wrapIcon(source, name) {
32
32
  const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);
33
33
  const widthOffset = indexOfWidth + WIDTH_SEARCH.length;
34
34
  const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;
35
- const widthString = attributes.substring(widthOffset, attributes.indexOf('"', widthOffset));
36
- const heightString = attributes.substring(heightOffset, attributes.indexOf('"', heightOffset));
35
+ const widthString = attributes.slice(widthOffset, attributes.indexOf('"', widthOffset));
36
+ const heightString = attributes.slice(heightOffset, attributes.indexOf('"', heightOffset));
37
37
  if (!heightString ||
38
38
  !widthString ||
39
39
  widthString.includes('%') ||
@@ -55,4 +55,4 @@ function wrapIcon(source, name) {
55
55
  </g>`.trim(),
56
56
  };
57
57
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9pY29ucy9zY3JpcHRzLyIsInNvdXJjZXMiOlsicHJvY2Vzcy1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUzQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDckIsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQy9CLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQVVqQyxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWUsRUFBRSxXQUFnQztJQUMxRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFakUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkQsU0FBUztTQUNaO1FBRUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwQyxNQUFNLEtBQUssR0FDUCxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQ2QsS0FBSyxFQUNMLGtEQUFrRCxJQUFJLDJDQUEyQyxDQUNwRyxZQUFZO1lBQ2YsQ0FBQyxDQUFDLGtEQUFrRCxPQUFPLENBQUMsS0FBSyxhQUFhLE9BQU8sQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTdILEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDOUQ7QUFDTCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsTUFBYyxFQUFFLElBQVk7SUFDMUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXRELElBQ0ksQ0FBQyxVQUFVO1FBQ1gsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNsQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQ3JDO1FBQ0UsT0FBTyxHQUFHLENBQUM7S0FDZDtJQUVELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RCxNQUFNLFdBQVcsR0FBRyxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUN2RCxNQUFNLFlBQVksR0FBRyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUMxRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUNwQyxXQUFXLEVBQ1gsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQ3ZDLENBQUM7SUFDRixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsU0FBUyxDQUNyQyxZQUFZLEVBQ1osVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQ3hDLENBQUM7SUFFRixJQUNJLENBQUMsWUFBWTtRQUNiLENBQUMsV0FBVztRQUNaLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3pCLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQzVCO1FBQ0UsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxZQUFZLElBQUksR0FBRyxDQUFDLENBQUM7S0FDbEQ7SUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLFFBQVEsR0FBRyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRTdCLE9BQU87UUFDSCxLQUFLLEVBQUUsR0FBRyxPQUFPLElBQUk7UUFDckIsTUFBTSxFQUFFLEdBQUcsUUFBUSxJQUFJO1FBQ3ZCLEdBQUcsRUFBRTtpQkFDSSxJQUFJOzBDQUNxQixPQUFPLGVBQWUsUUFBUSx1Q0FBdUMsS0FBSyxJQUFJLE1BQU07MEJBQ3BHLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssR0FBRzs7YUFFbEQsQ0FBQyxJQUFJLEVBQUU7S0FDZixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQge3BhcnNlfSBmcm9tICdwYXRoJztcblxuY29uc3QgU1RBUlQgPSAnPHN2Zyc7XG5jb25zdCBXSURUSF9TRUFSQ0ggPSAnd2lkdGg9XCInO1xuY29uc3QgSEVJR0hUX1NFQVJDSCA9ICdoZWlnaHQ9XCInO1xuXG5pbnRlcmZhY2UgV3JhcHBlZENvbnRlbnQge1xuICAgIGhlaWdodDogc3RyaW5nO1xuICAgIHdpZHRoOiBzdHJpbmc7XG4gICAgc3JjOiBzdHJpbmc7XG59XG5cbnR5cGUgQ29udGVudEludGVyY2VwdG9yID0gKHNyYzogc3RyaW5nKSA9PiBzdHJpbmc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzSWNvbnMoZmlsZXM6IHN0cmluZ1tdLCBpbnRlcmNlcHRvcj86IENvbnRlbnRJbnRlcmNlcHRvcik6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICBjb25zdCBiYXNlQ29udGVudCA9IFN0cmluZyhmcy5yZWFkRmlsZVN5bmMoZmlsZSkpO1xuICAgICAgICBjb25zdCBzcmMgPSBpbnRlcmNlcHRvciA/IGludGVyY2VwdG9yKGJhc2VDb250ZW50KSA6IGJhc2VDb250ZW50O1xuXG4gICAgICAgIGNvbnN0IG5hbWUgPSBwYXJzZShmaWxlKS5iYXNlLnJlcGxhY2UoJy5zdmcnLCAnJyk7XG5cbiAgICAgICAgaWYgKHNyYy5pbmNsdWRlcyhgaWQ9XCIke25hbWV9XCJgKSkge1xuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdcXHgxYlszM20lc1xceDFiWzBtJywgYFtza2lwXTpgLCBmaWxlKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd3JhcHBlZCA9IHdyYXBJY29uKHNyYywgbmFtZSk7XG5cbiAgICAgICAgY29uc3QgZmluYWwgPVxuICAgICAgICAgICAgdHlwZW9mIHdyYXBwZWQgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgICAgPyBgJHt3cmFwcGVkLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgICAgICAgU1RBUlQsXG4gICAgICAgICAgICAgICAgICAgICAgYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIGlkPVwiJHtuYW1lfVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48c3ZnYCxcbiAgICAgICAgICAgICAgICAgICl9PC9nPjwvc3ZnPmBcbiAgICAgICAgICAgICAgICA6IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIiR7d3JhcHBlZC53aWR0aH1cIiBoZWlnaHQ9XCIke3dyYXBwZWQuaGVpZ2h0fVwiPiR7d3JhcHBlZC5zcmN9PC9zdmc+YDtcblxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGUsIGZpbmFsKTtcblxuICAgICAgICBjb25zb2xlLmluZm8oJ1xceDFiWzMybSVzXFx4MWJbMG0nLCBgW3ByZXByb2Nlc3NlZF06YCwgZmlsZSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB3cmFwSWNvbihzb3VyY2U6IHN0cmluZywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgV3JhcHBlZENvbnRlbnQge1xuICAgIGNvbnN0IHNyYyA9IHNvdXJjZS5zdWJzdHJpbmcoc291cmNlLmluZGV4T2YoU1RBUlQpKTtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gc3JjLnN1YnN0cmluZygwLCBzcmMuaW5kZXhPZignPicpKTtcblxuICAgIGlmIChcbiAgICAgICAgIWF0dHJpYnV0ZXMgfHxcbiAgICAgICAgIWF0dHJpYnV0ZXMuaW5jbHVkZXMoV0lEVEhfU0VBUkNIKSB8fFxuICAgICAgICAhYXR0cmlidXRlcy5pbmNsdWRlcyhIRUlHSFRfU0VBUkNIKVxuICAgICkge1xuICAgICAgICByZXR1cm4gc3JjO1xuICAgIH1cblxuICAgIGNvbnN0IGluZGV4T2ZXaWR0aCA9IGF0dHJpYnV0ZXMuaW5kZXhPZihXSURUSF9TRUFSQ0gpO1xuICAgIGNvbnN0IGluZGV4T2ZIZWlnaHQgPSBhdHRyaWJ1dGVzLmluZGV4T2YoSEVJR0hUX1NFQVJDSCk7XG4gICAgY29uc3Qgd2lkdGhPZmZzZXQgPSBpbmRleE9mV2lkdGggKyBXSURUSF9TRUFSQ0gubGVuZ3RoO1xuICAgIGNvbnN0IGhlaWdodE9mZnNldCA9IGluZGV4T2ZIZWlnaHQgKyBIRUlHSFRfU0VBUkNILmxlbmd0aDtcbiAgICBjb25zdCB3aWR0aFN0cmluZyA9IGF0dHJpYnV0ZXMuc3Vic3RyaW5nKFxuICAgICAgICB3aWR0aE9mZnNldCxcbiAgICAgICAgYXR0cmlidXRlcy5pbmRleE9mKCdcIicsIHdpZHRoT2Zmc2V0KSxcbiAgICApO1xuICAgIGNvbnN0IGhlaWdodFN0cmluZyA9IGF0dHJpYnV0ZXMuc3Vic3RyaW5nKFxuICAgICAgICBoZWlnaHRPZmZzZXQsXG4gICAgICAgIGF0dHJpYnV0ZXMuaW5kZXhPZignXCInLCBoZWlnaHRPZmZzZXQpLFxuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICAgICFoZWlnaHRTdHJpbmcgfHxcbiAgICAgICAgIXdpZHRoU3RyaW5nIHx8XG4gICAgICAgIHdpZHRoU3RyaW5nLmluY2x1ZGVzKCclJykgfHxcbiAgICAgICAgaGVpZ2h0U3RyaW5nLmluY2x1ZGVzKCclJylcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIHNyYy5yZXBsYWNlKFNUQVJULCBgPHN2ZyBpZD1cIiR7bmFtZX1cImApO1xuICAgIH1cblxuICAgIGNvbnN0IHdpZHRoID0gcGFyc2VJbnQod2lkdGhTdHJpbmcsIDEwKTtcbiAgICBjb25zdCBoZWlnaHQgPSBwYXJzZUludChoZWlnaHRTdHJpbmcsIDEwKTtcbiAgICBjb25zdCBlbVdpZHRoID0gd2lkdGggLyAxNjtcbiAgICBjb25zdCBlbUhlaWdodCA9IGhlaWdodCAvIDE2O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IGAke2VtV2lkdGh9ZW1gLFxuICAgICAgICBoZWlnaHQ6IGAke2VtSGVpZ2h0fWVtYCxcbiAgICAgICAgc3JjOiBgXG4gICAgICAgIDxnIGlkPVwiJHtuYW1lfVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxzdmcgeD1cIjUwJVwiIHk9XCI1MCVcIiB3aWR0aD1cIiR7ZW1XaWR0aH1lbVwiIGhlaWdodD1cIiR7ZW1IZWlnaHR9ZW1cIiBvdmVyZmxvdz1cInZpc2libGVcIiB2aWV3Qm94PVwiMCAwICR7d2lkdGh9ICR7aGVpZ2h0fVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgeD1cIiR7LXdpZHRoIC8gMn1cIiB5PVwiJHstaGVpZ2h0IC8gMn1cIj4ke3NyY308L3N2Zz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2c+YC50cmltKCksXG4gICAgfTtcbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9pY29ucy9zY3JpcHRzLyIsInNvdXJjZXMiOlsicHJvY2Vzcy1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUzQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDckIsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQy9CLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQVVqQyxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWUsRUFBRSxXQUFnQztJQUMxRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFakUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkQsU0FBUztTQUNaO1FBRUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwQyxNQUFNLEtBQUssR0FDUCxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQ2QsS0FBSyxFQUNMLGtEQUFrRCxJQUFJLDJDQUEyQyxDQUNwRyxZQUFZO1lBQ2YsQ0FBQyxDQUFDLGtEQUFrRCxPQUFPLENBQUMsS0FBSyxhQUFhLE9BQU8sQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTdILEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDOUQ7QUFDTCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsTUFBYyxFQUFFLElBQVk7SUFDMUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUvRCxJQUNJLENBQUMsVUFBVTtRQUNYLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbEMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUNyQztRQUNFLE9BQU8sR0FBRyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsTUFBTSxXQUFXLEdBQUcsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDMUQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FDaEMsV0FBVyxFQUNYLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUN2QyxDQUFDO0lBQ0YsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FDakMsWUFBWSxFQUNaLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUN4QyxDQUFDO0lBRUYsSUFDSSxDQUFDLFlBQVk7UUFDYixDQUFDLFdBQVc7UUFDWixXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUN6QixZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUM1QjtRQUNFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sT0FBTyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDM0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUU3QixPQUFPO1FBQ0gsS0FBSyxFQUFFLEdBQUcsT0FBTyxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxHQUFHLFFBQVEsSUFBSTtRQUN2QixHQUFHLEVBQUU7aUJBQ0ksSUFBSTswQ0FDcUIsT0FBTyxlQUFlLFFBQVEsdUNBQXVDLEtBQUssSUFBSSxNQUFNOzBCQUNwRyxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLEdBQUc7O2FBRWxELENBQUMsSUFBSSxFQUFFO0tBQ2YsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHtwYXJzZX0gZnJvbSAncGF0aCc7XG5cbmNvbnN0IFNUQVJUID0gJzxzdmcnO1xuY29uc3QgV0lEVEhfU0VBUkNIID0gJ3dpZHRoPVwiJztcbmNvbnN0IEhFSUdIVF9TRUFSQ0ggPSAnaGVpZ2h0PVwiJztcblxuaW50ZXJmYWNlIFdyYXBwZWRDb250ZW50IHtcbiAgICBoZWlnaHQ6IHN0cmluZztcbiAgICB3aWR0aDogc3RyaW5nO1xuICAgIHNyYzogc3RyaW5nO1xufVxuXG50eXBlIENvbnRlbnRJbnRlcmNlcHRvciA9IChzcmM6IHN0cmluZykgPT4gc3RyaW5nO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0ljb25zKGZpbGVzOiBzdHJpbmdbXSwgaW50ZXJjZXB0b3I/OiBDb250ZW50SW50ZXJjZXB0b3IpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgY29uc3QgYmFzZUNvbnRlbnQgPSBTdHJpbmcoZnMucmVhZEZpbGVTeW5jKGZpbGUpKTtcbiAgICAgICAgY29uc3Qgc3JjID0gaW50ZXJjZXB0b3IgPyBpbnRlcmNlcHRvcihiYXNlQ29udGVudCkgOiBiYXNlQ29udGVudDtcblxuICAgICAgICBjb25zdCBuYW1lID0gcGFyc2UoZmlsZSkuYmFzZS5yZXBsYWNlKCcuc3ZnJywgJycpO1xuXG4gICAgICAgIGlmIChzcmMuaW5jbHVkZXMoYGlkPVwiJHtuYW1lfVwiYCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnXFx4MWJbMzNtJXNcXHgxYlswbScsIGBbc2tpcF06YCwgZmlsZSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSB3cmFwSWNvbihzcmMsIG5hbWUpO1xuXG4gICAgICAgIGNvbnN0IGZpbmFsID1cbiAgICAgICAgICAgIHR5cGVvZiB3cmFwcGVkID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgID8gYCR7d3JhcHBlZC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAgIFNUQVJULFxuICAgICAgICAgICAgICAgICAgICAgIGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBpZD1cIiR7bmFtZX1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHN2Z2AsXG4gICAgICAgICAgICAgICAgICApfTwvZz48L3N2Zz5gXG4gICAgICAgICAgICAgICAgOiBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIke3dyYXBwZWQud2lkdGh9XCIgaGVpZ2h0PVwiJHt3cmFwcGVkLmhlaWdodH1cIj4ke3dyYXBwZWQuc3JjfTwvc3ZnPmA7XG5cbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlLCBmaW5hbCk7XG5cbiAgICAgICAgY29uc29sZS5pbmZvKCdcXHgxYlszMm0lc1xceDFiWzBtJywgYFtwcmVwcm9jZXNzZWRdOmAsIGZpbGUpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gd3JhcEljb24oc291cmNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IFdyYXBwZWRDb250ZW50IHtcbiAgICBjb25zdCBzcmMgPSBzb3VyY2Uuc2xpY2UoTWF0aC5tYXgoMCwgc291cmNlLmluZGV4T2YoU1RBUlQpKSk7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHNyYy5zbGljZSgwLCBNYXRoLm1heCgwLCBzcmMuaW5kZXhPZignPicpKSk7XG5cbiAgICBpZiAoXG4gICAgICAgICFhdHRyaWJ1dGVzIHx8XG4gICAgICAgICFhdHRyaWJ1dGVzLmluY2x1ZGVzKFdJRFRIX1NFQVJDSCkgfHxcbiAgICAgICAgIWF0dHJpYnV0ZXMuaW5jbHVkZXMoSEVJR0hUX1NFQVJDSClcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG5cbiAgICBjb25zdCBpbmRleE9mV2lkdGggPSBhdHRyaWJ1dGVzLmluZGV4T2YoV0lEVEhfU0VBUkNIKTtcbiAgICBjb25zdCBpbmRleE9mSGVpZ2h0ID0gYXR0cmlidXRlcy5pbmRleE9mKEhFSUdIVF9TRUFSQ0gpO1xuICAgIGNvbnN0IHdpZHRoT2Zmc2V0ID0gaW5kZXhPZldpZHRoICsgV0lEVEhfU0VBUkNILmxlbmd0aDtcbiAgICBjb25zdCBoZWlnaHRPZmZzZXQgPSBpbmRleE9mSGVpZ2h0ICsgSEVJR0hUX1NFQVJDSC5sZW5ndGg7XG4gICAgY29uc3Qgd2lkdGhTdHJpbmcgPSBhdHRyaWJ1dGVzLnNsaWNlKFxuICAgICAgICB3aWR0aE9mZnNldCxcbiAgICAgICAgYXR0cmlidXRlcy5pbmRleE9mKCdcIicsIHdpZHRoT2Zmc2V0KSxcbiAgICApO1xuICAgIGNvbnN0IGhlaWdodFN0cmluZyA9IGF0dHJpYnV0ZXMuc2xpY2UoXG4gICAgICAgIGhlaWdodE9mZnNldCxcbiAgICAgICAgYXR0cmlidXRlcy5pbmRleE9mKCdcIicsIGhlaWdodE9mZnNldCksXG4gICAgKTtcblxuICAgIGlmIChcbiAgICAgICAgIWhlaWdodFN0cmluZyB8fFxuICAgICAgICAhd2lkdGhTdHJpbmcgfHxcbiAgICAgICAgd2lkdGhTdHJpbmcuaW5jbHVkZXMoJyUnKSB8fFxuICAgICAgICBoZWlnaHRTdHJpbmcuaW5jbHVkZXMoJyUnKVxuICAgICkge1xuICAgICAgICByZXR1cm4gc3JjLnJlcGxhY2UoU1RBUlQsIGA8c3ZnIGlkPVwiJHtuYW1lfVwiYCk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkdGggPSBwYXJzZUludCh3aWR0aFN0cmluZywgMTApO1xuICAgIGNvbnN0IGhlaWdodCA9IHBhcnNlSW50KGhlaWdodFN0cmluZywgMTApO1xuICAgIGNvbnN0IGVtV2lkdGggPSB3aWR0aCAvIDE2O1xuICAgIGNvbnN0IGVtSGVpZ2h0ID0gaGVpZ2h0IC8gMTY7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogYCR7ZW1XaWR0aH1lbWAsXG4gICAgICAgIGhlaWdodDogYCR7ZW1IZWlnaHR9ZW1gLFxuICAgICAgICBzcmM6IGBcbiAgICAgICAgPGcgaWQ9XCIke25hbWV9XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHN2ZyB4PVwiNTAlXCIgeT1cIjUwJVwiIHdpZHRoPVwiJHtlbVdpZHRofWVtXCIgaGVpZ2h0PVwiJHtlbUhlaWdodH1lbVwiIG92ZXJmbG93PVwidmlzaWJsZVwiIHZpZXdCb3g9XCIwIDAgJHt3aWR0aH0gJHtoZWlnaHR9XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyB4PVwiJHstd2lkdGggLyAyfVwiIHk9XCIkey1oZWlnaHQgLyAyfVwiPiR7c3JjfTwvc3ZnPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZz5gLnRyaW0oKSxcbiAgICB9O1xufVxuIl19