@vgip/meta-ui 1.5.2 → 1.5.4

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.
@@ -314,15 +314,20 @@ export const metaNormalizer = (meta, integration, resourceType) => {
314
314
  if (resourceType === 'CandidateNote' || resourceType === 'ContactNote') {
315
315
  metaV3.layout.editable = false;
316
316
  }
317
- // } else if (integrationCode === 'CLIO') {
318
- // if (resourceType === 'PhoneCommunication') {
319
- // for (const f of metaV3.layout.sections[0].fields) {
320
- // if (f.name === 'time_entries') {
321
- // f.visible = 'CREATE';
322
- // }
323
- // }
324
- // }
317
+ }
318
+ else if (integrationCode === 'CLIO') {
319
+ if (resourceType === 'PhoneCommunication') {
320
+ if (metaV3.layout.children && metaV3.layout.children.length) {
321
+ metaV3.layout.children[0].label = 'Time entries';
322
+ metaV3.layout.children[0].name = 'timers';
323
+ }
324
+ for (const f of metaV3.layout.sections[0].fields) {
325
+ if (f.name === 'timers' || f.name === 'time_entries') {
326
+ f.hidden = 'UPDATE';
327
+ }
328
+ }
329
+ }
325
330
  }
326
331
  return sortObj(metaV3);
327
332
  };
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YU5vcm1hbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL21ldGFOb3JtYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDdEIsSUFBSSxPQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUMsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUU7SUFDaEUsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sZUFBZSxH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QUFDekIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEBBdXRob3I6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBARGF0ZTogMjAxOS0wOS0xOSAxNzozNDo0OVxuICogQExhc3QgTW9kaWZpZWQgYnk6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBATGFzdCBNb2RpZmllZCB0aW1lOiAyMDIwLTA5LTAzIDA5OjQyOjEyXG4gKi9cblxuaW1wb3J0IHsgZmllbGROb3JtYWxpemVyIH0gZnJvbSAnLi9maWVsZE5vcm1hbGl6ZXInO1xuaW1wb3J0IHsgdW5pcXVlTmFtZUZpbHRlciB9IGZyb20gJy4vZmllbGROb3JtYWxpemVyL3VuaXF1ZU5hbWVGaWx0ZXInO1xuXG5jb25zdCBzb3J0T2JqID0gKG9iaikgPT4ge1xuICBpZiAodHlwZW9mKG9iaikgIT09ICdvYmplY3QnIHx8IG9iaiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5tYXAoKGUpID0+IHNvcnRPYmooZSkpLnNvcnQoKTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyhvYmopLnNvcnQoKS5yZWR1Y2UoKHNvcnRlZCwgaykgPT4ge1xuICAgIHNvcnRlZFtrXSA9IHNvcnRPYmoob2JqW2tdKTtcbiAgICByZXR1cm4gc29ydGVkO1xuICB9LCB7fSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWV0YU5vcm1hbGl6ZXIgPSAobWV0YSwgaW50ZWdyYXRpb24sIHJlc291cmNlVHlwZSkgPT4ge1xuICBjb25zdCB1bmlxRmllbGROYW1lcyA9IFtdO1xuICBjb25zdCBpbnRlZ3JhdGlvbkNvZGUgPSAoaW50ZWdyYXRpb24gfHwgJycpLnRvVXBwZXJDYXNlKCk7XG4gIGNvbnN0IG1ldGFWMzogYW55ID0ge1xuICAgIGludGVncmF0aW9uLFxuICAgIHJlc291cmNlVHlwZSxcbiAgICBhdmFpbGFibGVMYXlvdXRzOiBtZXRhLmF2YWlsYWJsZUxheW91dHMsXG4gICAgbGF5b3V0OiB7XG4gICAgICBpZDogbWV0YS5sYXlvdXQuaWQsXG4gICAgICBuYW1lOiBtZXRhLmxheW91dC5uYW1lLFxuICAgICAgbGFiZWw6IG1ldGEubGF5b3V0LmxhYmVsLFxuICAgICAgdmVyc2lvbjogJzMuMC4wJyxcbiAgICAgIHNlY3Rpb25zOiAobWV0YS5sYXlvdXQuc2VjdGlvbnMgfHwgW10pLm1hcCgocykgPT4ge1xuICAgICAgICBjb25zdCBzZWN0aW9uOiBhbnkgPSB7XG4gICAgICAgICAgbGFiZWw6IHMubGFiZWwsXG4gICAgICAgICAgZmllbGRzOiB1bmlxdWVOYW1lRmlsdGVyKHMuZmllbGRzIHx8IFtdLCB1bmlxRmllbGROYW1lcykubWFwKCh2KSA9PiBmaWVsZE5vcm1hbGl6ZXIodiwgdW5pcUZpZWxkTmFtZXMpKSAvLyBWSVNULTQyNFxuICAgICAgICB9O1xuICAgICAgICBpZiAocy52aXNpYmxlIHx8IHMuYWx3YXlzVmlzaWJsZSkge1xuICAgICAgICAgIHNlY3Rpb24udmlzaWJsZSA9IHMudmlzaWJsZSB8fCBzLmFsd2F5c1Zpc2libGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlY3Rpb247XG4gICAgICB9KVxuICAgIH1cbiAgfTtcbiAgaWYgKG1ldGEubGF5b3V0Lm9yaWdMYXlvdXRJZCkge1xuICAgIG1ldGFWMy5sYXlvdXQub3JpZ0xheW91dElkID0gbWV0YS5sYXlvdXQub3JpZ0xheW91dElkO1xuICB9XG4gIGlmIChtZXRhLmRyYWZ0cykge1xuICAgIG1ldGFWMy5kcmFmdHMgPSBtZXRhLmRyYWZ0cztcbiAgfVxuICBpZiAobWV0YS5sYXlvdXQuY2hpbGRyZW4pIHtcbiAgICBtZXRhVjMubGF5b3V0LmNoaWxkcmVuID0gbWV0YS5sYXlvdXQuY2hpbGRyZW47XG4gIH1cblxuICBjb25zdCBmaWVsZEZpeGVzQnlJbnRlZ3JhdGlvbiA9IChmKSA9PiB7XG4gICAgaWYgKGYudHlwZSA9PT0gJ2Jvb2xlYW4nICYmICgodHlwZW9mKGYuZGVmYXVsdCkgIT09ICdib29sZWFuJykgJiYgZi5kZWZhdWx0ICYmICFmLmRlZmF1bHQudmFsdWUpICkge1xuICAgICAgZGVsZXRlIGYuZGVmYXVsdDtcbiAgICB9IGVsc2UgaWYgKGYudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSAoZi5yZWZlcmVuY2UgaW5zdGFuY2VvZiBBcnJheSkgPyBmLnJlZmVyZW5jZSA6IFtmLnJlZmVyZW5jZV07XG4gICAgICBmb3IgKGNvbnN0IHIgb2YgcmVmZXJlbmNlcykge1xuICAgICAgICBpZiAociAmJiByLmNyZWF0YWJsZSA9PT0gZmFsc2UgJiYgdHlwZW9mKHIudXBkYXRhYmxlKSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICByLnVwZGF0YWJsZSA9IGZhbHNlOyAvLyBVc2VyIG1pc3NpbmcgdXBkYXRhYmxlLCBtYXkgYmUgb3RoZXIgdG9vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgc3dpdGNoIChpbnRlZ3JhdGlvbkNvZGUpIHtcbiAgICAgIGNhc2UgJ0JVTExIT1JOJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnQXBwb2ludG1lbnQnKSB7XG4gICAgICAgICAgaWYgKFsnZGF0ZUJlZ2luJywgJ2RhdGVFbmQnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgICBpZiAoIWYudmFsaWRhdGlvbnMpIHtcbiAgICAgICAgICAgICAgZi52YWxpZGF0aW9ucyA9IHsgc3RlcDogMTgwMCB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZi52YWxpZGF0aW9ucy5zdGVwID0gMTgwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGYuZGVmYXVsdCA9IGYubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnbm93JyA6ICczMC5taW51dGVzJztcbiAgICAgICAgICAgIGlmICghZi5hdXRvKSB7XG4gICAgICAgICAgICAgIGYuYXV0byA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5hdXRvW2YubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnbHQnIDogJ2d0J10gPSB7XG4gICAgICAgICAgICAgIGFnYWluc3Q6IGYubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnZGF0ZUVuZCcgOiAnZGF0ZUJlZ2luJyxcbiAgICAgICAgICAgICAgb2Zmc2V0OiBgJHtmLm5hbWUgPT09ICdkYXRlQmVnaW4nID8gJy0zMCcgOiAnMzAnfS5taW51dGVzYFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2NvbW1lbnRzJykge1xuICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgZi52YWx1ZGF0aW9ucyA9IHsgcmVxdWlyZWQ6IHRydWUgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZi52YWxpZGF0aW9ucy5yZXF1aXJlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdOb3RlJykge1xuICAgICAgICAgICAgZi50eXBlID0gJ3JpY2h0ZXh0JztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2FkZHJlc3Muc3RhdGUnKSB7XG4gICAgICAgICAgZi5jcmVhdGFibGUgPSBmYWxzZTtcbiAgICAgICAgICBmLnVwZGF0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnR09PR0xFJzoge1xuICAgICAgICBpZiAoZi5uYW1lID09PSAnY29udGFjdElkJykge1xuICAgICAgICAgIGYubGFiZWwgPSAnQ29udGFjdCc7XG4gICAgICAgIH0gZWxzZSBpZiAoWydzdGFydCcsICdlbmQnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgaWYgKCFmLmF1dG8pIHtcbiAgICAgICAgICAgIGYuYXV0byA9IHt9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBmLmF1dG9bZi5uYW1lID09PSAnc3RhcnQnID8gJ2x0JyA6ICdndCddID0ge1xuICAgICAgICAgICAgYWdhaW5zdDogZi5uYW1lID09PSAnc3RhcnQnID8gJ2VuZCcgOiAnc3RhcnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiBgJHtmLm5hbWUgPT09ICdzdGFydCcgPyAnLTMwJyA6ICczMCd9Lm1pbnV0ZXNgXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ09GRklDRTM2NSc6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0V2ZW50cycpIHtcbiAgICAgICAgICBpZiAoWydzdGFydCcsICdlbmQnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgICBpZiAoIWYudmFsaWRhdGlvbnMpIHtcbiAgICAgICAgICAgICAgZi52YWxpZGF0aW9ucyA9IHsgc3RlcDogMTgwMCB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZi52YWxpZGF0aW9ucy5zdGVwID0gMTgwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGYuZGVmYXVsdCA9IGYubmFtZSA9PT0gJ3N0YXJ0JyA/ICdub3cnIDogJzMwLm1pbnV0ZXMnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGFza3MnICYmIGYubmFtZSA9PT0gJ2NoZWNrbGlzdCcpIHtcbiAgICAgICAgICBmLmNyZWF0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdkZXNjcmlwdGlvbicgJiYgcmVzb3VyY2VUeXBlICE9PSAnVGFza3MnKSB7XG4gICAgICAgICAgZi50eXBlID0gJ3JpY2h0ZXh0JztcbiAgICAgICAgfSBlbHNlIGlmIChmLm5hbWUgPT09ICdjb250ZW50Jykge1xuICAgICAgICAgIGYudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1NBTEVTRk9SQ0UnOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrJyAmJiBmLm5hbWUgPT09ICdXaGF0SWQnKSB7XG4gICAgICAgICAgZi5kaXNhYmxlZCA9IHtcbiAgICAgICAgICAgICdXaG9JZC50eXBlJzogJ0xlYWQnIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoWydEZXNjcmlwdGlvbicsICdQYXJlbnRJZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYudmlzaWJsZSkge1xuICAgICAgICAgICAgZi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gKGYucmVmZXJlbmNlIGluc3RhbmNlb2YgQXJyYXkpID8gZi5yZWZlcmVuY2UgOiBbZi5yZWZlcmVuY2VdO1xuICAgICAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBpZiAociAmJiBbJ0FjY291bnQnXS5pbmRleE9mKHIubmFtZSkgIT09IC0xKSB7IC8vIGZvcmNlIGNyZWF0YWJsZVxuICAgICAgICAgICAgICByLmNyZWF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIHIudXBkYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdTVUdBUic6IHtcbiAgICAgICAgaWYgKFsnZGVzY3JpcHRpb24nLCAncGFyZW50X2lkJywgJ2NvbnRhY3RfaWQnLCAnY29udGFjdHMnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgaWYgKCFmLnZpc2libGUpIHtcbiAgICAgICAgICAgIGYudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmLnR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IChmLnJlZmVyZW5jZSBpbnN0YW5jZW9mIEFycmF5KSA/IGYucmVmZXJlbmNlIDogW2YucmVmZXJlbmNlXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHIgb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgaWYgKHIgJiYgWydBY2NvdW50cycsICdDb250YWN0cycsICdMZWFkcyddLmluZGV4T2Yoci5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgci5sYWJlbCA9IHIubmFtZS5zbGljZSgwLCAtMSk7IC8vIFVzZSBzaW5ndWxhciBsYWJlbHNcbiAgICAgICAgICAgICAgci5jcmVhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICByLnVwZGF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnWkVOREVTSyc6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1RpY2tldCcgJiYgZi5uYW1lID09PSAnYXNzaWduZWUnKSB7XG4gICAgICAgICAgZi5yZWZlcmVuY2UudXBkYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdIVUJTUE9UJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnTG9nQ2FsbCcgJiYgZi5uYW1lID09PSAnYm9keScpIHtcbiAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnTkVUU1VJVEUnOiB7XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdjb21wYW55JyAmJiAhZi5hdXRvKSB7XG4gICAgICAgICAgZi5hdXRvID0ge1xuICAgICAgICAgICAgc2VhcmNoOiB7XG4gICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIGNvbnRhY3RJZDogJ2NvbnRhY3QuaWQnXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHVybDogJy4uL0NvbnRhY3QvJHtjb250YWN0SWR9P2V4cGFuZD1jb21wYW55JyxcbiAgICAgICAgICAgICAgZXh0cmFjdDogJ2NvbXBhbnknXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZi50eXBlID09PSAnY29tcG9zaXRlJyAmJiBmLmZpZWxkcykge1xuICAgICAgZm9yIChjb25zdCBmZiBvZiBmLmZpZWxkcykge1xuICAgICAgICBmaWVsZEZpeGVzQnlJbnRlZ3JhdGlvbihmZik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIGNvbW1vbiBmaXhlcyBmb3IgYWxsIGludGVncmF0aW9uc1xuICBpZiAobWV0YVYzLmxheW91dC5zZWN0aW9ucy5sZW5ndGgpIHtcbiAgICBmb3IgKGNvbnN0IHMgb2YgKG1ldGFWMy5sYXlvdXQuc2VjdGlvbnMpKSB7XG4gICAgICBpZiAoIXMgfHwgIXMuZmllbGRzKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBmIG9mIHMuZmllbGRzKSB7XG4gICAgICAgIGZpZWxkRml4ZXNCeUludGVncmF0aW9uKGYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEdvb2dsZSBHbWFpbCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnR09PR0xFJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdNYWlsJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdjMgYXBpXG4gICAgICAgICAgbGFiZWw6ICdDb21tZW50cycsXG4gICAgICAgICAgbmFtZTogJ2NvbW1lbnRzJyxcbiAgICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgbGFiZWw6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrJykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbe1xuICAgICAgICAgIGxhYmVsOiAnU3VidGFza3MnLFxuICAgICAgICAgIG5hbWU6ICdzdWJUYXNrcycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdTdWJ0YXNrJyxcbiAgICAgICAgICAgIGxhYmVsOiAnU3VidGFzaydcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnWkVOREVTSycpIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0Jykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBaZW5kZXNrIFRpY2tldCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICAgICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICAgIG5hbWU6ICdjb21tZW50cycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ29tbWVudCcsXG4gICAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnTVNEWU5BTUlDUycgJiYgIW1ldGFWMy5maWVsZHNNYXApIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAncGhvbmVjYWxsJykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgY29udGFjdGFibGVzOiBbJ2Zyb20nLCAndG8nXSxcbiAgICAgICAgc3ViamVjdDogJ3N1YmplY3QnLFxuICAgICAgICBwaG9uZU51bWJlcjogJ3Bob25lbnVtYmVyJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdjb250YWN0Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZmlyc3ROYW1lOiAnZmlyc3RuYW1lJyxcbiAgICAgICAgbGFzdE5hbWU6ICdsYXN0bmFtZSdcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdhY2NvdW50Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZGlzcGxheU5hbWU6ICduYW1lJ1xuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnT0ZGSUNFMzY1Jykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb252ZXJzYXRpb25zJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IFt7IC8vIGNoaWxkcmVuIGVuaGFuY2VtZW50XG4gICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICBuYW1lOiAnY29tbWVudHMnLFxuICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICBsYWJlbDogJ0NvbW1lbnQnLFxuICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XTtcbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NvbW1lbnQnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ0pPQkRJVkEnKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NhbmRpZGF0ZU5vdGUnIHx8IHJlc291cmNlVHlwZSA9PT0gJ0NvbnRhY3ROb3RlJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgLy8gfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdDTElPJykge1xuICAvLyAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdQaG9uZUNvbW11bmljYXRpb24nKSB7XG4gIC8vICAgICBmb3IgKGNvbnN0IGYgb2YgbWV0YVYzLmxheW91dC5zZWN0aW9uc1swXS5maWVsZHMpIHtcbiAgLy8gICAgICAgaWYgKGYubmFtZSA9PT0gJ3RpbWVfZW50cmllcycpIHtcbiAgLy8gICAgICAgICBmLnZpc2libGUgPSAnQ1JFQVRFJztcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgfVxuICByZXR1cm4gc29ydE9iaihtZXRhVjMpO1xufTtcbiJdfQ==
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YU5vcm1hbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL21ldGFOb3JtYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDdEIsSUFBSSxPQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUMsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUU7SUFDaEUsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sZUFBZSxH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QUFDLE1BQU0sRUFBRTtnQkFDNUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztnQkFDakQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQzthQUMzQztZQUNELEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUNoRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO29CQUNwRCxDQUFDLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztpQkFDckI7YUFDRjtTQUNGO0tBQ0Y7SUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQEF1dGhvcjogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBEYXRlOiAyMDE5LTA5LTE5IDE3OjM0OjQ5XG4gKiBATGFzdCBNb2RpZmllZCBieTogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDMgMDk6NDI6MTJcbiAqL1xuXG5pbXBvcnQgeyBmaWVsZE5vcm1hbGl6ZXIgfSBmcm9tICcuL2ZpZWxkTm9ybWFsaXplcic7XG5pbXBvcnQgeyB1bmlxdWVOYW1lRmlsdGVyIH0gZnJvbSAnLi9maWVsZE5vcm1hbGl6ZXIvdW5pcXVlTmFtZUZpbHRlcic7XG5cbmNvbnN0IHNvcnRPYmogPSAob2JqKSA9PiB7XG4gIGlmICh0eXBlb2Yob2JqKSAhPT0gJ29iamVjdCcgfHwgb2JqID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLm1hcCgoZSkgPT4gc29ydE9iaihlKSkuc29ydCgpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikuc29ydCgpLnJlZHVjZSgoc29ydGVkLCBrKSA9PiB7XG4gICAgc29ydGVkW2tdID0gc29ydE9iaihvYmpba10pO1xuICAgIHJldHVybiBzb3J0ZWQ7XG4gIH0sIHt9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhTm9ybWFsaXplciA9IChtZXRhLCBpbnRlZ3JhdGlvbiwgcmVzb3VyY2VUeXBlKSA9PiB7XG4gIGNvbnN0IHVuaXFGaWVsZE5hbWVzID0gW107XG4gIGNvbnN0IGludGVncmF0aW9uQ29kZSA9IChpbnRlZ3JhdGlvbiB8fCAnJykudG9VcHBlckNhc2UoKTtcbiAgY29uc3QgbWV0YVYzOiBhbnkgPSB7XG4gICAgaW50ZWdyYXRpb24sXG4gICAgcmVzb3VyY2VUeXBlLFxuICAgIGF2YWlsYWJsZUxheW91dHM6IG1ldGEuYXZhaWxhYmxlTGF5b3V0cyxcbiAgICBsYXlvdXQ6IHtcbiAgICAgIGlkOiBtZXRhLmxheW91dC5pZCxcbiAgICAgIG5hbWU6IG1ldGEubGF5b3V0Lm5hbWUsXG4gICAgICBsYWJlbDogbWV0YS5sYXlvdXQubGFiZWwsXG4gICAgICB2ZXJzaW9uOiAnMy4wLjAnLFxuICAgICAgc2VjdGlvbnM6IChtZXRhLmxheW91dC5zZWN0aW9ucyB8fCBbXSkubWFwKChzKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlY3Rpb246IGFueSA9IHtcbiAgICAgICAgICBsYWJlbDogcy5sYWJlbCxcbiAgICAgICAgICBmaWVsZHM6IHVuaXF1ZU5hbWVGaWx0ZXIocy5maWVsZHMgfHwgW10sIHVuaXFGaWVsZE5hbWVzKS5tYXAoKHYpID0+IGZpZWxkTm9ybWFsaXplcih2LCB1bmlxRmllbGROYW1lcykpIC8vIFZJU1QtNDI0XG4gICAgICAgIH07XG4gICAgICAgIGlmIChzLnZpc2libGUgfHwgcy5hbHdheXNWaXNpYmxlKSB7XG4gICAgICAgICAgc2VjdGlvbi52aXNpYmxlID0gcy52aXNpYmxlIHx8IHMuYWx3YXlzVmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VjdGlvbjtcbiAgICAgIH0pXG4gICAgfVxuICB9O1xuICBpZiAobWV0YS5sYXlvdXQub3JpZ0xheW91dElkKSB7XG4gICAgbWV0YVYzLmxheW91dC5vcmlnTGF5b3V0SWQgPSBtZXRhLmxheW91dC5vcmlnTGF5b3V0SWQ7XG4gIH1cbiAgaWYgKG1ldGEuZHJhZnRzKSB7XG4gICAgbWV0YVYzLmRyYWZ0cyA9IG1ldGEuZHJhZnRzO1xuICB9XG4gIGlmIChtZXRhLmxheW91dC5jaGlsZHJlbikge1xuICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBtZXRhLmxheW91dC5jaGlsZHJlbjtcbiAgfVxuXG4gIGNvbnN0IGZpZWxkRml4ZXNCeUludGVncmF0aW9uID0gKGYpID0+IHtcbiAgICBpZiAoZi50eXBlID09PSAnYm9vbGVhbicgJiYgKCh0eXBlb2YoZi5kZWZhdWx0KSAhPT0gJ2Jvb2xlYW4nKSAmJiBmLmRlZmF1bHQgJiYgIWYuZGVmYXVsdC52YWx1ZSkgKSB7XG4gICAgICBkZWxldGUgZi5kZWZhdWx0O1xuICAgIH0gZWxzZSBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IChmLnJlZmVyZW5jZSBpbnN0YW5jZW9mIEFycmF5KSA/IGYucmVmZXJlbmNlIDogW2YucmVmZXJlbmNlXTtcbiAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgIGlmIChyICYmIHIuY3JlYXRhYmxlID09PSBmYWxzZSAmJiB0eXBlb2Yoci51cGRhdGFibGUpID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHIudXBkYXRhYmxlID0gZmFsc2U7IC8vIFVzZXIgbWlzc2luZyB1cGRhdGFibGUsIG1heSBiZSBvdGhlciB0b29cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKGludGVncmF0aW9uQ29kZSkge1xuICAgICAgY2FzZSAnQlVMTEhPUk4nOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdBcHBvaW50bWVudCcpIHtcbiAgICAgICAgICBpZiAoWydkYXRlQmVnaW4nLCAnZGF0ZUVuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zID0geyBzdGVwOiAxODAwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zLnN0ZXAgPSAxODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5kZWZhdWx0ID0gZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdub3cnIDogJzMwLm1pbnV0ZXMnO1xuICAgICAgICAgICAgaWYgKCFmLmF1dG8pIHtcbiAgICAgICAgICAgICAgZi5hdXRvID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmLmF1dG9bZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdsdCcgOiAnZ3QnXSA9IHtcbiAgICAgICAgICAgICAgYWdhaW5zdDogZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdkYXRlRW5kJyA6ICdkYXRlQmVnaW4nLFxuICAgICAgICAgICAgICBvZmZzZXQ6IGAke2YubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnLTMwJyA6ICczMCd9Lm1pbnV0ZXNgXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnY29tbWVudHMnKSB7XG4gICAgICAgICAgaWYgKCFmLnZhbGlkYXRpb25zKSB7XG4gICAgICAgICAgICBmLnZhbHVkYXRpb25zID0geyByZXF1aXJlZDogdHJ1ZSB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmLnZhbGlkYXRpb25zLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ05vdGUnKSB7XG4gICAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnYWRkcmVzcy5zdGF0ZScpIHtcbiAgICAgICAgICBmLmNyZWF0YWJsZSA9IGZhbHNlO1xuICAgICAgICAgIGYudXBkYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdHT09HTEUnOiB7XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdjb250YWN0SWQnKSB7XG4gICAgICAgICAgZi5sYWJlbCA9ICdDb250YWN0JztcbiAgICAgICAgfSBlbHNlIGlmIChbJ3N0YXJ0JywgJ2VuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYuYXV0bykge1xuICAgICAgICAgICAgZi5hdXRvID0ge307XG4gICAgICAgICAgfVxuICAgICAgICAgIGYuYXV0b1tmLm5hbWUgPT09ICdzdGFydCcgPyAnbHQnIDogJ2d0J10gPSB7XG4gICAgICAgICAgICBhZ2FpbnN0OiBmLm5hbWUgPT09ICdzdGFydCcgPyAnZW5kJyA6ICdzdGFydCcsXG4gICAgICAgICAgICBvZmZzZXQ6IGAke2YubmFtZSA9PT0gJ3N0YXJ0JyA/ICctMzAnIDogJzMwJ30ubWludXRlc2BcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnT0ZGSUNFMzY1Jzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnRXZlbnRzJykge1xuICAgICAgICAgIGlmIChbJ3N0YXJ0JywgJ2VuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zID0geyBzdGVwOiAxODAwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zLnN0ZXAgPSAxODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5kZWZhdWx0ID0gZi5uYW1lID09PSAnc3RhcnQnID8gJ25vdycgOiAnMzAubWludXRlcyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrcycgJiYgZi5uYW1lID09PSAnY2hlY2tsaXN0Jykge1xuICAgICAgICAgIGYuY3JlYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyAmJiByZXNvdXJjZVR5cGUgIT09ICdUYXNrcycpIHtcbiAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICB9IGVsc2UgaWYgKGYubmFtZSA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICAgICAgZi50eXBlID0gJ3RleHQnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU0FMRVNGT1JDRSc6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1Rhc2snICYmIGYubmFtZSA9PT0gJ1doYXRJZCcpIHtcbiAgICAgICAgICBmLmRpc2FibGVkID0ge1xuICAgICAgICAgICAgJ1dob0lkLnR5cGUnOiAnTGVhZCcgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChbJ0Rlc2NyaXB0aW9uJywgJ1BhcmVudElkJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIGlmICghZi52aXNpYmxlKSB7XG4gICAgICAgICAgICBmLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSAoZi5yZWZlcmVuY2UgaW5zdGFuY2VvZiBBcnJheSkgPyBmLnJlZmVyZW5jZSA6IFtmLnJlZmVyZW5jZV07XG4gICAgICAgICAgZm9yIChjb25zdCByIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgIGlmIChyICYmIFsnQWNjb3VudCddLmluZGV4T2Yoci5uYW1lKSAhPT0gLTEpIHsgLy8gZm9yY2UgY3JlYXRhYmxlXG4gICAgICAgICAgICAgIHIuY3JlYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgci51cGRhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1NVR0FSJzoge1xuICAgICAgICBpZiAoWydkZXNjcmlwdGlvbicsICdwYXJlbnRfaWQnLCAnY29udGFjdF9pZCcsICdjb250YWN0cyddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYudmlzaWJsZSkge1xuICAgICAgICAgICAgZi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gKGYucmVmZXJlbmNlIGluc3RhbmNlb2YgQXJyYXkpID8gZi5yZWZlcmVuY2UgOiBbZi5yZWZlcmVuY2VdO1xuICAgICAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBpZiAociAmJiBbJ0FjY291bnRzJywgJ0NvbnRhY3RzJywgJ0xlYWRzJ10uaW5kZXhPZihyLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgICAgICByLmxhYmVsID0gci5uYW1lLnNsaWNlKDAsIC0xKTsgLy8gVXNlIHNpbmd1bGFyIGxhYmVsc1xuICAgICAgICAgICAgICByLmNyZWF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIHIudXBkYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdaRU5ERVNLJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0JyAmJiBmLm5hbWUgPT09ICdhc3NpZ25lZScpIHtcbiAgICAgICAgICBmLnJlZmVyZW5jZS51cGRhdGFibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0hVQlNQT1QnOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdMb2dDYWxsJyAmJiBmLm5hbWUgPT09ICdib2R5Jykge1xuICAgICAgICAgIGYudHlwZSA9ICdyaWNodGV4dCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdORVRTVUlURSc6IHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2NvbXBhbnknICYmICFmLmF1dG8pIHtcbiAgICAgICAgICBmLmF1dG8gPSB7XG4gICAgICAgICAgICBzZWFyY2g6IHtcbiAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgY29udGFjdElkOiAnY29udGFjdC5pZCdcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXJsOiAnLi4vQ29udGFjdC8ke2NvbnRhY3RJZH0/ZXhwYW5kPWNvbXBhbnknLFxuICAgICAgICAgICAgICBleHRyYWN0OiAnY29tcGFueSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChmLnR5cGUgPT09ICdjb21wb3NpdGUnICYmIGYuZmllbGRzKSB7XG4gICAgICBmb3IgKGNvbnN0IGZmIG9mIGYuZmllbGRzKSB7XG4gICAgICAgIGZpZWxkRml4ZXNCeUludGVncmF0aW9uKGZmKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gY29tbW9uIGZpeGVzIGZvciBhbGwgaW50ZWdyYXRpb25zXG4gIGlmIChtZXRhVjMubGF5b3V0LnNlY3Rpb25zLmxlbmd0aCkge1xuICAgIGZvciAoY29uc3QgcyBvZiAobWV0YVYzLmxheW91dC5zZWN0aW9ucykpIHtcbiAgICAgIGlmICghcyB8fCAhcy5maWVsZHMpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGYgb2Ygcy5maWVsZHMpIHtcbiAgICAgICAgZmllbGRGaXhlc0J5SW50ZWdyYXRpb24oZik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gR29vZ2xlIEdtYWlsIGNoaWxkcmVuIGVuaGFuY2VtZW50XG4gIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdHT09HTEUnKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ01haWwnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgICBpZiAoIW1ldGFWMy5sYXlvdXQuY2hpbGRyZW4pIHtcbiAgICAgICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IFt7IC8vIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB2MyBhcGlcbiAgICAgICAgICBsYWJlbDogJ0NvbW1lbnRzJyxcbiAgICAgICAgICBuYW1lOiAnY29tbWVudHMnLFxuICAgICAgICAgIHJlZmVyZW5jZToge1xuICAgICAgICAgICAgcmVzb3VyY2VUeXBlOiAnQ29tbWVudCcsXG4gICAgICAgICAgICBsYWJlbDogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9XTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1Rhc2snKSB7XG4gICAgICBpZiAoIW1ldGFWMy5sYXlvdXQuY2hpbGRyZW4pIHtcbiAgICAgICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IFt7XG4gICAgICAgICAgbGFiZWw6ICdTdWJ0YXNrcycsXG4gICAgICAgICAgbmFtZTogJ3N1YlRhc2tzJyxcbiAgICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ1N1YnRhc2snLFxuICAgICAgICAgICAgbGFiZWw6ICdTdWJ0YXNrJ1xuICAgICAgICAgIH1cbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb21tZW50Jykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdaRU5ERVNLJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUaWNrZXQnKSB7XG4gICAgICBpZiAoIW1ldGFWMy5sYXlvdXQuY2hpbGRyZW4pIHtcbiAgICAgICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IFt7IC8vIFplbmRlc2sgVGlja2V0IGNoaWxkcmVuIGVuaGFuY2VtZW50XG4gICAgICAgICAgbGFiZWw6ICdDb21tZW50cycsXG4gICAgICAgICAgbmFtZTogJ2NvbW1lbnRzJyxcbiAgICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgbGFiZWw6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb21tZW50Jykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdNU0RZTkFNSUNTJyAmJiAhbWV0YVYzLmZpZWxkc01hcCkge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdwaG9uZWNhbGwnKSB7XG4gICAgICBtZXRhVjMuZmllbGRzTWFwID0ge1xuICAgICAgICBjb250YWN0YWJsZXM6IFsnZnJvbScsICd0byddLFxuICAgICAgICBzdWJqZWN0OiAnc3ViamVjdCcsXG4gICAgICAgIHBob25lTnVtYmVyOiAncGhvbmVudW1iZXInLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ2NvbnRhY3QnKSB7XG4gICAgICBtZXRhVjMuZmllbGRzTWFwID0ge1xuICAgICAgICBwaG9uZU51bWJlcjogJ3RlbGVwaG9uZTEnLFxuICAgICAgICBmaXJzdE5hbWU6ICdmaXJzdG5hbWUnLFxuICAgICAgICBsYXN0TmFtZTogJ2xhc3RuYW1lJ1xuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ2FjY291bnQnKSB7XG4gICAgICBtZXRhVjMuZmllbGRzTWFwID0ge1xuICAgICAgICBwaG9uZU51bWJlcjogJ3RlbGVwaG9uZTEnLFxuICAgICAgICBkaXNwbGF5TmFtZTogJ25hbWUnXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdPRkZJQ0UzNjUnKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NvbnZlcnNhdGlvbnMnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgICBtZXRhVjMubGF5b3V0LmNoaWxkcmVuID0gW3sgLy8gY2hpbGRyZW4gZW5oYW5jZW1lbnRcbiAgICAgICAgbGFiZWw6ICdDb21tZW50cycsXG4gICAgICAgIG5hbWU6ICdjb21tZW50cycsXG4gICAgICAgIHJlZmVyZW5jZToge1xuICAgICAgICAgIHJlc291cmNlVHlwZTogJ0NvbW1lbnQnLFxuICAgICAgICAgIGxhYmVsOiAnQ29tbWVudCcsXG4gICAgICAgICAgZWRpdGFibGU6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1dO1xuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnSk9CRElWQScpIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnQ2FuZGlkYXRlTm90ZScgfHwgcmVzb3VyY2VUeXBlID09PSAnQ29udGFjdE5vdGUnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ0NMSU8nKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1Bob25lQ29tbXVuaWNhdGlvbicpIHtcbiAgICAgIGlmIChtZXRhVjMubGF5b3V0LmNoaWxkcmVuICYmICBtZXRhVjMubGF5b3V0LmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICBtZXRhVjMubGF5b3V0LmNoaWxkcmVuWzBdLmxhYmVsID0gJ1RpbWUgZW50cmllcyc7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW5bMF0ubmFtZSA9ICd0aW1lcnMnO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBmIG9mIG1ldGFWMy5sYXlvdXQuc2VjdGlvbnNbMF0uZmllbGRzKSB7XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICd0aW1lcnMnIHx8IGYubmFtZSA9PT0gJ3RpbWVfZW50cmllcycpIHtcbiAgICAgICAgICBmLmhpZGRlbiA9ICdVUERBVEUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBzb3J0T2JqKG1ldGFWMyk7XG59O1xuIl19
@@ -0,0 +1,24 @@
1
+ /*
2
+ * @Author: Alexander.Vangelov@vonage.com
3
+ * @Date: 2023-02-08 12:41:56
4
+ * @Last Modified by: Alexander.Vangelov@vonage.com
5
+ * @Last Modified time: 2023-02-08 14:04:46
6
+ */
7
+ const pad2Digit = (t) => t < 10 ? '0' + t : t;
8
+ export const resourceCardLabel = (r) => {
9
+ // eslint-disable-next-line no-underscore-dangle
10
+ if (r._vgis && r._vgis.connector === 'CLIO' && r._vgis.resourceType === 'PhoneCommunicationTimer') {
11
+ const duration = r.quantity || 0; // in seconds
12
+ let durationText = '00:00';
13
+ if (duration > 0) {
14
+ const hours = Math.floor(duration / 3600);
15
+ const minutes = Math.floor((duration % 3600) / 60);
16
+ const seconds = Math.round(duration % 60);
17
+ const checkHours = hours ? pad2Digit(hours) + ':' : '';
18
+ durationText = checkHours + pad2Digit(minutes) + ':' + pad2Digit(seconds);
19
+ }
20
+ return `⏱ ${durationText} | $${(Math.round(r.price) * 100) / 100} | ${r.non_billable ? 'Non-billable' : 'Billable'}`;
21
+ }
22
+ return r.Subject || r.subject || r.summary || r.title || r.CaseNumber || r.comment || r.body || r.name || r.topic || r.content || '...';
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VDYXJkTGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL3V0aWxzL3Jlc291cmNlQ2FyZExhYmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO0lBQzFDLGdEQUFnRDtJQUNoRCxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLHlCQUF5QixFQUFFO1FBQ2pHLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYTtRQUMvQyxJQUFJLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDMUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFdkQsWUFBWSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzRTtRQUNELE9BQU8sS0FBTSxZQUFhLE9BQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUUsR0FBRyxHQUFHLE1BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFZLEVBQUUsQ0FBQztLQUM3SDtJQUNELE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7QUFDMUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEBBdXRob3I6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBARGF0ZTogMjAyMy0wMi0wOCAxMjo0MTo1NlxuICogQExhc3QgTW9kaWZpZWQgYnk6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBATGFzdCBNb2RpZmllZCB0aW1lOiAyMDIzLTAyLTA4IDE0OjA0OjQ2XG4gKi9cbmNvbnN0IHBhZDJEaWdpdCA9ICh0KSA9PiB0IDwgMTAgPyAnMCcgKyB0IDogdDtcblxuZXhwb3J0IGNvbnN0IHJlc291cmNlQ2FyZExhYmVsID0gKHI6IGFueSkgPT4geyAvLyBUT0RPIG1ha2UgcGlwZSB0byBhc2sgaW50ZWdyYXRpb24gd29ya2VyIGZvciB0aGlzIGluIGFic3RyYWN0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICBpZiAoci5fdmdpcyAmJiByLl92Z2lzLmNvbm5lY3RvciA9PT0gJ0NMSU8nICYmIHIuX3ZnaXMucmVzb3VyY2VUeXBlID09PSAnUGhvbmVDb21tdW5pY2F0aW9uVGltZXInKSB7XG4gICAgY29uc3QgZHVyYXRpb24gPSByLnF1YW50aXR5IHx8IDA7IC8vIGluIHNlY29uZHNcbiAgICBsZXQgZHVyYXRpb25UZXh0ID0gJzAwOjAwJztcbiAgICBpZiAoZHVyYXRpb24gPiAwKSB7XG4gICAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IoZHVyYXRpb24gLyAzNjAwKTtcbiAgICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKChkdXJhdGlvbiAlIDM2MDApIC8gNjApO1xuICAgICAgY29uc3Qgc2Vjb25kcyA9IE1hdGgucm91bmQoZHVyYXRpb24gJSA2MCk7XG4gICAgICBjb25zdCBjaGVja0hvdXJzID0gaG91cnMgPyBwYWQyRGlnaXQoaG91cnMpICsgJzonIDogJyc7XG5cbiAgICAgIGR1cmF0aW9uVGV4dCA9IGNoZWNrSG91cnMgKyBwYWQyRGlnaXQobWludXRlcykgKyAnOicgKyBwYWQyRGlnaXQoc2Vjb25kcyk7XG4gICAgfVxuICAgIHJldHVybiBg4o+xICR7IGR1cmF0aW9uVGV4dCB9IHwgJCR7IChNYXRoLnJvdW5kKHIucHJpY2UpICogMTAwICkgLyAxMDB9IHwgJHsgci5ub25fYmlsbGFibGUgPyAnTm9uLWJpbGxhYmxlJyA6ICdCaWxsYWJsZScgIH1gO1xuICB9XG4gIHJldHVybiByLlN1YmplY3QgfHwgci5zdWJqZWN0IHx8IHIuc3VtbWFyeSB8fCByLnRpdGxlIHx8IHIuQ2FzZU51bWJlciB8fCByLmNvbW1lbnQgfHwgci5ib2R5IHx8IHIubmFtZSB8fCByLnRvcGljIHx8IHIuY29udGVudCB8fCAnLi4uJztcbn07XG4iXX0=