@po-ui/ng-templates 17.26.8 → 17.26.10

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.
@@ -182,15 +182,29 @@ export class PoPageJobSchedulerService {
182
182
  });
183
183
  }
184
184
  replaceHourFirstExecution(date, time) {
185
- const dateSplited = date.split('-');
186
- const year = parseInt(dateSplited[0]);
187
- const monthIndex = parseInt(dateSplited[1]) - 1;
188
- const day = parseInt(dateSplited[2]);
189
- const timeSplited = time.split(':');
190
- const hours = parseInt(timeSplited[0], 10);
191
- const minutes = parseInt(timeSplited[1], 10);
192
- const firstExecutionDate = new Date(year, monthIndex, day, hours, minutes);
193
- return convertDateToISOExtended(firstExecutionDate);
185
+ try {
186
+ if (!date) {
187
+ return date;
188
+ }
189
+ const dateSplited = date.split('-');
190
+ const timeSplited = time.split(':');
191
+ if (dateSplited.length < 2 || timeSplited.length < 1) {
192
+ return date;
193
+ }
194
+ const year = parseInt(dateSplited[0]);
195
+ const monthIndex = parseInt(dateSplited[1]) - 1;
196
+ const day = parseInt(dateSplited[2]);
197
+ const hours = parseInt(timeSplited[0], 10);
198
+ const minutes = parseInt(timeSplited[1], 10);
199
+ const firstExecutionDate = new Date(year, monthIndex, day, hours, minutes);
200
+ if (!(firstExecutionDate instanceof Date && !isNaN(firstExecutionDate.getTime()))) {
201
+ return date;
202
+ }
203
+ return convertDateToISOExtended(firstExecutionDate);
204
+ }
205
+ catch {
206
+ return date;
207
+ }
194
208
  }
195
209
  returnValidExecutionParameter(parameter) {
196
210
  const newParameter = { ...parameter };
@@ -207,4 +221,4 @@ export class PoPageJobSchedulerService {
207
221
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPageJobSchedulerService, [{
208
222
  type: Injectable
209
223
  }], () => [{ type: i1.HttpClient }], null); })();
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFPckUsTUFBTSxPQUFPLHlCQUF5QjtJQU9oQjtJQU5YLE9BQU8sR0FBZ0IsSUFBSSxXQUFXLENBQUM7UUFDOUMsa0JBQWtCLEVBQUUsTUFBTTtLQUMzQixDQUFDLENBQUM7SUFFSyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBRXZCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLGdCQUFnQixDQUFDLFNBQWdDLEVBQUU7UUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLFFBQVE7UUFDckIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXhELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxn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QUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3QyxNQUFNLGtCQUFrQixHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUzRSxPQUFPLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFNBQWlCO1FBQ3JELE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUV0QyxLQUFLLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRTtZQUM5QixJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDdkUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDMUI7U0FDRjtRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7bUZBclBVLHlCQUF5QjtnRUFBekIseUJBQXlCLFdBQXpCLHlCQUF5Qjs7aUZBQXpCLHlCQUF5QjtjQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgYWRkWmVybywgY29udmVydERhdGVUb0lTT0V4dGVuZGVkIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtRmllbGQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IFBvSm9iU2NoZWR1bGVyIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWpvYi1zY2hlZHVsZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvSm9iU2NoZWR1bGVySW50ZXJuYWwgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tam9iLXNjaGVkdWxlci1pbnRlcm5hbC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUG9QYWdlSm9iU2NoZWR1bGVyU2VydmljZSB7XG4gIHJlYWRvbmx5IGhlYWRlcnM6IEh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAnWC1QTy1TQ1JFRU4tTE9DSyc6ICd0cnVlJ1xuICB9KTtcblxuICBwcml2YXRlIGVuZHBvaW50ID0gJy8nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBjb25maWdTZXJ2aWNlQXBpKGNvbmZpZzogeyBlbmRwb2ludD86IHN0cmluZyB9ID0ge30pIHtcbiAgICB0aGlzLmVuZHBvaW50ID0gY29uZmlnLmVuZHBvaW50O1xuICB9XG5cbiAgLy8gQ3JpYSB1bSByZWN1cnNvXG4gIGNyZWF0ZVJlc291cmNlKHJlc291cmNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBuZXdSZXNvdWNlID0gdGhpcy5jb252ZXJ0VG9Kb2JTY2hlZHVsZXIocmVzb3VyY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW5kcG9pbnR9YCwgbmV3UmVzb3VjZSwgeyBoZWFkZXJzOiB0aGlzLmhlYWRlcnMgfSk7XG4gIH1cblxuICBnZXRIZWFkUHJvY2Vzc2VzKCkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7ICdYLVBPLU5vLUVycm9yJzogJ3RydWUnIH07XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmhlYWQoYCR7dGhpcy5lbmRwb2ludH0vcHJvY2Vzc2VzYCwgeyBoZWFkZXJzIH0pO1xuICB9XG5cbiAgLy8gQnVzY2EgcGFyYW1ldHJvcyBwZWxvIHByb2Nlc3NvIGlkXG4gIGdldFBhcmFtZXRlcnNCeVByb2Nlc3MocHJvY2Vzc0lkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoYCR7dGhpcy5lbmRwb2ludH0vcHJvY2Vzc2VzLyR7cHJvY2Vzc0lkfS9wYXJhbWV0ZXJzYCwgeyBoZWFkZXJzOiB0aGlzLmhlYWRlcnMgfSlcbiAgICAgIC5waXBlKG1hcCgocmVzb3VyY2U6IHsgaXRlbXM6IEFycmF5PFBvRHluYW1pY0Zvcm1GaWVsZD4gfSkgPT4gcmVzb3VyY2UuaXRlbXMpKTtcbiAgfVxuXG4gIC8vIEJ1c2NhIHVtIMO6bmljbyByZWN1cnNvXG4gIGdldFByb2Nlc3MoaWQ6IHN0cmluZyB8IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbmRwb2ludH0vcHJvY2Vzc2VzLyR7aWR9YCwgeyBoZWFkZXJzOiB0aGlzLmhlYWRlcnMgfSk7XG4gIH1cblxuICAvLyBCdXNjYSB1bWEgbGlzdGEgZGUgcHJvY2Vzc29zXG4gIGdldFByb2Nlc3NlcyhwYXJhbXM6IHt9ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlc2AsIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgLy8gQnVzY2EgdW0gw7puaWNvIHJlY3Vyc29cbiAgZ2V0UmVzb3VyY2UoaWQ6IHN0cmluZyB8IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldChgJHt0aGlzLmVuZHBvaW50fS8ke2lkfWAsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pXG4gICAgICAucGlwZShtYXAocmVzb3VyY2UgPT4gdGhpcy5jb252ZXJ0VG9Kb2JTY2hlZHVsZXJJbnRlcm5hbChyZXNvdXJjZSkpKTtcbiAgfVxuXG4gIC8vIEF0dWFsaXphIHVtIHJlY3Vyc29cbiAgdXBkYXRlUmVzb3VyY2UoaWQsIHJlc291cmNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBuZXdSZXNvdWNlID0gdGhpcy5jb252ZXJ0VG9Kb2JTY2hlZHVsZXIocmVzb3VyY2UpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW5kcG9pbnR9LyR7aWR9YCwgbmV3UmVzb3VjZSwgeyBoZWFkZXJzOiB0aGlzLmhlYWRlcnMgfSk7XG4gIH1cblxuICBjb252ZXJ0VG9Kb2JTY2hlZHVsZXIoam9iU2NoZWR1bGVySW50ZXJuYWwpOiBQb0pvYlNjaGVkdWxlciB7XG4gICAgY29uc3Qgam9iU2NoZWR1bGVyID0geyAuLi5qb2JTY2hlZHVsZXJJbnRlcm5hbCB9O1xuXG4gICAgaWYgKGpvYlNjaGVkdWxlckludGVybmFsLnBlcmlvZGljaXR5KSB7XG4gICAgICBpZiAoam9iU2NoZWR1bGVySW50ZXJuYWwucGVyaW9kaWNpdHkgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgIGpvYlNjaGVkdWxlci5yZWN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oam9iU2NoZWR1bGVyLCB0aGlzLmNvbnZlcnRUb1BlcmlvZGljaXR5KGpvYlNjaGVkdWxlckludGVybmFsKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGpvYlNjaGVkdWxlckludGVybmFsLmZpcnN0RXhlY3V0aW9uSG91cikge1xuICAgICAgam9iU2NoZWR1bGVyLmZpcnN0RXhlY3V0aW9uID0gdGhpcy5yZXBsYWNlSG91ckZpcnN0RXhlY3V0aW9uKFxuICAgICAgICBqb2JTY2hlZHVsZXJJbnRlcm5hbC5maXJzdEV4ZWN1dGlvbixcbiAgICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwuZmlyc3RFeGVjdXRpb25Ib3VyXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5mcmVxdWVuY3kgJiYgam9iU2NoZWR1bGVySW50ZXJuYWwuZnJlcXVlbmN5LnR5cGUpIHtcbiAgICAgIGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMgPSB7XG4gICAgICAgIGZyZXF1ZW5jeTogeyAuLi5qb2JTY2hlZHVsZXJJbnRlcm5hbC5mcmVxdWVuY3kgfVxuICAgICAgfTtcblxuICAgICAgaWYgKGpvYlNjaGVkdWxlckludGVybmFsLnJhbmdlTGltaXRIb3VyKSB7XG4gICAgICAgIGNvbnN0IHNwbGl0UmFuZ2VMaW1pdEhvdXIgPSBqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0SG91ci5zcGxpdCgnOicpO1xuXG4gICAgICAgIGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdCA9IHtcbiAgICAgICAgICBob3VyOiBwYXJzZUludChzcGxpdFJhbmdlTGltaXRIb3VyWzBdLCAxMCksXG4gICAgICAgICAgbWludXRlOiBwYXJzZUludChzcGxpdFJhbmdlTGltaXRIb3VyWzFdLCAxMClcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKGpvYlNjaGVkdWxlckludGVybmFsLnJhbmdlTGltaXREYXkpIHtcbiAgICAgICAgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0ID0ge1xuICAgICAgICAgIC4uLmpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdCxcbiAgICAgICAgICBkYXk6IGpvYlNjaGVkdWxlckludGVybmFsLnJhbmdlTGltaXREYXlcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMucmV0dXJuVmFsaWRFeGVjdXRpb25QYXJhbWV0ZXIoam9iU2NoZWR1bGVyLmV4ZWN1dGlvblBhcmFtZXRlcikpLmxlbmd0aCkge1xuICAgICAgZGVsZXRlIGpvYlNjaGVkdWxlci5leGVjdXRpb25QYXJhbWV0ZXI7XG4gICAgfVxuXG4gICAgdGhpcy5yZW1vdmVJbnZhbGlkS2V5cyhqb2JTY2hlZHVsZXIpO1xuXG4gICAgcmV0dXJuIGpvYlNjaGVkdWxlcjtcbiAgfVxuXG4gIGNvbnZlcnRUb0pvYlNjaGVkdWxlckludGVybmFsKGpvYlNjaGVkdWxlciA9IDxhbnk+e30pOiBQb0pvYlNjaGVkdWxlckludGVybmFsIHtcbiAgICBjb25zdCBqb2JTY2hlZHVsZXJJbnRlcm5hbCA9IHsgLi4uam9iU2NoZWR1bGVyIH07XG5cbiAgICBpZiAoam9iU2NoZWR1bGVyLmZpcnN0RXhlY3V0aW9uKSB7XG4gICAgICBqb2JTY2hlZHVsZXJJbnRlcm5hbC5maXJzdEV4ZWN1dGlvbkhvdXIgPSB0aGlzLmdldEhvdXJGaXJzdEV4ZWN1dGlvbihqb2JTY2hlZHVsZXIuZmlyc3RFeGVjdXRpb24pO1xuICAgIH1cblxuICAgIE9iamVjdC5hc3NpZ24oam9iU2NoZWR1bGVySW50ZXJuYWwsIHRoaXMuY29udmVydFRvUGVyaW9kaWNpdHlJbnRlcm5hbChqb2JTY2hlZHVsZXIpKTtcblxuICAgIGlmIChqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zKSB7XG4gICAgICBqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0SG91ciA9IGAke1xuICAgICAgICBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQuaG91ciA8IDEwXG4gICAgICAgICAgPyAnMCcgKyBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQuaG91clxuICAgICAgICAgIDogam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmhvdXJcbiAgICAgIH06JHtcbiAgICAgICAgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0Lm1pbnV0ZSA8IDEwXG4gICAgICAgICAgPyAnMCcgKyBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQubWludXRlXG4gICAgICAgICAgOiBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQubWludXRlXG4gICAgICB9YDtcbiAgICAgIGpvYlNjaGVkdWxlckludGVybmFsLnJhbmdlTGltaXREYXkgPSBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQuZGF5O1xuICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwuZnJlcXVlbmN5ID0ge1xuICAgICAgICB0eXBlOiBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLmZyZXF1ZW5jeS50eXBlLFxuICAgICAgICB2YWx1ZTogam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5mcmVxdWVuY3kudmFsdWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5yZW1vdmVJbnZhbGlkS2V5cyhqb2JTY2hlZHVsZXJJbnRlcm5hbCwgWyd3ZWVrbHknLCAnbW9udGhseScsICdkYWlseSddKTtcblxuICAgIHJldHVybiBqb2JTY2hlZHVsZXJJbnRlcm5hbDtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvUGVyaW9kaWNpdHkodmFsdWU6IHtcbiAgICBwZXJpb2RpY2l0eTogc3RyaW5nO1xuICAgIGRheU9mTW9udGg/OiBzdHJpbmc7XG4gICAgZGF5c09mV2Vlaz86IG51bWJlcjtcbiAgICBob3VyPzogc3RyaW5nO1xuICB9KSB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSB7fTtcbiAgICBjb25zdCB2YWx1ZVBlcmlvZGljaXR5ID0gdmFsdWUucGVyaW9kaWNpdHk7XG5cbiAgICBpZiAodmFsdWVQZXJpb2RpY2l0eSkge1xuICAgICAgbmV3VmFsdWVbdmFsdWVQZXJpb2RpY2l0eV0gPSB7fTtcblxuICAgICAgaWYgKHZhbHVlUGVyaW9kaWNpdHkgPT09ICdtb250aGx5Jykge1xuICAgICAgICBuZXdWYWx1ZVt2YWx1ZVBlcmlvZGljaXR5XS5kYXkgPSB2YWx1ZS5kYXlPZk1vbnRoID8gcGFyc2VJbnQodmFsdWUuZGF5T2ZNb250aCwgMTApIDogMDtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWVQZXJpb2RpY2l0eSA9PT0gJ3dlZWtseScpIHtcbiAgICAgICAgbmV3VmFsdWVbdmFsdWVQZXJpb2RpY2l0eV0uZGF5c09mV2VlayA9IHZhbHVlLmRheXNPZldlZWs7XG4gICAgICB9XG5cbiAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldLmhvdXIgPSB2YWx1ZS5ob3VyID8gcGFyc2VJbnQodmFsdWUuaG91ci5zcGxpdCgnOicpWzBdLCAxMCkgOiAwO1xuICAgICAgbmV3VmFsdWVbdmFsdWVQZXJpb2RpY2l0eV0ubWludXRlID0gdmFsdWUuaG91ciA/IHBhcnNlSW50KHZhbHVlLmhvdXIuc3BsaXQoJzonKVsxXSwgMTApIDogMDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3VmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb1BlcmlvZGljaXR5SW50ZXJuYWwodmFsdWUgPSA8YW55Pnt9KSB7XG4gICAgaWYgKHZhbHVlLm1vbnRobHkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBlcmlvZGljaXR5OiAnbW9udGhseScsXG4gICAgICAgIGhvdXI6IGAke2FkZFplcm8odmFsdWUubW9udGhseS5ob3VyKX06JHthZGRaZXJvKHZhbHVlLm1vbnRobHkubWludXRlKX1gLFxuICAgICAgICBkYXlPZk1vbnRoOiB2YWx1ZS5tb250aGx5LmRheVxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlLmRhaWx5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwZXJpb2RpY2l0eTogJ2RhaWx5JyxcbiAgICAgICAgaG91cjogYCR7YWRkWmVybyh2YWx1ZS5kYWlseS5ob3VyKX06JHthZGRaZXJvKHZhbHVlLmRhaWx5Lm1pbnV0ZSl9YFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlLndlZWtseSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGVyaW9kaWNpdHk6ICd3ZWVrbHknLFxuICAgICAgICBob3VyOiBgJHthZGRaZXJvKHZhbHVlLndlZWtseS5ob3VyKX06JHthZGRaZXJvKHZhbHVlLndlZWtseS5taW51dGUpfWAsXG4gICAgICAgIGRheXNPZldlZWs6IFsuLi52YWx1ZS53ZWVrbHkuZGF5c09mV2Vla11cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBlcmlvZGljaXR5OiAnc2luZ2xlJ1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEN1cnJlbnRIb3VyKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhvdXJzID0gYWRkWmVybyhkYXRlLmdldEhvdXJzKCkpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBhZGRaZXJvKGRhdGUuZ2V0TWludXRlcygpKTtcblxuICAgIHJldHVybiBgJHtob3Vyc306JHttaW51dGVzfWA7XG4gIH1cblxuICBwcml2YXRlIGdldEhvdXJGaXJzdEV4ZWN1dGlvbihmaXJzdEV4ZWN1dGlvbkRhdGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudEhvdXIobmV3IERhdGUoZmlyc3RFeGVjdXRpb25EYXRlKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUludmFsaWRLZXlzKHZhbHVlOiBvYmplY3QsIGtleXM/OiBBcnJheTxzdHJpbmc+KSB7XG4gICAgY29uc3QgaW52YWxpZEtleXMgPSBrZXlzIHx8IFtcbiAgICAgICdwZXJpb2RpY2l0eScsXG4gICAgICAnaG91cicsXG4gICAgICAnbWludXRlJyxcbiAgICAgICdkYXknLFxuICAgICAgJ2RheXNPZldlZWsnLFxuICAgICAgJ2RheU9mTW9udGgnLFxuICAgICAgJ2ZpcnN0RXhlY3V0aW9uSG91cicsXG4gICAgICAnZnJlcXVlbmN5JyxcbiAgICAgICdyYW5nZUxpbWl0SG91cicsXG4gICAgICAncmFuZ2VMaW1pdERheSdcbiAgICBdO1xuXG4gICAgT2JqZWN0LmtleXModmFsdWUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChpbnZhbGlkS2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgIGRlbGV0ZSB2YWx1ZVtrZXldO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdyYW5nZUV4ZWN1dGlvbnMnICYmIHZhbHVlWydwZXJpb2RpY2l0eSddID09PSAnc2luZ2xlJykge1xuICAgICAgICBkZWxldGUgdmFsdWVba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGFjZUhvdXJGaXJzdEV4ZWN1dGlvbihkYXRlOiBzdHJpbmcsIHRpbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZVNwbGl0ZWQgPSBkYXRlLnNwbGl0KCctJyk7XG4gICAgY29uc3QgeWVhciA9IHBhcnNlSW50KGRhdGVTcGxpdGVkWzBdKTtcbiAgICBjb25zdCBtb250aEluZGV4ID0gcGFyc2VJbnQoZGF0ZVNwbGl0ZWRbMV0pIC0gMTtcbiAgICBjb25zdCBkYXkgPSBwYXJzZUludChkYXRlU3BsaXRlZFsyXSk7XG5cbiAgICBjb25zdCB0aW1lU3BsaXRlZCA9IHRpbWUuc3BsaXQoJzonKTtcbiAgICBjb25zdCBob3VycyA9IHBhcnNlSW50KHRpbWVTcGxpdGVkWzBdLCAxMCk7XG4gICAgY29uc3QgbWludXRlcyA9IHBhcnNlSW50KHRpbWVTcGxpdGVkWzFdLCAxMCk7XG5cbiAgICBjb25zdCBmaXJzdEV4ZWN1dGlvbkRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aEluZGV4LCBkYXksIGhvdXJzLCBtaW51dGVzKTtcblxuICAgIHJldHVybiBjb252ZXJ0RGF0ZVRvSVNPRXh0ZW5kZWQoZmlyc3RFeGVjdXRpb25EYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmV0dXJuVmFsaWRFeGVjdXRpb25QYXJhbWV0ZXIocGFyYW1ldGVyOiBvYmplY3QpIHtcbiAgICBjb25zdCBuZXdQYXJhbWV0ZXIgPSB7IC4uLnBhcmFtZXRlciB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gbmV3UGFyYW1ldGVyKSB7XG4gICAgICBpZiAobmV3UGFyYW1ldGVyLmhhc093blByb3BlcnR5KGtleSkgJiYgbmV3UGFyYW1ldGVyW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgbmV3UGFyYW1ldGVyW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld1BhcmFtZXRlcjtcbiAgfVxufVxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcGFnZS1qb2Itc2NoZWR1bGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW1wbGF0ZXMvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBhZ2Utam9iLXNjaGVkdWxlci9wby1wYWdlLWpvYi1zY2hlZHVsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFPckUsTUFBTSxPQUFPLHlCQUF5QjtJQU9oQjtJQU5YLE9BQU8sR0FBZ0IsSUFBSSxXQUFXLENBQUM7UUFDOUMsa0JBQWtCLEVBQUUsTUFBTTtLQUMzQixDQUFDLENBQUM7SUFFSyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBRXZCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDLGdCQUFnQixDQUFDLFNBQWdDLEVBQUU7UUFDakQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLFFBQVE7UUFDckIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXhELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxn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QUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFckMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRTdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRTNFLElBQUksQ0FBQyxDQUFDLGtCQUFrQixZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pGLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCxPQUFPLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDckQ7UUFBQyxNQUFNO1lBQ04sT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxTQUFpQjtRQUNyRCxNQUFNLFlBQVksR0FBRyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFFdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUU7WUFDOUIsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ3ZFLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO21GQXRRVSx5QkFBeUI7Z0VBQXpCLHlCQUF5QixXQUF6Qix5QkFBeUI7O2lGQUF6Qix5QkFBeUI7Y0FEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGFkZFplcm8sIGNvbnZlcnREYXRlVG9JU09FeHRlbmRlZCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9EeW5hbWljRm9ybUZpZWxkIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlciB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1qb2Itc2NoZWR1bGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0pvYlNjaGVkdWxlckludGVybmFsIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWpvYi1zY2hlZHVsZXItaW50ZXJuYWwuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvUGFnZUpvYlNjaGVkdWxlclNlcnZpY2Uge1xuICByZWFkb25seSBoZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgJ1gtUE8tU0NSRUVOLUxPQ0snOiAndHJ1ZSdcbiAgfSk7XG5cbiAgcHJpdmF0ZSBlbmRwb2ludCA9ICcvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgY29uZmlnU2VydmljZUFwaShjb25maWc6IHsgZW5kcG9pbnQ/OiBzdHJpbmcgfSA9IHt9KSB7XG4gICAgdGhpcy5lbmRwb2ludCA9IGNvbmZpZy5lbmRwb2ludDtcbiAgfVxuXG4gIC8vIENyaWEgdW0gcmVjdXJzb1xuICBjcmVhdGVSZXNvdXJjZShyZXNvdXJjZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgbmV3UmVzb3VjZSA9IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVyKHJlc291cmNlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVuZHBvaW50fWAsIG5ld1Jlc291Y2UsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgZ2V0SGVhZFByb2Nlc3NlcygpIHtcbiAgICBjb25zdCBoZWFkZXJzID0geyAnWC1QTy1Oby1FcnJvcic6ICd0cnVlJyB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5oZWFkKGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlc2AsIHsgaGVhZGVycyB9KTtcbiAgfVxuXG4gIC8vIEJ1c2NhIHBhcmFtZXRyb3MgcGVsbyBwcm9jZXNzbyBpZFxuICBnZXRQYXJhbWV0ZXJzQnlQcm9jZXNzKHByb2Nlc3NJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlcy8ke3Byb2Nlc3NJZH0vcGFyYW1ldGVyc2AsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pXG4gICAgICAucGlwZShtYXAoKHJlc291cmNlOiB7IGl0ZW1zOiBBcnJheTxQb0R5bmFtaWNGb3JtRmllbGQ+IH0pID0+IHJlc291cmNlLml0ZW1zKSk7XG4gIH1cblxuICAvLyBCdXNjYSB1bSDDum5pY28gcmVjdXJzb1xuICBnZXRQcm9jZXNzKGlkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW5kcG9pbnR9L3Byb2Nlc3Nlcy8ke2lkfWAsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgLy8gQnVzY2EgdW1hIGxpc3RhIGRlIHByb2Nlc3Nvc1xuICBnZXRQcm9jZXNzZXMocGFyYW1zOiB7fSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVuZHBvaW50fS9wcm9jZXNzZXNgLCB7IHBhcmFtcyB9KTtcbiAgfVxuXG4gIC8vIEJ1c2NhIHVtIMO6bmljbyByZWN1cnNvXG4gIGdldFJlc291cmNlKGlkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQoYCR7dGhpcy5lbmRwb2ludH0vJHtpZH1gLCB7IGhlYWRlcnM6IHRoaXMuaGVhZGVycyB9KVxuICAgICAgLnBpcGUobWFwKHJlc291cmNlID0+IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVySW50ZXJuYWwocmVzb3VyY2UpKSk7XG4gIH1cblxuICAvLyBBdHVhbGl6YSB1bSByZWN1cnNvXG4gIHVwZGF0ZVJlc291cmNlKGlkLCByZXNvdXJjZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgbmV3UmVzb3VjZSA9IHRoaXMuY29udmVydFRvSm9iU2NoZWR1bGVyKHJlc291cmNlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVuZHBvaW50fS8ke2lkfWAsIG5ld1Jlc291Y2UsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbiAgY29udmVydFRvSm9iU2NoZWR1bGVyKGpvYlNjaGVkdWxlckludGVybmFsKTogUG9Kb2JTY2hlZHVsZXIge1xuICAgIGNvbnN0IGpvYlNjaGVkdWxlciA9IHsgLi4uam9iU2NoZWR1bGVySW50ZXJuYWwgfTtcblxuICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5wZXJpb2RpY2l0eSkge1xuICAgICAgaWYgKGpvYlNjaGVkdWxlckludGVybmFsLnBlcmlvZGljaXR5ID09PSAnc2luZ2xlJykge1xuICAgICAgICBqb2JTY2hlZHVsZXIucmVjdXJyZW50ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuYXNzaWduKGpvYlNjaGVkdWxlciwgdGhpcy5jb252ZXJ0VG9QZXJpb2RpY2l0eShqb2JTY2hlZHVsZXJJbnRlcm5hbCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5maXJzdEV4ZWN1dGlvbkhvdXIpIHtcbiAgICAgIGpvYlNjaGVkdWxlci5maXJzdEV4ZWN1dGlvbiA9IHRoaXMucmVwbGFjZUhvdXJGaXJzdEV4ZWN1dGlvbihcbiAgICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwuZmlyc3RFeGVjdXRpb24sXG4gICAgICAgIGpvYlNjaGVkdWxlckludGVybmFsLmZpcnN0RXhlY3V0aW9uSG91clxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoam9iU2NoZWR1bGVySW50ZXJuYWwuZnJlcXVlbmN5ICYmIGpvYlNjaGVkdWxlckludGVybmFsLmZyZXF1ZW5jeS50eXBlKSB7XG4gICAgICBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zID0ge1xuICAgICAgICBmcmVxdWVuY3k6IHsgLi4uam9iU2NoZWR1bGVySW50ZXJuYWwuZnJlcXVlbmN5IH1cbiAgICAgIH07XG5cbiAgICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0SG91cikge1xuICAgICAgICBjb25zdCBzcGxpdFJhbmdlTGltaXRIb3VyID0gam9iU2NoZWR1bGVySW50ZXJuYWwucmFuZ2VMaW1pdEhvdXIuc3BsaXQoJzonKTtcblxuICAgICAgICBqb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQgPSB7XG4gICAgICAgICAgaG91cjogcGFyc2VJbnQoc3BsaXRSYW5nZUxpbWl0SG91clswXSwgMTApLFxuICAgICAgICAgIG1pbnV0ZTogcGFyc2VJbnQoc3BsaXRSYW5nZUxpbWl0SG91clsxXSwgMTApXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5KSB7XG4gICAgICAgIGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdCA9IHtcbiAgICAgICAgICAuLi5qb2JTY2hlZHVsZXIucmFuZ2VFeGVjdXRpb25zLnJhbmdlTGltaXQsXG4gICAgICAgICAgZGF5OiBqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJldHVyblZhbGlkRXhlY3V0aW9uUGFyYW1ldGVyKGpvYlNjaGVkdWxlci5leGVjdXRpb25QYXJhbWV0ZXIpKS5sZW5ndGgpIHtcbiAgICAgIGRlbGV0ZSBqb2JTY2hlZHVsZXIuZXhlY3V0aW9uUGFyYW1ldGVyO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlSW52YWxpZEtleXMoam9iU2NoZWR1bGVyKTtcblxuICAgIHJldHVybiBqb2JTY2hlZHVsZXI7XG4gIH1cblxuICBjb252ZXJ0VG9Kb2JTY2hlZHVsZXJJbnRlcm5hbChqb2JTY2hlZHVsZXIgPSA8YW55Pnt9KTogUG9Kb2JTY2hlZHVsZXJJbnRlcm5hbCB7XG4gICAgY29uc3Qgam9iU2NoZWR1bGVySW50ZXJuYWwgPSB7IC4uLmpvYlNjaGVkdWxlciB9O1xuXG4gICAgaWYgKGpvYlNjaGVkdWxlci5maXJzdEV4ZWN1dGlvbikge1xuICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwuZmlyc3RFeGVjdXRpb25Ib3VyID0gdGhpcy5nZXRIb3VyRmlyc3RFeGVjdXRpb24oam9iU2NoZWR1bGVyLmZpcnN0RXhlY3V0aW9uKTtcbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGpvYlNjaGVkdWxlckludGVybmFsLCB0aGlzLmNvbnZlcnRUb1BlcmlvZGljaXR5SW50ZXJuYWwoam9iU2NoZWR1bGVyKSk7XG5cbiAgICBpZiAoam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucykge1xuICAgICAgam9iU2NoZWR1bGVySW50ZXJuYWwucmFuZ2VMaW1pdEhvdXIgPSBgJHtcbiAgICAgICAgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmhvdXIgPCAxMFxuICAgICAgICAgID8gJzAnICsgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmhvdXJcbiAgICAgICAgICA6IGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdC5ob3VyXG4gICAgICB9OiR7XG4gICAgICAgIGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMucmFuZ2VMaW1pdC5taW51dGUgPCAxMFxuICAgICAgICAgID8gJzAnICsgam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0Lm1pbnV0ZVxuICAgICAgICAgIDogam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0Lm1pbnV0ZVxuICAgICAgfWA7XG4gICAgICBqb2JTY2hlZHVsZXJJbnRlcm5hbC5yYW5nZUxpbWl0RGF5ID0gam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5yYW5nZUxpbWl0LmRheTtcbiAgICAgIGpvYlNjaGVkdWxlckludGVybmFsLmZyZXF1ZW5jeSA9IHtcbiAgICAgICAgdHlwZTogam9iU2NoZWR1bGVyLnJhbmdlRXhlY3V0aW9ucy5mcmVxdWVuY3kudHlwZSxcbiAgICAgICAgdmFsdWU6IGpvYlNjaGVkdWxlci5yYW5nZUV4ZWN1dGlvbnMuZnJlcXVlbmN5LnZhbHVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlSW52YWxpZEtleXMoam9iU2NoZWR1bGVySW50ZXJuYWwsIFsnd2Vla2x5JywgJ21vbnRobHknLCAnZGFpbHknXSk7XG5cbiAgICByZXR1cm4gam9iU2NoZWR1bGVySW50ZXJuYWw7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb1BlcmlvZGljaXR5KHZhbHVlOiB7XG4gICAgcGVyaW9kaWNpdHk6IHN0cmluZztcbiAgICBkYXlPZk1vbnRoPzogc3RyaW5nO1xuICAgIGRheXNPZldlZWs/OiBudW1iZXI7XG4gICAgaG91cj86IHN0cmluZztcbiAgfSkge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0ge307XG4gICAgY29uc3QgdmFsdWVQZXJpb2RpY2l0eSA9IHZhbHVlLnBlcmlvZGljaXR5O1xuXG4gICAgaWYgKHZhbHVlUGVyaW9kaWNpdHkpIHtcbiAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldID0ge307XG5cbiAgICAgIGlmICh2YWx1ZVBlcmlvZGljaXR5ID09PSAnbW9udGhseScpIHtcbiAgICAgICAgbmV3VmFsdWVbdmFsdWVQZXJpb2RpY2l0eV0uZGF5ID0gdmFsdWUuZGF5T2ZNb250aCA/IHBhcnNlSW50KHZhbHVlLmRheU9mTW9udGgsIDEwKSA6IDA7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlUGVyaW9kaWNpdHkgPT09ICd3ZWVrbHknKSB7XG4gICAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldLmRheXNPZldlZWsgPSB2YWx1ZS5kYXlzT2ZXZWVrO1xuICAgICAgfVxuXG4gICAgICBuZXdWYWx1ZVt2YWx1ZVBlcmlvZGljaXR5XS5ob3VyID0gdmFsdWUuaG91ciA/IHBhcnNlSW50KHZhbHVlLmhvdXIuc3BsaXQoJzonKVswXSwgMTApIDogMDtcbiAgICAgIG5ld1ZhbHVlW3ZhbHVlUGVyaW9kaWNpdHldLm1pbnV0ZSA9IHZhbHVlLmhvdXIgPyBwYXJzZUludCh2YWx1ZS5ob3VyLnNwbGl0KCc6JylbMV0sIDEwKSA6IDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld1ZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9QZXJpb2RpY2l0eUludGVybmFsKHZhbHVlID0gPGFueT57fSkge1xuICAgIGlmICh2YWx1ZS5tb250aGx5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwZXJpb2RpY2l0eTogJ21vbnRobHknLFxuICAgICAgICBob3VyOiBgJHthZGRaZXJvKHZhbHVlLm1vbnRobHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS5tb250aGx5Lm1pbnV0ZSl9YCxcbiAgICAgICAgZGF5T2ZNb250aDogdmFsdWUubW9udGhseS5kYXlcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5kYWlseSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGVyaW9kaWNpdHk6ICdkYWlseScsXG4gICAgICAgIGhvdXI6IGAke2FkZFplcm8odmFsdWUuZGFpbHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS5kYWlseS5taW51dGUpfWBcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh2YWx1ZS53ZWVrbHkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBlcmlvZGljaXR5OiAnd2Vla2x5JyxcbiAgICAgICAgaG91cjogYCR7YWRkWmVybyh2YWx1ZS53ZWVrbHkuaG91cil9OiR7YWRkWmVybyh2YWx1ZS53ZWVrbHkubWludXRlKX1gLFxuICAgICAgICBkYXlzT2ZXZWVrOiBbLi4udmFsdWUud2Vla2x5LmRheXNPZldlZWtdXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwZXJpb2RpY2l0eTogJ3NpbmdsZSdcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG91cihkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBob3VycyA9IGFkZFplcm8oZGF0ZS5nZXRIb3VycygpKTtcbiAgICBjb25zdCBtaW51dGVzID0gYWRkWmVybyhkYXRlLmdldE1pbnV0ZXMoKSk7XG5cbiAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc31gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIb3VyRmlyc3RFeGVjdXRpb24oZmlyc3RFeGVjdXRpb25EYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRIb3VyKG5ldyBEYXRlKGZpcnN0RXhlY3V0aW9uRGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVJbnZhbGlkS2V5cyh2YWx1ZTogb2JqZWN0LCBrZXlzPzogQXJyYXk8c3RyaW5nPikge1xuICAgIGNvbnN0IGludmFsaWRLZXlzID0ga2V5cyB8fCBbXG4gICAgICAncGVyaW9kaWNpdHknLFxuICAgICAgJ2hvdXInLFxuICAgICAgJ21pbnV0ZScsXG4gICAgICAnZGF5JyxcbiAgICAgICdkYXlzT2ZXZWVrJyxcbiAgICAgICdkYXlPZk1vbnRoJyxcbiAgICAgICdmaXJzdEV4ZWN1dGlvbkhvdXInLFxuICAgICAgJ2ZyZXF1ZW5jeScsXG4gICAgICAncmFuZ2VMaW1pdEhvdXInLFxuICAgICAgJ3JhbmdlTGltaXREYXknXG4gICAgXTtcblxuICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoaW52YWxpZEtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBkZWxldGUgdmFsdWVba2V5XTtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmFuZ2VFeGVjdXRpb25zJyAmJiB2YWx1ZVsncGVyaW9kaWNpdHknXSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgZGVsZXRlIHZhbHVlW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VIb3VyRmlyc3RFeGVjdXRpb24oZGF0ZTogc3RyaW5nLCB0aW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGVTcGxpdGVkID0gZGF0ZS5zcGxpdCgnLScpO1xuICAgICAgY29uc3QgdGltZVNwbGl0ZWQgPSB0aW1lLnNwbGl0KCc6Jyk7XG5cbiAgICAgIGlmIChkYXRlU3BsaXRlZC5sZW5ndGggPCAyIHx8IHRpbWVTcGxpdGVkLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHllYXIgPSBwYXJzZUludChkYXRlU3BsaXRlZFswXSk7XG4gICAgICBjb25zdCBtb250aEluZGV4ID0gcGFyc2VJbnQoZGF0ZVNwbGl0ZWRbMV0pIC0gMTtcbiAgICAgIGNvbnN0IGRheSA9IHBhcnNlSW50KGRhdGVTcGxpdGVkWzJdKTtcblxuICAgICAgY29uc3QgaG91cnMgPSBwYXJzZUludCh0aW1lU3BsaXRlZFswXSwgMTApO1xuICAgICAgY29uc3QgbWludXRlcyA9IHBhcnNlSW50KHRpbWVTcGxpdGVkWzFdLCAxMCk7XG5cbiAgICAgIGNvbnN0IGZpcnN0RXhlY3V0aW9uRGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoSW5kZXgsIGRheSwgaG91cnMsIG1pbnV0ZXMpO1xuXG4gICAgICBpZiAoIShmaXJzdEV4ZWN1dGlvbkRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihmaXJzdEV4ZWN1dGlvbkRhdGUuZ2V0VGltZSgpKSkpIHtcbiAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb252ZXJ0RGF0ZVRvSVNPRXh0ZW5kZWQoZmlyc3RFeGVjdXRpb25EYXRlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmV0dXJuVmFsaWRFeGVjdXRpb25QYXJhbWV0ZXIocGFyYW1ldGVyOiBvYmplY3QpIHtcbiAgICBjb25zdCBuZXdQYXJhbWV0ZXIgPSB7IC4uLnBhcmFtZXRlciB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gbmV3UGFyYW1ldGVyKSB7XG4gICAgICBpZiAobmV3UGFyYW1ldGVyLmhhc093blByb3BlcnR5KGtleSkgJiYgbmV3UGFyYW1ldGVyW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgbmV3UGFyYW1ldGVyW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld1BhcmFtZXRlcjtcbiAgfVxufVxuIl19
@@ -7509,15 +7509,29 @@ class PoPageJobSchedulerService {
7509
7509
  });
7510
7510
  }
7511
7511
  replaceHourFirstExecution(date, time) {
7512
- const dateSplited = date.split('-');
7513
- const year = parseInt(dateSplited[0]);
7514
- const monthIndex = parseInt(dateSplited[1]) - 1;
7515
- const day = parseInt(dateSplited[2]);
7516
- const timeSplited = time.split(':');
7517
- const hours = parseInt(timeSplited[0], 10);
7518
- const minutes = parseInt(timeSplited[1], 10);
7519
- const firstExecutionDate = new Date(year, monthIndex, day, hours, minutes);
7520
- return convertDateToISOExtended(firstExecutionDate);
7512
+ try {
7513
+ if (!date) {
7514
+ return date;
7515
+ }
7516
+ const dateSplited = date.split('-');
7517
+ const timeSplited = time.split(':');
7518
+ if (dateSplited.length < 2 || timeSplited.length < 1) {
7519
+ return date;
7520
+ }
7521
+ const year = parseInt(dateSplited[0]);
7522
+ const monthIndex = parseInt(dateSplited[1]) - 1;
7523
+ const day = parseInt(dateSplited[2]);
7524
+ const hours = parseInt(timeSplited[0], 10);
7525
+ const minutes = parseInt(timeSplited[1], 10);
7526
+ const firstExecutionDate = new Date(year, monthIndex, day, hours, minutes);
7527
+ if (!(firstExecutionDate instanceof Date && !isNaN(firstExecutionDate.getTime()))) {
7528
+ return date;
7529
+ }
7530
+ return convertDateToISOExtended(firstExecutionDate);
7531
+ }
7532
+ catch {
7533
+ return date;
7534
+ }
7521
7535
  }
7522
7536
  returnValidExecutionParameter(parameter) {
7523
7537
  const newParameter = { ...parameter };