simpo-component-library 2.1.85 → 2.1.88

Sign up to get free protection for your applications and to get access to all the features.
@@ -251,7 +251,7 @@ export class RestService {
251
251
  return this.http.put(this.BASE_URL + `crm/appointment/config/available/timeslots`, data);
252
252
  }
253
253
  getSelectedListFields(bId, showInErp, formName) {
254
- return this.http.get(this.CMIS_URL + `crm/fields?businessId=${bId}&status=true&showInErp=${showInErp}&isPagination=false&fieldCategory=${formName}`);
254
+ return this.http.get(this.CMIS_URL + `crm/fields?businessId=${bId}&status=true&showInForm=${showInErp}&isPagination=false&fieldCategory=${formName}`);
255
255
  }
256
256
  createRegistration(payload) {
257
257
  return this.http.post(this.CMIS_URL + `crm/registration/?enquiryId=${payload?.enquiryId || ''}`, payload);
@@ -312,4 +312,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
312
312
  providedIn: 'root',
313
313
  }]
314
314
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.EventsService }] });
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUF3QyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFpQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBSzVFLE1BQU0sT0FBTyxXQUFXO0lBT3BCLFlBQ3FCLElBQWdCLEVBQ2hCLFlBQTJCO1FBRDNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWU7UUFQeEMsYUFBUSxHQUFXLDJCQUEyQixDQUFDO1FBQy9DLGtCQUFhLEdBQVcsaUNBQWlDLENBQUM7UUFDMUQsYUFBUSxHQUFXLDJCQUEyQixDQUFDO1FBQy9DLDhCQUF5QixHQUF3QixJQUFJLENBQUM7UUFNM0QsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxFQUFFO1lBQ3BGLElBQUksUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLDJCQUEyQixDQUFDO2dCQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLGlDQUFpQyxDQUFDO1lBQzNELENBQUM7aUJBQ0ksSUFBSSxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsbUNBQW1DLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsNkJBQTZCLENBQUM7WUFDbEQs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QUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzhHQXpYUSxXQUFXO2tIQUFYLFdBQVcsY0FGUixNQUFNOzsyRkFFVCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmliZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBDYXRlZ29yeSwgRXZlbnRzU2VydmljZSwgUHJvZHVjdCwgQ29sbGVjdGlvbiB9IGZyb20gXCIuLi8uLi9wdWJsaWMtYXBpXCI7XG5pbXBvcnQgeyBSZXZpZXcgfSBmcm9tIFwiLi4vZWNvbW1lcmNlL3N0eWxlcy9yZXZpZXcubW9kYWxcIjtcbmltcG9ydCB7IERldmljZUluZm8gfSBmcm9tIFwiLi4vZWNvbW1lcmNlL3N0eWxlcy91c2VyLm1vZGFsXCI7XG5pbXBvcnQgeyBQaW5Db2RlTG9jYXRpb25JbnRlciB9IGZyb20gXCIuLi9lY29tbWVyY2Uvc3R5bGVzL1BpbmNvZGVMb2NhdGlvbkludGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBQaW5jb2RlTG9jYXRpb24gfSBmcm9tIFwiLi4vZWNvbW1lcmNlL3N0eWxlcy9QaW5jb2RlTG9jYXRpb24ubW9kZWxcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBCQVNFX1VSTDogc3RyaW5nID0gXCJodHRwczovL2Rldi1hcGkuc2ltcG8uYWkvXCI7XG4gICAgcHJpdmF0ZSBFQ09NTUVSQ0VfVVJMOiBzdHJpbmcgPSBcImh0dHBzOi8vZGV2LWVjb21tZXJjZS5zaW1wby5haS9cIjtcbiAgICBwcml2YXRlIENNSVNfVVJMOiBzdHJpbmcgPSBcImh0dHBzOi8vZGV2LWFwaS5zaW1wby5haS9cIjtcbiAgICBwcml2YXRlIGVudmlyb25tZW50VHlwZVN1YnNjcmliZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2VcbiAgICApIHtcbiAgICAgICB0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXIgPSB0aGlzLmV2ZW50U2VydmljZS5lbnZpcm9ubWVudFR5cGUuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgPT0gXCJERVZcIikge1xuICAgICAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgPSBcImh0dHBzOi8vZGV2LWFwaS5zaW1wby5haS9cIjtcbiAgICAgICAgICAgICAgICB0aGlzLkVDT01NRVJDRV9VUkwgPSBcImh0dHBzOi8vZGV2LWVjb21tZXJjZS5zaW1wby5haS9cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHJlc3BvbnNlID09IFwiU1RBR0VcIikge1xuICAgICAgICAgICAgICAgIHRoaXMuRUNPTU1FUkNFX1VSTCA9IFwiaHR0cHM6Ly9zdGFnZS1lY29tbWVyY2Uuc2ltcG8uYWkvXCI7XG4gICAgICAgICAgICAgICAgdGhpcy5CQVNFX1VSTCA9IFwiaHR0cHM6Ly9zdGF0ZS1hcGkuc2ltcG8uYWkvXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLkJBU0VfVVJMID0gXCJodHRwczovL2FwaS1jbWlzLnRlanNvZnQuY29tL1wiO1xuICAgICAgICAgICAgICAgIHRoaXMuRUNPTU1FUkNFX1VSTCA9IFwiaHR0cHM6Ly9wcm9kLWVjb21tZXJjZS5zaW1wby5haS9cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXIpXG4gICAgICAgICAgICB0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0RmVhdHVyZWRQcm9kdWN0KGNvbGxlY3Rpb25JZDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgICAgICBsZXQgc3ViSW5kdXN0cnlJZDogc3RyaW5nIHwgbnVsbCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKTtcbiAgICAgICAgaWYgKCFzdWJJbmR1c3RyeUlkKVxuICAgICAgICAgICAgc3ViSW5kdXN0cnlJZCA9IFwiXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3Byb2R1Y3QvY29sbGVjdGlvbi9pZD9jb2xsZWN0aW9uSWQ9JHtjb2xsZWN0aW9uSWQgfHwgJyd9JnN1YkluZHVzdHJ5SWQ9JHtzdWJJbmR1c3RyeUlkIHx8ICcnfSZpc0VuZFVzZXI9dHJ1ZWApLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHJlc3BvbnNlLmRhdGE/Lm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKSkpO1xuICAgIH1cbiAgICBnZXRDYXRlZ29yaWVzQnlDb2xsZWN0aW9uSWQoY29sbGVjdGlvbklkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvaW52ZW50b3J5L2NhdGVnb3J5L2NvbGxlY3Rpb25JZD9jb2xsZWN0aW9uSWQ9JHtjb2xsZWN0aW9uSWR9YCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YT8ubWFwKChjYXRlZ29yeTogYW55KT0+IG5ldyBDYXRlZ29yeShjYXRlZ29yeSkpKSk7XG4gICAgfVxuICAgIGdldFByb2R1Y3REZXRhaWxzKHByb2R1Y3RJZDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xuICAgICAgICAgICAgcGFnZU5vOiAwLFxuICAgICAgICAgICAgcGFnZVNpemU6IDEsXG4gICAgICAgICAgICBpdGVtSWQ6IHByb2R1Y3RJZCxcbiAgICAgICAgICAgIHN1YkluZHVzdHJ5SWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKSxcbiAgICAgICAgICAgIHVzZXJJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwZXJJZFwiKSA/PyBudWxsLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YS5kYXRhLm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKSkpO1xuICAgIH1cbiAgICBnZXRDb2xsZWN0aW9uQnlJZHMoY29sbGVjdGlvbklkczogc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgICAgIGlkczogY29sbGVjdGlvbklkc1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL2ludmVudG9yeS9jb2xsZWN0aW9uL2xpc3QvYWxsYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YT8ubWFwKChjb2xsZWN0aW9uOiBhbnkpPT4gbmV3IENvbGxlY3Rpb24oY29sbGVjdGlvbikpKSk7XG4gICAgfVxuXG4gICAgZ2V0QWxsQ2F0ZWdvcmllcygpIHtcblxuICAgICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcbiAgICAgICAgY29uc3Qgc3ViSW5kdXN0cnlJZDogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzdWJJbmR1c3RyeUlkXCIpID8/IFwiXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL2ludmVudG9yeS9mZWF0dXJlZD9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mc3ViSWQ9JHtzdWJJbmR1c3RyeUlkfWApLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHJlc3BvbnNlLmRhdGE/Lm1hcCgoY2F0ZWdvcnk6IGFueSk9PiBuZXcgQ2F0ZWdvcnkoY2F0ZWdvcnkpKSkpO1xuICAgIH1cbiAgICBnZXRBbGxDb2xsZWN0aW9ucygpIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xuICAgICAgICAgICAgcGFnZU5vOiAwLFxuICAgICAgICAgICAgcGFnZVNpemU6IDEwLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCIsXG4gICAgICAgICAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIilcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgJ2Vjb21tZXJjZS9pbnZlbnRvcnkvZ2V0L2NvbGxlY3Rpb24nLCBwYXlsb2FkKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSk9PiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgoY29sbGVjdGlvbjogYW55KT0+IG5ldyBDb2xsZWN0aW9uKGNvbGxlY3Rpb24pKSkpO1xuICAgIH1cblxuICAgIGdldEZpbHRlcmVkUHJvZHVjdChjb2xsZWN0aW9uSWRzOiBzdHJpbmdbXSwgY2F0ZWdvcnlJZHM6IHN0cmluZ1tdLCBzZWFyY2hUZXh0OiBzdHJpbmcsIG1pblByaWNlOiBudW1iZXIsIG1heFByaWNlOiBudW1iZXIsIHNvcnRCeTogc3RyaW5nLCBwYWdlTm86IG51bWJlciwgc2l6ZTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgICAgICAgIFwiYnVzaW5lc3NJZFwiOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXG4gICAgICAgICAgICBcInN1YkluZHVzdHJ5SWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzdWJJbmR1c3RyeUlkXCIpLFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uSWRcIjogY29sbGVjdGlvbklkcyxcbiAgICAgICAgICAgIFwiY2F0ZWdvcnlJZFwiOiBjYXRlZ29yeUlkcyxcbiAgICAgICAgICAgIFwic2VhcmNoVGV4dFwiOiBzZWFyY2hUZXh0LFxuICAgICAgICAgICAgXCJtaW5QcmljZVwiOiBtaW5QcmljZSA/PyAwLFxuICAgICAgICAgICAgXCJtYXhQcmljZVwiOiBtYXhQcmljZSA/PyAwLFxuICAgICAgICAgICAgXCJzb3J0QnlcIjogc29ydEJ5LFxuICAgICAgICAgICAgXCJwYWdlTm9cIjogcGFnZU5vLFxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOiBzaXplLFxuICAgICAgICAgICAgXCJ1c2VySWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwZXJJZFwiKSA/PyBudWxsLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb3VudDogcmVzcG9uc2UuZGF0YS5jb3VudCxcbiAgICAgICAgICAgICAgICBkYXRhOiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGdldFByb2R1Y3RCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgICAgICAgIFwiYnVzaW5lc3NJZFwiOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXG4gICAgICAgICAgICBcImNhdGVnb3J5SWRcIjogW2NhdGVnb3J5SWRdLFxuICAgICAgICAgICAgXCJzdWJJbmR1c3RyeUlkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKSxcbiAgICAgICAgICAgIFwicGFnZU5vXCI6IDAsXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6IDEwLFxuICAgICAgICAgICAgXCJ1c2VySWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwZXJJZFwiKSA/PyBudWxsLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb3VudDogcmVzcG9uc2UuY291bnQsXG4gICAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YS5kYXRhPy5tYXAoKHByb2R1Y3Q6IGFueSk9PiBuZXcgUHJvZHVjdChwcm9kdWN0KSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBnZXRQcm9kdWN0QnlDb2xsZWN0aW9uSWQoY29sbGVjdGlvbklkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xuICAgICAgICAgICAgXCJidXNpbmVzc0lkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSxcbiAgICAgICAgICAgIFwiY29sbGVjdGlvbklkXCI6IFtjb2xsZWN0aW9uSWRdLFxuICAgICAgICAgICAgXCJzdWJJbmR1c3RyeUlkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKSxcbiAgICAgICAgICAgIFwicGFnZU5vXCI6IDAsXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6IDEwLFxuICAgICAgICAgICAgXCJ1c2VySWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwZXJJZFwiKSA/PyBudWxsLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb3VudDogcmVzcG9uc2UuY291bnQsXG4gICAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YS5kYXRhPy5tYXAoKHByb2R1Y3Q6IGFueSk9PiBuZXcgUHJvZHVjdChwcm9kdWN0KSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGFkZFJldmlldyhwYXlsb2FkOiBSZXZpZXcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvYWRkL3Jldmlld2AsIHBheWxvYWQpO1xuICAgIH1cbiAgICBnZXRBbGxSZXZpZXdzKHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvZmlsdGVyL3Jldmlld3M/cHJvZHVjdElkPSR7cHJvZHVjdElkfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGdlbmVyYXRlT1RQKG1vYmlsZTogc3RyaW5nLCBjb3VudHJ5Q29kZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGJ1c2luZXNzSWQ6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSA/PyBcIlwiO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9vdHAvdHJpZ2dlcj9tb2JpbGU9JHttb2JpbGV9JmNvdW50cnlDb2RlPSR7Y291bnRyeUNvZGV9JmJ1c2luZXNzSWQ9JHtidXNpbmVzc0lkfWAsIG51bGwpO1xuICAgIH1cbiAgICB2ZXJpZnlPVFAobW9iaWxlOiBzdHJpbmcsIG90cDogc3RyaW5nLCBkZXZpY2VJbmZvOiBEZXZpY2VJbmZvKSB7XG4gICAgICAgIGNvbnN0IGJ1c2luZXNzSWQ6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSA/PyBcIlwiO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91c2VyL2F1dGhlbnRpY2F0ZT9tb2JpbGU9JHttb2JpbGV9Jm90cD0ke290cH0mYnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9YCwgZGV2aWNlSW5mbyk7XG4gICAgfVxuICAgIHJlc2VuZE9UUChtb2JpbGU6IHN0cmluZywgY291bnRyeUNvZGU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvcmVzZW5kP21vYmlsZT0ke21vYmlsZX0mY291bnRyeUNvZGU9JHtjb3VudHJ5Q29kZX0mYnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9YCwgbnVsbCk7XG4gICAgfVxuICAgIGFwcGxpY2FibGVEaXNjb3VudExpc3QoY2FydElkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvZGlzY291bnQtY291cG9uLyR7Y2FydElkfS9hcHBsaWNhYmlsaXR5L2xpc3RgKTtcbiAgICB9XG4gICAgcmVtb3ZlRGlzY291bnRGcm9tQ2FydChjYXJ0SWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci9kaXNjb3VudC1jb3Vwb24vJHtjYXJ0SWR9L2NhcnQvcmVtb3ZlYCwgbnVsbCk7XG4gICAgfVxuXG4gICAgYWRkSXRlbVRvREIodXNlckNhcnQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvY2FydGAsIHVzZXJDYXJ0KTtcbiAgICB9XG4gICAgZ2V0VXNlckl0ZW1zKHVzZXJJZDogc3RyaW5nLCBjYXJ0VHlwZTogJ0NBUlQnIHwgJ1dJU0hMSVNUJykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci9jYXJ0P3VzZXJJZD0ke3VzZXJJZH0mY2FydFR5cGU9JHtjYXJ0VHlwZX1gKTtcbiAgICB9XG4gICAgcGxhY2VPcmRlcihjYXJ0SWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvb3JkZXI/Y2FydElkPSR7Y2FydElkfWAsIG51bGwpO1xuICAgIH1cbiAgICBnZXRVc2VySW5mbyh1c2VySWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91c2VyL2dldC91c2VyP3VzZXJJZD0ke3VzZXJJZH1gLCBudWxsKTtcbiAgICB9XG4gICAgYWRkVXNlckFkZHJlc3ModXNlcjogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvdXBkYXRlL3VzZXJgLCB1c2VyKTtcbiAgICB9XG4gICAgdXBkYXRlUHJvZmlsZShwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci91cGRhdGUvdXNlcmAsIHBheWxvYWQpO1xuICAgIH1cbiAgICBnZXRVc2VyT3JkZXJzKHBheWxvYWQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci91c2VyL29yZGVyYCwgcGF5bG9hZCk7XG4gICAgfVxuICAgIHRvZ2dsZUl0ZW1DYXJ0VG9GYXYoKSB7XG5cbiAgICB9XG4gICAgbW92ZVdpc2hsaXN0VG9DYXJ0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91cGRhdGUvY2FydGApO1xuICAgIH1cbiAgICBnZXRVc2VyV2lzaGxpc3QodXNlcklkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvY2FydD91c2VySWQ9JHt1c2VySWR9JmNhcnRUeXBlPVdJU0hMSVNUYClcbiAgICB9XG4gICAgbW92ZUl0ZW1Ub0NhcnQodXNlcklkOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci91cGRhdGUvY2FydD91c2VySWQ9JHt1c2VySWR9YCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgLy8gUGF5bWVudFxuICAgIGNyZWF0ZVBheW1lbnRUb2tlbihwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuRUNPTU1FUkNFX1VSTCArIGBwYXltZW50L29yZGVyYCwgcGF5bG9hZCk7XG4gICAgfVxuICAgIHJlZnVuZFBheW1lbnQob3JkZXJJZDogc3RyaW5nLCBwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3BheW1lbnQvcmVmdW5kL2Jhbms/b3JkZXJJZD0ke29yZGVySWR9YCwgcGF5bG9hZCk7XG4gICAgfVxuICAgIGNoZWNrUGF5bWVudFN0YXR1cyhwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuRUNPTU1FUkNFX1VSTCArIGBwYXltZW50L3N0YXR1c2AsIHBheWxvYWQpO1xuICAgIH1cbiAgICBnZXRSZWNlbnRWaWV3UHJvZHVjdCh1c2VySWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9yZWNlbnRWaWV3P3VzZXJJZD0ke3VzZXJJZH1gLCBudWxsKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSk9PiByZXNwb25zZS5kYXRhPy5tYXAoKHByb2R1Y3Q6IGFueSk9PiBuZXcgUHJvZHVjdChwcm9kdWN0KSkpKTs7XG4gICAgfVxuXG4gICAgZ2V0TG9jYXRpb25CeVBpbkNvZGUocGluY29kZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGBodHRwczovL2FwaS5wb3N0YWxwaW5jb2RlLmluL3BpbmNvZGUvJHtwaW5jb2RlfWApLnBpcGUobWFwKChsb2NhdGlvbnM6IGFueSk9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBpbmNvZGVMb2NhdGlvbihsb2NhdGlvbnMpO1xuICAgICAgICB9KSlcbiAgICB9XG4gICAgZ2V0TG9jYXRpb25CeVBpbkNvZGVJbnRlcm5hdGlvbmFsKHBpbmNvZGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgaHR0cHM6Ly9hcGkuemlwcG9wb3RhbS51cy9pbi8ke3BpbmNvZGV9YCk7XG4gICAgfVxuXG4gICAgc2VuZFNpZ251cE9UUChwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvc2lnbnVwL290cC90cmlnZ2VyYCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgdmVyaWZ5U2lnbnVwT1RQKHBheWxvYWQ6IGFueSkge1xuICAgICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gJyc7XG4gICAgICAgIC8vIHBheWxvYWRbXCJidXNpbmVzc0lkXCJdID0gYnVzaW5lc3NJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9hdXRoZW50aWNhdGUvc2lnbnVwYCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgc2lnbmluUGFzc3dvcmQocGFzc0RhdGE6IGFueSl7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvYXV0aGVudGljYXRlL2xvZ2luYCwgcGFzc0RhdGEpO1xuICAgIH1cblxuICAgIGNyZWF0ZUFwcG9pbnRtZW50KGRhdGE6YW55KXtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2FkZGAsIGRhdGEpXG4gICAgfVxuXG4gICAgZ2V0QWxsU2VydmljZXMoYnVzaW5lc3NJZDphbnksc2l6ZTpudW1iZXIscGFnZTpudW1iZXIpe1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9zZXJ2aWNlP2J1c2luZXNzSWQ9JHtidXNpbmVzc0lkfSZzaXplPSR7c2l6ZX0mcGFnZT0ke3BhZ2V9YFxuICAgICAgICApXG4gICAgfVxuXG4gICAgZ2V0QWxsTG9jYXRpb24oYnVzaW5lc3NJZDphbnksc2l6ZTpudW1iZXIscGFnZTpudW1iZXIpe1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9sb2NhdGlvbj9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mc2l6ZT0ke3NpemV9JnBhZ2U9JHtwYWdlfWBcbiAgICAgICAgKVxuICAgIH1cblxuICAgIGdldEFsbFN0YWZmKGJ1c2luZXNzSWQ6YW55LHNpemU6bnVtYmVyLHBhZ2U6bnVtYmVyLCBsb2NhdGlvbklkOiBzdHJpbmcsIHNlcnZpY2VJZDogc3RyaW5nKXtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9sb2NhdGlvbj9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mc2l6ZT0ke3NpemV9JnBhZ2U9JHtwYWdlfSZsb2NhdGlvbklkPSR7bG9jYXRpb25JZH0mc2VydmljZUlkPSR7c2VydmljZUlkfWBcbiAgICAgIClcbiAgICB9XG5cblxuICAgIGdldEFsbFRpbWVTbG90cyhsb2NhdGlvbklkOmFueSxkYXRlOkRhdGUpe1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy90aW1lc2xvdHM/bG9jYXRpb25JZD0ke2xvY2F0aW9uSWR9JmRhdGU9JHtkYXRlfWBcbiAgICAgICAgKVxuICAgIH1cblxuICAgIGdldEJsb2dCeUJ1c2luZXNzSWQoKSB7XG4gICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICB0aGlzLkJBU0VfVVJMICsgYGJ1c2luZXNzL2Jsb2cvYnkvYnVzaW5lc3M/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9YFxuICAgICAgKVxuICAgIH1cblxuICAgIGdldEFsbFNlcnZpY2UoYnVzaW5lc3NJZDphbnksc2l6ZTphbnkscGFnZTphbnksIGxvY2F0aW9uSWQ/OiBhbnkpe1xuICAgICAgaWYoIWxvY2F0aW9uSWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICAgICAgdGhpcy5CQVNFX1VSTCArIGBjcm0vYXBwb2ludG1lbnQvY29uZmlnL3NlcnZpY2U/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9JnNpemU9JHtzaXplfSZwYWdlPSR7cGFnZX1gXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9zZXJ2aWNlP2J1c2luZXNzSWQ9JHtidXNpbmVzc0lkfSZzaXplPSR7c2l6ZX0mcGFnZT0ke3BhZ2V9JmxvY2F0aW9uSWQ9JHtsb2NhdGlvbklkfWBcbiAgICAgICAgKVxuXG4gICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QWxsU3RhZmZCeUxvY2F0aW9uKGJ1c2luZXNzSWQ6YW55LHNpemU6bnVtYmVyLHBhZ2U6bnVtYmVyLCBsb2NhdGlvbklkOiBzdHJpbmcsIHNlcnZpY2VJZDogc3RyaW5nKXtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9zdGFmZj9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mc2l6ZT0ke3NpemV9JnBhZ2U9JHtwYWdlfSZsb2NhdGlvbklkPSR7bG9jYXRpb25JZH0mc2VydmljZUlkPSR7c2VydmljZUlkfWBcbiAgICAgIClcbiAgICB9XG5cbiAgICBnZXRBdmFpbGFibGVTbG90cyhkYXRhOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxuICAgICAgICB0aGlzLkJBU0VfVVJMICsgYGNybS9hcHBvaW50bWVudC9jb25maWcvYXZhaWxhYmxlL3RpbWVzbG90c2AsIGRhdGFcbiAgICAgIClcbiAgICB9XG5cbiAgICBnZXRTZWxlY3RlZExpc3RGaWVsZHMoYklkOmFueSxzaG93SW5FcnA6YW55LGZvcm1OYW1lOmFueSl7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgdGhpcy5DTUlTX1VSTCsgYGNybS9maWVsZHM/YnVzaW5lc3NJZD0ke2JJZH0mc3RhdHVzPXRydWUmc2hvd0luRXJwPSR7c2hvd0luRXJwfSZpc1BhZ2luYXRpb249ZmFsc2UmZmllbGRDYXRlZ29yeT0ke2Zvcm1OYW1lfWBcbiAgICAgIClcbiAgICB9XG5cbiAgICBjcmVhdGVSZWdpc3RyYXRpb24ocGF5bG9hZDogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3JlZ2lzdHJhdGlvbi8/ZW5xdWlyeUlkPSR7cGF5bG9hZD8uZW5xdWlyeUlkIHx8ICcnfWAsIHBheWxvYWRcbiAgICAgIClcbiAgICB9XG5cbiAgICBjcmVhdGVBZG1pc3Npb24ocGF5bG9hZDogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3JlZ2lzdHJhdGlvbi9hZG1pc3Npb24/cmVnaXN0cmF0aW9uSWQ9JHtwYXlsb2FkPy5yZWdpc3RyYXRpb25JZCB8fCAnJ31gLCBwYXlsb2FkXG4gICAgICApXG4gICAgfVxuXG4gICAgY3JlYXRlUGF5bWVudEZvckFkbWlzc2lvbihwYXlsb2FkOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgICAgdGhpcy5DTUlTX1VSTCArIGBjcm0vcmVnaXN0cmF0aW9uL2FkbWlzc2lvbi9wYXltZW50YCwgcGF5bG9hZFxuICAgICAgKVxuICAgIH1cblxuICAgIGNyZWF0ZVJlZ2lzdHJhdGlvbkZvclBheW1lbnQocGF5bG9hZDogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3JlZ2lzdHJhdGlvbi9yZWdpc3RyYXRpb24vcGF5bWVudGAsIHBheWxvYWRcbiAgICAgIClcbiAgICB9XG5cblxuICBnZXRTdWJzY3JpcHRpb25Gb3JGZWVTdHJ1Y3R1cmUoZ3JhZGVJZDogYW55KSB7XG4gICAgY29uc3QgYnVzaW5lc3NJZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0lkJyk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3N1YnNjcmlwdGlvbi9wbGFuL2xpc3Q/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9JmdyYWRlSWQ9JHtncmFkZUlkfWBcbiAgICApXG4gIH1cblxuICBnZXRGZWVTdHJ1Y3R1cmUocGF5bG9hZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoXG4gICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9mZWUvc3RydWN0dXJlYCwgcGF5bG9hZFxuICAgIClcbiAgfVxuXG4gIGdldEFsbERvY3VtZW50KHBheWxvYWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxuICAgICAgdGhpcy5DTUlTX1VSTCArICBgY3JtL21hc3Rlci9kb2N1bWVudFR5cGUvZmlsdGVyYCwgcGF5bG9hZClcbiAgfVxuXG4gIGdldExlYWRCeUlkKGxlYWRJZDphbnkpe1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgdGhpcy5DTUlTX1VSTCtgY3JtL2xlYWRzL2dldC1vbmU/bGVhZElkPSR7bGVhZElkfWBcbiAgICApXG4gIH1cblxuICBnZXRSZWdpc3RyYXRpb25MaXN0KHBheWxvYWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxuICAgICAgdGhpcy5DTUlTX1VSTCArIGBjcm0vcmVnaXN0cmF0aW9uL2dldEFsbGAsIHBheWxvYWRcbiAgICApXG4gIH1cblxuICAgIGdldEZpZWxkc1RvRGlzcGxheShmaWVsZHNMaXN0OiBhbnlbXSkge1xuICAgICAgbGV0IG1hcDogYW55ID0ge307XG5cbiAgICAgIGZvcihsZXQgZmllbGQgb2YgZmllbGRzTGlzdCkge1xuICAgICAgICBmb3IobGV0IGZpZWxkR3JvdXAgb2YgZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICAgIGlmKCFmaWVsZEdyb3VwLmZpZWxkU3RlcElkKVxuICAgICAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgICBsZXQgc3RlcE5hbWUgPSBmaWVsZEdyb3VwLmZpZWxkU3RlcE5hbWUgPyBmaWVsZEdyb3VwLmZpZWxkU3RlcE5hbWUgOiAndW5kZWZpbmVkJztcbiAgICAgICAgICBsZXQgZ3JvdXBOYW1lID0gZmllbGRHcm91cC5maWVsZEdyb3VwTmFtZTtcblxuICAgICAgICAgIGlmKCFtYXBbc3RlcE5hbWVdKSB7XG4gICAgICAgICAgICBtYXBbc3RlcE5hbWVdID0ge307XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmKCFtYXBbc3RlcE5hbWVdW2dyb3VwTmFtZV0pIHtcbiAgICAgICAgICAgIG1hcFtzdGVwTmFtZV1bZ3JvdXBOYW1lXSA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmaWVsZFsnZmllbGRTdGVwSWQnXSA9IGZpZWxkR3JvdXAuZmllbGRTdGVwSWQ7XG4gICAgICAgICAgZmllbGRbJ2ZpZWxkR3JvdXBJZCddID0gZmllbGRHcm91cC5maWVsZEdyb3VwSWQ7XG5cbiAgICAgICAgICBjb25zdCBuZXdGaWVsZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZmllbGQpKTtcbiAgICAgICAgICBtYXBbc3RlcE5hbWVdW2dyb3VwTmFtZV0ucHVzaChuZXdGaWVsZCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9XG59XG4iXX0=
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUF3QyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFpQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBSzVFLE1BQU0sT0FBTyxXQUFXO0lBT3BCLFlBQ3FCLElBQWdCLEVBQ2hCLFlBQTJCO1FBRDNCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWU7UUFQeEMsYUFBUSxHQUFXLDJCQUEyQixDQUFDO1FBQy9DLGtCQUFhLEdBQVcsaUNBQWlDLENBQUM7UUFDMUQsYUFBUSxHQUFXLDJCQUEyQixDQUFDO1FBQy9DLDhCQUF5QixHQUF3QixJQUFJLENBQUM7UUFNM0QsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBQyxFQUFFO1lBQ3BGLElBQUksUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLDJCQUEyQixDQUFDO2dCQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLGlDQUFpQyxDQUFDO1lBQzNELENBQUM7aUJBQ0ksSUFBSSxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsbUNBQW1DLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsNkJBQTZCLENBQUM7WUFDbEQs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QUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzhHQXpYUSxXQUFXO2tIQUFYLFdBQVcsY0FGUixNQUFNOzsyRkFFVCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmliZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBDYXRlZ29yeSwgRXZlbnRzU2VydmljZSwgUHJvZHVjdCwgQ29sbGVjdGlvbiB9IGZyb20gXCIuLi8uLi9wdWJsaWMtYXBpXCI7XG5pbXBvcnQgeyBSZXZpZXcgfSBmcm9tIFwiLi4vZWNvbW1lcmNlL3N0eWxlcy9yZXZpZXcubW9kYWxcIjtcbmltcG9ydCB7IERldmljZUluZm8gfSBmcm9tIFwiLi4vZWNvbW1lcmNlL3N0eWxlcy91c2VyLm1vZGFsXCI7XG5pbXBvcnQgeyBQaW5Db2RlTG9jYXRpb25JbnRlciB9IGZyb20gXCIuLi9lY29tbWVyY2Uvc3R5bGVzL1BpbmNvZGVMb2NhdGlvbkludGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBQaW5jb2RlTG9jYXRpb24gfSBmcm9tIFwiLi4vZWNvbW1lcmNlL3N0eWxlcy9QaW5jb2RlTG9jYXRpb24ubW9kZWxcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVzdFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBCQVNFX1VSTDogc3RyaW5nID0gXCJodHRwczovL2Rldi1hcGkuc2ltcG8uYWkvXCI7XG4gICAgcHJpdmF0ZSBFQ09NTUVSQ0VfVVJMOiBzdHJpbmcgPSBcImh0dHBzOi8vZGV2LWVjb21tZXJjZS5zaW1wby5haS9cIjtcbiAgICBwcml2YXRlIENNSVNfVVJMOiBzdHJpbmcgPSBcImh0dHBzOi8vZGV2LWFwaS5zaW1wby5haS9cIjtcbiAgICBwcml2YXRlIGVudmlyb25tZW50VHlwZVN1YnNjcmliZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2VcbiAgICApIHtcbiAgICAgICB0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXIgPSB0aGlzLmV2ZW50U2VydmljZS5lbnZpcm9ubWVudFR5cGUuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgPT0gXCJERVZcIikge1xuICAgICAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgPSBcImh0dHBzOi8vZGV2LWFwaS5zaW1wby5haS9cIjtcbiAgICAgICAgICAgICAgICB0aGlzLkVDT01NRVJDRV9VUkwgPSBcImh0dHBzOi8vZGV2LWVjb21tZXJjZS5zaW1wby5haS9cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHJlc3BvbnNlID09IFwiU1RBR0VcIikge1xuICAgICAgICAgICAgICAgIHRoaXMuRUNPTU1FUkNFX1VSTCA9IFwiaHR0cHM6Ly9zdGFnZS1lY29tbWVyY2Uuc2ltcG8uYWkvXCI7XG4gICAgICAgICAgICAgICAgdGhpcy5CQVNFX1VSTCA9IFwiaHR0cHM6Ly9zdGF0ZS1hcGkuc2ltcG8uYWkvXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLkJBU0VfVVJMID0gXCJodHRwczovL2FwaS1jbWlzLnRlanNvZnQuY29tL1wiO1xuICAgICAgICAgICAgICAgIHRoaXMuRUNPTU1FUkNFX1VSTCA9IFwiaHR0cHM6Ly9wcm9kLWVjb21tZXJjZS5zaW1wby5haS9cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXIpXG4gICAgICAgICAgICB0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0RmVhdHVyZWRQcm9kdWN0KGNvbGxlY3Rpb25JZDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgICAgICBsZXQgc3ViSW5kdXN0cnlJZDogc3RyaW5nIHwgbnVsbCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKTtcbiAgICAgICAgaWYgKCFzdWJJbmR1c3RyeUlkKVxuICAgICAgICAgICAgc3ViSW5kdXN0cnlJZCA9IFwiXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3Byb2R1Y3QvY29sbGVjdGlvbi9pZD9jb2xsZWN0aW9uSWQ9JHtjb2xsZWN0aW9uSWQgfHwgJyd9JnN1YkluZHVzdHJ5SWQ9JHtzdWJJbmR1c3RyeUlkIHx8ICcnfSZpc0VuZFVzZXI9dHJ1ZWApLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHJlc3BvbnNlLmRhdGE/Lm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKSkpO1xuICAgIH1cbiAgICBnZXRDYXRlZ29yaWVzQnlDb2xsZWN0aW9uSWQoY29sbGVjdGlvbklkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvaW52ZW50b3J5L2NhdGVnb3J5L2NvbGxlY3Rpb25JZD9jb2xsZWN0aW9uSWQ9JHtjb2xsZWN0aW9uSWR9YCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YT8ubWFwKChjYXRlZ29yeTogYW55KT0+IG5ldyBDYXRlZ29yeShjYXRlZ29yeSkpKSk7XG4gICAgfVxuICAgIGdldFByb2R1Y3REZXRhaWxzKHByb2R1Y3RJZDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xuICAgICAgICAgICAgcGFnZU5vOiAwLFxuICAgICAgICAgICAgcGFnZVNpemU6IDEsXG4gICAgICAgICAgICBpdGVtSWQ6IHByb2R1Y3RJZCxcbiAgICAgICAgICAgIHN1YkluZHVzdHJ5SWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKSxcbiAgICAgICAgICAgIHVzZXJJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwZXJJZFwiKSA/PyBudWxsLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YS5kYXRhLm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKSkpO1xuICAgIH1cbiAgICBnZXRDb2xsZWN0aW9uQnlJZHMoY29sbGVjdGlvbklkczogc3RyaW5nW10pIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgICAgIGlkczogY29sbGVjdGlvbklkc1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL2ludmVudG9yeS9jb2xsZWN0aW9uL2xpc3QvYWxsYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YT8ubWFwKChjb2xsZWN0aW9uOiBhbnkpPT4gbmV3IENvbGxlY3Rpb24oY29sbGVjdGlvbikpKSk7XG4gICAgfVxuXG4gICAgZ2V0QWxsQ2F0ZWdvcmllcygpIHtcblxuICAgICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcbiAgICAgICAgY29uc3Qgc3ViSW5kdXN0cnlJZDogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzdWJJbmR1c3RyeUlkXCIpID8/IFwiXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL2ludmVudG9yeS9mZWF0dXJlZD9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mc3ViSWQ9JHtzdWJJbmR1c3RyeUlkfWApLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHJlc3BvbnNlLmRhdGE/Lm1hcCgoY2F0ZWdvcnk6IGFueSk9PiBuZXcgQ2F0ZWdvcnkoY2F0ZWdvcnkpKSkpO1xuICAgIH1cbiAgICBnZXRBbGxDb2xsZWN0aW9ucygpIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xuICAgICAgICAgICAgcGFnZU5vOiAwLFxuICAgICAgICAgICAgcGFnZVNpemU6IDEwLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCIsXG4gICAgICAgICAgICBidXNpbmVzc0lkOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIilcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgJ2Vjb21tZXJjZS9pbnZlbnRvcnkvZ2V0L2NvbGxlY3Rpb24nLCBwYXlsb2FkKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSk9PiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgoY29sbGVjdGlvbjogYW55KT0+IG5ldyBDb2xsZWN0aW9uKGNvbGxlY3Rpb24pKSkpO1xuICAgIH1cblxuICAgIGdldEZpbHRlcmVkUHJvZHVjdChjb2xsZWN0aW9uSWRzOiBzdHJpbmdbXSwgY2F0ZWdvcnlJZHM6IHN0cmluZ1tdLCBzZWFyY2hUZXh0OiBzdHJpbmcsIG1pblByaWNlOiBudW1iZXIsIG1heFByaWNlOiBudW1iZXIsIHNvcnRCeTogc3RyaW5nLCBwYWdlTm86IG51bWJlciwgc2l6ZTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgICAgICAgIFwiYnVzaW5lc3NJZFwiOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXG4gICAgICAgICAgICBcInN1YkluZHVzdHJ5SWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzdWJJbmR1c3RyeUlkXCIpLFxuICAgICAgICAgICAgXCJjb2xsZWN0aW9uSWRcIjogY29sbGVjdGlvbklkcyxcbiAgICAgICAgICAgIFwiY2F0ZWdvcnlJZFwiOiBjYXRlZ29yeUlkcyxcbiAgICAgICAgICAgIFwic2VhcmNoVGV4dFwiOiBzZWFyY2hUZXh0LFxuICAgICAgICAgICAgXCJtaW5QcmljZVwiOiBtaW5QcmljZSA/PyAwLFxuICAgICAgICAgICAgXCJtYXhQcmljZVwiOiBtYXhQcmljZSA/PyAwLFxuICAgICAgICAgICAgXCJzb3J0QnlcIjogc29ydEJ5LFxuICAgICAgICAgICAgXCJwYWdlTm9cIjogcGFnZU5vLFxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOiBzaXplLFxuICAgICAgICAgICAgXCJ1c2VySWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwZXJJZFwiKSA/PyBudWxsLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb3VudDogcmVzcG9uc2UuZGF0YS5jb3VudCxcbiAgICAgICAgICAgICAgICBkYXRhOiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGdldFByb2R1Y3RCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgICAgICAgIFwiYnVzaW5lc3NJZFwiOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXG4gICAgICAgICAgICBcImNhdGVnb3J5SWRcIjogW2NhdGVnb3J5SWRdLFxuICAgICAgICAgICAgXCJzdWJJbmR1c3RyeUlkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKSxcbiAgICAgICAgICAgIFwicGFnZU5vXCI6IDAsXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6IDEwLFxuICAgICAgICAgICAgXCJ1c2VySWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwZXJJZFwiKSA/PyBudWxsLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb3VudDogcmVzcG9uc2UuY291bnQsXG4gICAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YS5kYXRhPy5tYXAoKHByb2R1Y3Q6IGFueSk9PiBuZXcgUHJvZHVjdChwcm9kdWN0KSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBnZXRQcm9kdWN0QnlDb2xsZWN0aW9uSWQoY29sbGVjdGlvbklkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xuICAgICAgICAgICAgXCJidXNpbmVzc0lkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSxcbiAgICAgICAgICAgIFwiY29sbGVjdGlvbklkXCI6IFtjb2xsZWN0aW9uSWRdLFxuICAgICAgICAgICAgXCJzdWJJbmR1c3RyeUlkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKSxcbiAgICAgICAgICAgIFwicGFnZU5vXCI6IDAsXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6IDEwLFxuICAgICAgICAgICAgXCJ1c2VySWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwZXJJZFwiKSA/PyBudWxsLFxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb3VudDogcmVzcG9uc2UuY291bnQsXG4gICAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YS5kYXRhPy5tYXAoKHByb2R1Y3Q6IGFueSk9PiBuZXcgUHJvZHVjdChwcm9kdWN0KSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGFkZFJldmlldyhwYXlsb2FkOiBSZXZpZXcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvYWRkL3Jldmlld2AsIHBheWxvYWQpO1xuICAgIH1cbiAgICBnZXRBbGxSZXZpZXdzKHByb2R1Y3RJZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvZmlsdGVyL3Jldmlld3M/cHJvZHVjdElkPSR7cHJvZHVjdElkfWAsIG51bGwpO1xuICAgIH1cblxuICAgIGdlbmVyYXRlT1RQKG1vYmlsZTogc3RyaW5nLCBjb3VudHJ5Q29kZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGJ1c2luZXNzSWQ6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSA/PyBcIlwiO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9vdHAvdHJpZ2dlcj9tb2JpbGU9JHttb2JpbGV9JmNvdW50cnlDb2RlPSR7Y291bnRyeUNvZGV9JmJ1c2luZXNzSWQ9JHtidXNpbmVzc0lkfWAsIG51bGwpO1xuICAgIH1cbiAgICB2ZXJpZnlPVFAobW9iaWxlOiBzdHJpbmcsIG90cDogc3RyaW5nLCBkZXZpY2VJbmZvOiBEZXZpY2VJbmZvKSB7XG4gICAgICAgIGNvbnN0IGJ1c2luZXNzSWQ6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSA/PyBcIlwiO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91c2VyL2F1dGhlbnRpY2F0ZT9tb2JpbGU9JHttb2JpbGV9Jm90cD0ke290cH0mYnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9YCwgZGV2aWNlSW5mbyk7XG4gICAgfVxuICAgIHJlc2VuZE9UUChtb2JpbGU6IHN0cmluZywgY291bnRyeUNvZGU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvcmVzZW5kP21vYmlsZT0ke21vYmlsZX0mY291bnRyeUNvZGU9JHtjb3VudHJ5Q29kZX0mYnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9YCwgbnVsbCk7XG4gICAgfVxuICAgIGFwcGxpY2FibGVEaXNjb3VudExpc3QoY2FydElkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvZGlzY291bnQtY291cG9uLyR7Y2FydElkfS9hcHBsaWNhYmlsaXR5L2xpc3RgKTtcbiAgICB9XG4gICAgcmVtb3ZlRGlzY291bnRGcm9tQ2FydChjYXJ0SWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci9kaXNjb3VudC1jb3Vwb24vJHtjYXJ0SWR9L2NhcnQvcmVtb3ZlYCwgbnVsbCk7XG4gICAgfVxuXG4gICAgYWRkSXRlbVRvREIodXNlckNhcnQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvY2FydGAsIHVzZXJDYXJ0KTtcbiAgICB9XG4gICAgZ2V0VXNlckl0ZW1zKHVzZXJJZDogc3RyaW5nLCBjYXJ0VHlwZTogJ0NBUlQnIHwgJ1dJU0hMSVNUJykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci9jYXJ0P3VzZXJJZD0ke3VzZXJJZH0mY2FydFR5cGU9JHtjYXJ0VHlwZX1gKTtcbiAgICB9XG4gICAgcGxhY2VPcmRlcihjYXJ0SWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvb3JkZXI/Y2FydElkPSR7Y2FydElkfWAsIG51bGwpO1xuICAgIH1cbiAgICBnZXRVc2VySW5mbyh1c2VySWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91c2VyL2dldC91c2VyP3VzZXJJZD0ke3VzZXJJZH1gLCBudWxsKTtcbiAgICB9XG4gICAgYWRkVXNlckFkZHJlc3ModXNlcjogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvdXBkYXRlL3VzZXJgLCB1c2VyKTtcbiAgICB9XG4gICAgdXBkYXRlUHJvZmlsZShwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci91cGRhdGUvdXNlcmAsIHBheWxvYWQpO1xuICAgIH1cbiAgICBnZXRVc2VyT3JkZXJzKHBheWxvYWQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci91c2VyL29yZGVyYCwgcGF5bG9hZCk7XG4gICAgfVxuICAgIHRvZ2dsZUl0ZW1DYXJ0VG9GYXYoKSB7XG5cbiAgICB9XG4gICAgbW92ZVdpc2hsaXN0VG9DYXJ0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91cGRhdGUvY2FydGApO1xuICAgIH1cbiAgICBnZXRVc2VyV2lzaGxpc3QodXNlcklkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvY2FydD91c2VySWQ9JHt1c2VySWR9JmNhcnRUeXBlPVdJU0hMSVNUYClcbiAgICB9XG4gICAgbW92ZUl0ZW1Ub0NhcnQodXNlcklkOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci91cGRhdGUvY2FydD91c2VySWQ9JHt1c2VySWR9YCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgLy8gUGF5bWVudFxuICAgIGNyZWF0ZVBheW1lbnRUb2tlbihwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuRUNPTU1FUkNFX1VSTCArIGBwYXltZW50L29yZGVyYCwgcGF5bG9hZCk7XG4gICAgfVxuICAgIHJlZnVuZFBheW1lbnQob3JkZXJJZDogc3RyaW5nLCBwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3BheW1lbnQvcmVmdW5kL2Jhbms/b3JkZXJJZD0ke29yZGVySWR9YCwgcGF5bG9hZCk7XG4gICAgfVxuICAgIGNoZWNrUGF5bWVudFN0YXR1cyhwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuRUNPTU1FUkNFX1VSTCArIGBwYXltZW50L3N0YXR1c2AsIHBheWxvYWQpO1xuICAgIH1cbiAgICBnZXRSZWNlbnRWaWV3UHJvZHVjdCh1c2VySWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9yZWNlbnRWaWV3P3VzZXJJZD0ke3VzZXJJZH1gLCBudWxsKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSk9PiByZXNwb25zZS5kYXRhPy5tYXAoKHByb2R1Y3Q6IGFueSk9PiBuZXcgUHJvZHVjdChwcm9kdWN0KSkpKTs7XG4gICAgfVxuXG4gICAgZ2V0TG9jYXRpb25CeVBpbkNvZGUocGluY29kZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGBodHRwczovL2FwaS5wb3N0YWxwaW5jb2RlLmluL3BpbmNvZGUvJHtwaW5jb2RlfWApLnBpcGUobWFwKChsb2NhdGlvbnM6IGFueSk9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBpbmNvZGVMb2NhdGlvbihsb2NhdGlvbnMpO1xuICAgICAgICB9KSlcbiAgICB9XG4gICAgZ2V0TG9jYXRpb25CeVBpbkNvZGVJbnRlcm5hdGlvbmFsKHBpbmNvZGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgaHR0cHM6Ly9hcGkuemlwcG9wb3RhbS51cy9pbi8ke3BpbmNvZGV9YCk7XG4gICAgfVxuXG4gICAgc2VuZFNpZ251cE9UUChwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvc2lnbnVwL290cC90cmlnZ2VyYCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgdmVyaWZ5U2lnbnVwT1RQKHBheWxvYWQ6IGFueSkge1xuICAgICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gJyc7XG4gICAgICAgIC8vIHBheWxvYWRbXCJidXNpbmVzc0lkXCJdID0gYnVzaW5lc3NJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9hdXRoZW50aWNhdGUvc2lnbnVwYCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgc2lnbmluUGFzc3dvcmQocGFzc0RhdGE6IGFueSl7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvYXV0aGVudGljYXRlL2xvZ2luYCwgcGFzc0RhdGEpO1xuICAgIH1cblxuICAgIGNyZWF0ZUFwcG9pbnRtZW50KGRhdGE6YW55KXtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2FkZGAsIGRhdGEpXG4gICAgfVxuXG4gICAgZ2V0QWxsU2VydmljZXMoYnVzaW5lc3NJZDphbnksc2l6ZTpudW1iZXIscGFnZTpudW1iZXIpe1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9zZXJ2aWNlP2J1c2luZXNzSWQ9JHtidXNpbmVzc0lkfSZzaXplPSR7c2l6ZX0mcGFnZT0ke3BhZ2V9YFxuICAgICAgICApXG4gICAgfVxuXG4gICAgZ2V0QWxsTG9jYXRpb24oYnVzaW5lc3NJZDphbnksc2l6ZTpudW1iZXIscGFnZTpudW1iZXIpe1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9sb2NhdGlvbj9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mc2l6ZT0ke3NpemV9JnBhZ2U9JHtwYWdlfWBcbiAgICAgICAgKVxuICAgIH1cblxuICAgIGdldEFsbFN0YWZmKGJ1c2luZXNzSWQ6YW55LHNpemU6bnVtYmVyLHBhZ2U6bnVtYmVyLCBsb2NhdGlvbklkOiBzdHJpbmcsIHNlcnZpY2VJZDogc3RyaW5nKXtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9sb2NhdGlvbj9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mc2l6ZT0ke3NpemV9JnBhZ2U9JHtwYWdlfSZsb2NhdGlvbklkPSR7bG9jYXRpb25JZH0mc2VydmljZUlkPSR7c2VydmljZUlkfWBcbiAgICAgIClcbiAgICB9XG5cblxuICAgIGdldEFsbFRpbWVTbG90cyhsb2NhdGlvbklkOmFueSxkYXRlOkRhdGUpe1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy90aW1lc2xvdHM/bG9jYXRpb25JZD0ke2xvY2F0aW9uSWR9JmRhdGU9JHtkYXRlfWBcbiAgICAgICAgKVxuICAgIH1cblxuICAgIGdldEJsb2dCeUJ1c2luZXNzSWQoKSB7XG4gICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICB0aGlzLkJBU0VfVVJMICsgYGJ1c2luZXNzL2Jsb2cvYnkvYnVzaW5lc3M/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9YFxuICAgICAgKVxuICAgIH1cblxuICAgIGdldEFsbFNlcnZpY2UoYnVzaW5lc3NJZDphbnksc2l6ZTphbnkscGFnZTphbnksIGxvY2F0aW9uSWQ/OiBhbnkpe1xuICAgICAgaWYoIWxvY2F0aW9uSWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICAgICAgdGhpcy5CQVNFX1VSTCArIGBjcm0vYXBwb2ludG1lbnQvY29uZmlnL3NlcnZpY2U/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9JnNpemU9JHtzaXplfSZwYWdlPSR7cGFnZX1gXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9zZXJ2aWNlP2J1c2luZXNzSWQ9JHtidXNpbmVzc0lkfSZzaXplPSR7c2l6ZX0mcGFnZT0ke3BhZ2V9JmxvY2F0aW9uSWQ9JHtsb2NhdGlvbklkfWBcbiAgICAgICAgKVxuXG4gICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QWxsU3RhZmZCeUxvY2F0aW9uKGJ1c2luZXNzSWQ6YW55LHNpemU6bnVtYmVyLHBhZ2U6bnVtYmVyLCBsb2NhdGlvbklkOiBzdHJpbmcsIHNlcnZpY2VJZDogc3RyaW5nKXtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgICAgIHRoaXMuQkFTRV9VUkwgKyBgY3JtL2FwcG9pbnRtZW50L2NvbmZpZy9zdGFmZj9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mc2l6ZT0ke3NpemV9JnBhZ2U9JHtwYWdlfSZsb2NhdGlvbklkPSR7bG9jYXRpb25JZH0mc2VydmljZUlkPSR7c2VydmljZUlkfWBcbiAgICAgIClcbiAgICB9XG5cbiAgICBnZXRBdmFpbGFibGVTbG90cyhkYXRhOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxuICAgICAgICB0aGlzLkJBU0VfVVJMICsgYGNybS9hcHBvaW50bWVudC9jb25maWcvYXZhaWxhYmxlL3RpbWVzbG90c2AsIGRhdGFcbiAgICAgIClcbiAgICB9XG5cbiAgICBnZXRTZWxlY3RlZExpc3RGaWVsZHMoYklkOmFueSxzaG93SW5FcnA6YW55LGZvcm1OYW1lOmFueSl7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgICAgdGhpcy5DTUlTX1VSTCsgYGNybS9maWVsZHM/YnVzaW5lc3NJZD0ke2JJZH0mc3RhdHVzPXRydWUmc2hvd0luRm9ybT0ke3Nob3dJbkVycH0maXNQYWdpbmF0aW9uPWZhbHNlJmZpZWxkQ2F0ZWdvcnk9JHtmb3JtTmFtZX1gXG4gICAgICApXG4gICAgfVxuXG4gICAgY3JlYXRlUmVnaXN0cmF0aW9uKHBheWxvYWQ6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9yZWdpc3RyYXRpb24vP2VucXVpcnlJZD0ke3BheWxvYWQ/LmVucXVpcnlJZCB8fCAnJ31gLCBwYXlsb2FkXG4gICAgICApXG4gICAgfVxuXG4gICAgY3JlYXRlQWRtaXNzaW9uKHBheWxvYWQ6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9yZWdpc3RyYXRpb24vYWRtaXNzaW9uP3JlZ2lzdHJhdGlvbklkPSR7cGF5bG9hZD8ucmVnaXN0cmF0aW9uSWQgfHwgJyd9YCwgcGF5bG9hZFxuICAgICAgKVxuICAgIH1cblxuICAgIGNyZWF0ZVBheW1lbnRGb3JBZG1pc3Npb24ocGF5bG9hZDogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3JlZ2lzdHJhdGlvbi9hZG1pc3Npb24vcGF5bWVudGAsIHBheWxvYWRcbiAgICAgIClcbiAgICB9XG5cbiAgICBjcmVhdGVSZWdpc3RyYXRpb25Gb3JQYXltZW50KHBheWxvYWQ6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9yZWdpc3RyYXRpb24vcmVnaXN0cmF0aW9uL3BheW1lbnRgLCBwYXlsb2FkXG4gICAgICApXG4gICAgfVxuXG5cbiAgZ2V0U3Vic2NyaXB0aW9uRm9yRmVlU3RydWN0dXJlKGdyYWRlSWQ6IGFueSkge1xuICAgIGNvbnN0IGJ1c2luZXNzSWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYnVzaW5lc3NJZCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9zdWJzY3JpcHRpb24vcGxhbi9saXN0P2J1c2luZXNzSWQ9JHtidXNpbmVzc0lkfSZncmFkZUlkPSR7Z3JhZGVJZH1gXG4gICAgKVxuICB9XG5cbiAgZ2V0RmVlU3RydWN0dXJlKHBheWxvYWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxuICAgICAgdGhpcy5DTUlTX1VSTCArIGBjcm0vZmVlL3N0cnVjdHVyZWAsIHBheWxvYWRcbiAgICApXG4gIH1cblxuICBnZXRBbGxEb2N1bWVudChwYXlsb2FkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcbiAgICAgIHRoaXMuQ01JU19VUkwgKyAgYGNybS9tYXN0ZXIvZG9jdW1lbnRUeXBlL2ZpbHRlcmAsIHBheWxvYWQpXG4gIH1cblxuICBnZXRMZWFkQnlJZChsZWFkSWQ6YW55KXtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgIHRoaXMuQ01JU19VUkwrYGNybS9sZWFkcy9nZXQtb25lP2xlYWRJZD0ke2xlYWRJZH1gXG4gICAgKVxuICB9XG5cbiAgZ2V0UmVnaXN0cmF0aW9uTGlzdChwYXlsb2FkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcbiAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3JlZ2lzdHJhdGlvbi9nZXRBbGxgLCBwYXlsb2FkXG4gICAgKVxuICB9XG5cbiAgICBnZXRGaWVsZHNUb0Rpc3BsYXkoZmllbGRzTGlzdDogYW55W10pIHtcbiAgICAgIGxldCBtYXA6IGFueSA9IHt9O1xuXG4gICAgICBmb3IobGV0IGZpZWxkIG9mIGZpZWxkc0xpc3QpIHtcbiAgICAgICAgZm9yKGxldCBmaWVsZEdyb3VwIG9mIGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgICBpZighZmllbGRHcm91cC5maWVsZFN0ZXBJZClcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgICAgbGV0IHN0ZXBOYW1lID0gZmllbGRHcm91cC5maWVsZFN0ZXBOYW1lID8gZmllbGRHcm91cC5maWVsZFN0ZXBOYW1lIDogJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgbGV0IGdyb3VwTmFtZSA9IGZpZWxkR3JvdXAuZmllbGRHcm91cE5hbWU7XG5cbiAgICAgICAgICBpZighbWFwW3N0ZXBOYW1lXSkge1xuICAgICAgICAgICAgbWFwW3N0ZXBOYW1lXSA9IHt9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZighbWFwW3N0ZXBOYW1lXVtncm91cE5hbWVdKSB7XG4gICAgICAgICAgICBtYXBbc3RlcE5hbWVdW2dyb3VwTmFtZV0gPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZmllbGRbJ2ZpZWxkU3RlcElkJ10gPSBmaWVsZEdyb3VwLmZpZWxkU3RlcElkO1xuICAgICAgICAgIGZpZWxkWydmaWVsZEdyb3VwSWQnXSA9IGZpZWxkR3JvdXAuZmllbGRHcm91cElkO1xuXG4gICAgICAgICAgY29uc3QgbmV3RmllbGQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGZpZWxkKSk7XG4gICAgICAgICAgbWFwW3N0ZXBOYW1lXVtncm91cE5hbWVdLnB1c2gobmV3RmllbGQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtYXA7XG4gICAgfVxufVxuIl19
@@ -4018,7 +4018,7 @@ class RestService {
4018
4018
  return this.http.put(this.BASE_URL + `crm/appointment/config/available/timeslots`, data);
4019
4019
  }
4020
4020
  getSelectedListFields(bId, showInErp, formName) {
4021
- return this.http.get(this.CMIS_URL + `crm/fields?businessId=${bId}&status=true&showInErp=${showInErp}&isPagination=false&fieldCategory=${formName}`);
4021
+ return this.http.get(this.CMIS_URL + `crm/fields?businessId=${bId}&status=true&showInForm=${showInErp}&isPagination=false&fieldCategory=${formName}`);
4022
4022
  }
4023
4023
  createRegistration(payload) {
4024
4024
  return this.http.post(this.CMIS_URL + `crm/registration/?enquiryId=${payload?.enquiryId || ''}`, payload);
@@ -9443,7 +9443,7 @@ class RegistrationFormComponent extends BaseSection {
9443
9443
  return response;
9444
9444
  }
9445
9445
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: RegistrationFormComponent, deps: [{ token: RestService }, { token: i2$3.MatSnackBar }, { token: EventsService }, { token: i2$2.ActivatedRoute }, { token: i1.DomSanitizer }, { token: ImageUplaodService }], target: i0.ɵɵFactoryTarget.Component }); }
9446
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: RegistrationFormComponent, isStandalone: true, selector: "simpo-registration-form", inputs: { data: "data", index: "index", edit: "edit", nextComponentColor: "nextComponentColor" }, usesInheritance: true, ngImport: i0, template: "<section simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\">\n <div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">\n <div #mainContainer class=\"rowFlex\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\"\n [simpoBorder]=\"styles?.border\">\n <div class=\"main-section\"\n [ngClass]=\"{'justify-content-md-start': styles?.layout?.align === 'left' , 'justify-content-md-end': styles?.layout?.align === 'right'}\"\n [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\n <div class=\"body-section\">\n <div [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\n <div>\n <simpo-text-element [textData]=\"content?.inputText?.[0]?.value\" [textLabel]=\"content?.inputText?.[0]?.label\"></simpo-text-element>\n </div>\n <div class=\"d-flex gap-2 d-md-flex mt-15\" *ngIf=\"data?.action?.display\" [ngClass]=\"[\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\n ]\">\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n <section class=\"main-section\">\n <div *ngIf=\"formStatus != 'REGISTERED' && formStatus != 'ADMITTED'\">\n <div class=\"subTabs_section\">\n <div class=\"list_tabs d-flex align-items-center\">\n <ng-container *ngFor=\"let key of Object.keys(fieldData)\">\n <div class=\"single_tab cursor-pointer\" (click)=\"selectedKey = key\"\n [ngClass]=\"selectedKey === key ? 'single_tab_active' : 'single_tab'\">\n {{key | titlecase}}\n </div>\n </ng-container>\n <div class=\"single_tab cursor-pointer\" (click)=\"selectedKey = 'Document'\" *ngIf=\"data?.sectionType === 'admissionForm'\"\n [ngClass]=\"selectedKey === 'Document' ? 'single_tab_active' : 'single_tab'\">\n Document\n </div>\n <div class=\"single_tab cursor-pointer\" (click)=\"redirectToPayment()\"\n *ngIf=\"data?.sectionType === 'admissionForm'\"\n [ngClass]=\"selectedKey === 'Payment' ? 'single_tab_active' : 'single_tab'\">\n Payment\n </div>\n </div>\n </div>\n\n <div class=\"main-content\">\n <ng-container *ngFor=\"let group of fieldData[selectedKey] ? Object.keys(fieldData[selectedKey]) : [];let groupIndex = index\">\n <div class=\"body\" *ngIf=\"group !== 'Backup Contact'\">\n <div class=\"list_tabs backToLeads d-flex align-items-center\">\n {{group}}\n </div>\n\n <ng-container *ngIf=\"groupIndex == 0 && Object.keys(fieldData)[0] === selectedKey\">\n <div class=\"image-box\" *ngIf=\"!payload.imgUrl\">\n <img class=\"dummy-image\" src=\"../../../../../../../../../assets/images/master/add-image.svg\"\n (click)=\"fileInput.click()\" alt=\"\">\n <div class=\"image_box\">\n <span class=\"fc_browse_btn\" id=\"display_browse_btn\" (click)=\"fileInput.click()\">Click to\n upload</span>\n </div>\n </div>\n <input style=\"display: none;\" id=\"vendorImage\" type=\"file\" name=\"myfile\"\n accept=\"image/x-png,image/jpeg,image/jpg\" (change)=\"updateAdmissionImage($event)\" class=\"pc-btn\"\n id=\"browse_contact_image\" #fileInput />\n\n <div *ngIf=\"payload.imgUrl\" class=\"addedImg\">\n <div class=\"uploadedImg\">\n <img alt=\"\" [src]=\"ds.bypassSecurityTrustUrl(payload.imgUrl)\">\n </div>\n <div class=\"image-buttons\">\n <div class=\"button\" (click)=\"fileInput.click()\">\n <img src=\"../../../../../../../../../assets/images/blogs/change_image.svg\" alt=\"\">\n Change Image\n </div>\n <div class=\"button delete-change\" (click)=\"deleteImg()\">\n\n <div class=\"delete\">\n <img src=\"./../../../../../../../../../assets/images/blogs/delete_image.svg\" alt=\"\">\n <div>Delete</div>\n </div>\n\n </div>\n </div>\n\n </div>\n </ng-container>\n\n <div class=\"row mt-1\">\n <div class=\"col-md-4 col-12 mt-1\" *ngFor=\"let info of fieldData[selectedKey][group]\">\n <label for=\"\" class=\"label-text\">{{info.fieldLabel}}</label>&nbsp; <span style=\"color: red;\" *ngIf=\"info.required\">*</span> <br>\n <ng-container *ngTemplateOutlet=\"inputData; context: {data: info}\"></ng-container>\n </div>\n </div>\n </div>\n\n <div class=\"body\" *ngIf=\"fieldData[selectedKey].hasOwnProperty('Backup Contact') && studentLiveWith === 'single parent' && groupIndex == 0 && Object.keys(fieldData)[0] === selectedKey\">\n <div class=\"list_tabs backToLeads d-flex align-items-center\">\n Backup Contact (Optional)\n </div>\n\n <div class=\"row mt-1\">\n <div class=\"col-md-12\">\n <label class=\"mtb-15 checkbox-label\">\n <input type=\"checkbox\" name=\"\" id=\"\" [(ngModel)]=\"payload.parentAuthorization\">\n I authorize the school to release the child only to the parent listed above\n </label>\n </div>\n <div class=\"col-md-4 col-12 mt-1\" *ngFor=\"let info of fieldData[selectedKey]['Backup Contact']\">\n <label for=\"\" class=\"label-text\">{{info.fieldLabel}}</label>&nbsp; <span style=\"color: red;\"\n *ngIf=\"info.required\">*</span> <br>\n <ng-container *ngTemplateOutlet=\"inputData; context: {data: info}\"></ng-container>\n </div>\n <div class=\"col-md-4 col-12 mt-1\">\n <label for=\"\" class=\"label-text\">Upload Supporting Document (Optional)</label>\n <div class=\"input-text upload-file\" (click)=\"backUpDocInput.click()\">\n <p>{{backupDocFile ? 'File Uploaded' : 'Upload File'}}</p>\n <mat-icon>cloud_upload</mat-icon>\n </div>\n <input id=\"vendorImage\" type=\"file\" name=\"myfile\" hidden\n accept=\".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/x-png,image/jpeg,image/jpg,.pdf, video/mp4,video/x-matroska,video/x-msvideo,video/quicktime\"\n (change)=\"uploadBackUpDocument($event)\" class=\"pc-btn\"\n id=\"browse_contact_image\" #backUpDocInput />\n </div>\n </div>\n </div>\n\n </ng-container>\n <div class=\"payment-details\" *ngIf=\"selectedKey === 'Document' && data?.sectionType === 'admissionForm'\">\n <simpo-document [documentList]=\"documentList\"></simpo-document>\n </div>\n <div class=\"payment-details\" *ngIf=\"selectedKey === 'Payment' && data?.sectionType === 'admissionForm'\">\n <simpo-payment-details [admissionData]=\"payload\"\n [subscriptionsData]=\"subscriptionsData\" [termPaymentList]=\"termPaymentList\"></simpo-payment-details>\n </div>\n </div>\n\n <div class=\"button-parent\">\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\n <button class=\"button\" (click)=\"submitForm()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\" *ngIf=\"(data?.sectionType === 'admissionForm' && selectedKey == 'Payment') ||\n (data?.sectionType === 'registrationForm' &&\n (Object.keys(fieldData)[Object.keys(fieldData).length - 1] == selectedKey))\"\n [color]=\"data?.styles?.background?.accentColor\">{{button?.content?.label}}</button>\n\n <button class=\"button\" (click)=\"continueAdmission()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\" *ngIf=\"selectedKey != 'Payment' && data?.sectionType === 'admissionForm'\"\n [color]=\"data?.styles?.background?.accentColor\">Continue</button>\n\n <button class=\"button\" (click)=\"continueAdmission()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\"\n *ngIf=\"data?.sectionType === 'registrationForm' && (Object.keys(fieldData)[Object.keys(fieldData).length - 1] != selectedKey)\"\n [color]=\"data?.styles?.background?.accentColor\">Continue</button>\n </ng-container>\n </div>\n </div>\n\n <div class=\"emptyText\" *ngIf=\"formStatus == 'REGISTERED' || formStatus == 'ADMITTED'\">\n <img [src]=\"content?.image?.url\" alt=\"\" *ngIf=\"content?.image?.showImage\">\n <div class=\"heading-large\" [innerHtml]=\"content?.inputText?.[1]?.value\"></div>\n </div>\n </section>\n\n <ng-template #inputData let-field=\"data\">\n <div *ngIf=\"field.dataType == 'IMAGE'\">\n <div class=\"image-box\">\n <img class=\"dummy-image\" src=\"../../../../../../../../../assets/images/master/add-image.svg\"\n (click)=\"fileInput.click()\" alt=\"\">\n <div class=\"d-flex align-items-center\">\n <span class=\"fc_browse_btn\" id=\"display_browse_btn\" (click)=\"fileInput.click()\">Click to\n upload</span>\n </div>\n </div>\n <input style=\"display: none;\" id=\"vendorImage\" type=\"file\" name=\"myfile\" accept=\"image/x-png,image/jpeg,image/jpg\"\n (change)=\"updateAdmissionImage($event)\" class=\"pc-btn\" id=\"browse_contact_image\" #fileInput />\n </div>\n <div *ngIf=\"field.dataType === 'TEXT'\">\n <input type=\"text\" class=\"input-text\" placeholder=\"enter value\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'NUMBER'\">\n <input type=\"number\" class=\"input-text\" placeholder=\"enter value\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'MONEY'\">\n <input type=\"text\" class=\"input-text\" placeholder=\"enter value\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'DATE'\">\n <input type=\"date\" class=\"input-text\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'DROPDOWN'\" class=\"admission\">\n <mat-form-field class=\"input-text\" appearance=\"outline\">\n <mat-select class=\"inputStyle\" placeholder=\"--Select--\" [(ngModel)]=\"field.fieldValue\" [multiple]=\"field.multipleSelection\">\n <ng-container *ngIf=\"(field?.value?.length || 0) > 0\">\n <mat-option *ngFor=\"let item of field.value\" [value]=\"item?.value\" (click)=\"masterDropdownValueChange(item, field)\">{{item.label}}</mat-option>\n </ng-container>\n <ng-container *ngIf=\"(field?.value?.length || 0) == 0\">\n <mat-option *ngFor=\"let item of field.sourceData[field.dataSourceType]\"\n (click)=\"inputFieldChange(item, field)\" [value]=\"item?.name\">{{item.name}}</mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </div>\n <div *ngIf=\"field.dataType === 'CHECKBOX'\">\n <ng-container *ngIf=\"(field?.value?.length || 0) > 0\">\n <div class=\"form-check mb-5\" *ngFor=\"let data of field.value\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"flexCheckChecked\" [(ngModel)]=\"data.checked\">\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\n {{data.label}}\n </label>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"(field?.value?.length || 0) == 0\">\n <div class=\"form-check mb-5\" *ngFor=\"let data of field.sourceData[field.dataSourceType]\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"flexCheckChecked\" [(ngModel)]=\"data.checked\">\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\n {{data.name}}\n </label>\n </div>\n </ng-container>\n </div>\n </ng-template>\n\n\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n</section>\n", styles: [".total_container{height:auto;position:relative}.body-section{padding:4% 15px}.button-section{margin-top:15px}.clipPath{clip-path:polygon(0% 100%,50% 0%,100% 100%);height:100px;background-color:#00f}.hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.mt-15{margin-top:15px}@media only screen and (max-width: 475px){.d-flex{justify-content:center;margin-bottom:25px}}.main-section{width:100%;overflow-y:hidden}.subTabs_section{padding:1rem 5rem;height:12vh}.active_route_section{height:89%;border:1px solid #0000000F;padding:15px 20px;background-color:#fff;border-radius:6px}.active_route_section_normal{background-color:#f6f6f6;border:none;padding:10px 4rem}.list_tabs{border:1px solid #0000001A;background-color:#ffffffe5;padding:10px;border-radius:6px;gap:10px;height:50px}.single_tab{color:#0e233c99;font-size:14px;font-weight:500;font-family:interReg;padding:10px 20px}.single_tab_active{width:max-content;height:32px;background-color:#0015800a;display:flex;align-items:center;font-weight:600;padding:10px 20px;border-radius:4px;color:#0e233c}.align-items-center{align-items:center}.header{height:8vh;padding:10px;border-bottom:2px solid rgba(0,0,0,.06);display:flex}.p-5{padding:5rem}.backToLeads{color:#000!important}.body{margin:1rem 5rem 0rem;box-shadow:#00000029 0 1px 4px;padding:2rem;border-radius:10px}.profile-img{display:flex;align-items:center;gap:2rem}.mt-2{margin-top:2rem!important}.mt-1{margin-top:1rem!important}.image-box{display:flex;gap:1rem;margin-top:3rem;cursor:pointer}.image-box span{color:#0189ea;font-size:14px;font-weight:500;padding:11px 7rem;border:2px solid rgba(0,0,0,.06);height:47px;border-radius:10px}.image_box{display:flex;align-items:center}.dummy-image{height:55px}.label-text{font-weight:400;font-family:Inter;font-size:14px;color:#434443}.input-text{border-radius:7px;border:2px solid rgba(208,213,221,1);height:42px;width:100%;margin-top:5px;padding-left:10px}.footer{display:flex;gap:1rem;align-items:center;justify-content:flex-end;height:8vh;padding:10px;border-top:2px solid rgba(0,0,0,.06);position:absolute;bottom:0;width:100%}.footer .continue{font-size:13px;font-family:interMedium;color:#242424;font-weight:500;border:none;background-color:#f6c318;padding:10px 20px;border-radius:8px;width:max-content}.footer .cancel{font-size:13px;font-family:interMedium;color:#f6c318;font-weight:500;border:1px solid #F6C318;background-color:#fff;padding:10px 20px;border-radius:8px;width:max-content}.main-content{overflow:scroll;padding-top:5px;padding-bottom:10px}.button-parent{padding:1rem 5rem 1rem 2rem;align-items:center;display:flex;justify-content:flex-end}.button{font-size:16px!important;padding:1rem 2rem;display:inline-flex;align-items:center;justify-content:center;width:fit-content!important}.payment-details{margin:1rem 5rem 0rem;box-shadow:#00000029 0 1px 4px;border-radius:10px}.mb-5{margin-bottom:5px!important}.addedImg{display:flex;gap:5%;width:95%;margin-top:2rem}.addedImg .uploadedImg img{height:65px;width:65px;border-radius:50%}.addedImg .image-buttons{display:flex;gap:3%;padding-top:20px}.addedImg .image-buttons .button{display:flex;gap:8px;width:142px;height:40px;padding:12px 8px;font-family:lexandMedium;color:#3f3b3b;font-style:normal;font-weight:500;font-size:12px!important;border:1px dashed #E4E7EC;border-radius:12px;cursor:pointer}.addedImg .image-buttons .button img{width:20px}.addedImg .image-buttons .button .delete{display:flex;gap:15%;width:60%;margin:auto}.addedImg .image-buttons .button .delete img{width:12px}.emptyText{height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px}.emptyText img{height:200px}@media screen and (max-width: 475px){.body{margin:0rem}.emptyText{padding:1rem}.emptyText img{width:100%}.subTabs_section{padding:1rem .5rem}.list_tabs{white-space:nowrap;overflow:scroll;justify-content:flex-start}.payment-details{margin:0rem}}.mtb-15{margin-top:15px;margin-bottom:15px}.checkbox-label{display:flex;align-items:center;gap:15px}.checkbox-label input{height:16px;width:16px}.upload-file{display:flex;align-items:center;justify-content:space-between;padding-right:10px}.upload-file mat-icon{color:#4caf50}.upload-file p{margin-bottom:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatGridListModule }, { kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: TextElementComponent, selector: "simpo-text-element", inputs: ["textData", "textLabel"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: PaymentDetailsComponent, selector: "simpo-payment-details", inputs: ["admissionData", "subscriptionsData", "termPaymentList"] }, { kind: "component", type: DocumentComponent, selector: "simpo-document", inputs: ["documentList"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type:
9446
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: RegistrationFormComponent, isStandalone: true, selector: "simpo-registration-form", inputs: { data: "data", index: "index", edit: "edit", nextComponentColor: "nextComponentColor" }, usesInheritance: true, ngImport: i0, template: "<section simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\">\n <div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">\n <div #mainContainer class=\"rowFlex\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\"\n [simpoBorder]=\"styles?.border\">\n <div class=\"main-section\"\n [ngClass]=\"{'justify-content-md-start': styles?.layout?.align === 'left' , 'justify-content-md-end': styles?.layout?.align === 'right'}\"\n [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\n <div class=\"body-section\">\n <div [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\n <div>\n <simpo-text-element [textData]=\"content?.inputText?.[0]?.value\" [textLabel]=\"content?.inputText?.[0]?.label\"></simpo-text-element>\n </div>\n <div class=\"d-flex gap-2 d-md-flex mt-15\" *ngIf=\"data?.action?.display\" [ngClass]=\"[\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\n ]\">\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n <section class=\"main-section\">\n <div *ngIf=\"formStatus != 'REGISTERED' && formStatus != 'ADMITTED'\">\n <div class=\"subTabs_section\">\n <div class=\"list_tabs d-flex align-items-center\">\n <ng-container *ngFor=\"let key of Object.keys(fieldData)\">\n <div class=\"single_tab cursor-pointer\" (click)=\"selectedKey = key\"\n [ngClass]=\"selectedKey === key ? 'single_tab_active' : 'single_tab'\">\n {{key | titlecase}}\n </div>\n </ng-container>\n <div class=\"single_tab cursor-pointer\" (click)=\"selectedKey = 'Document'\" *ngIf=\"data?.sectionType === 'admissionForm'\"\n [ngClass]=\"selectedKey === 'Document' ? 'single_tab_active' : 'single_tab'\">\n Document\n </div>\n <div class=\"single_tab cursor-pointer\" (click)=\"redirectToPayment()\"\n *ngIf=\"data?.sectionType === 'admissionForm'\"\n [ngClass]=\"selectedKey === 'Payment' ? 'single_tab_active' : 'single_tab'\">\n Payment\n </div>\n </div>\n </div>\n\n <div class=\"main-content\">\n <ng-container *ngFor=\"let group of fieldData[selectedKey] ? Object.keys(fieldData[selectedKey]) : [];let groupIndex = index\">\n <div class=\"body\" *ngIf=\"group !== 'Backup Contact'\">\n <div class=\"list_tabs backToLeads d-flex align-items-center\">\n {{group}}\n </div>\n\n <ng-container *ngIf=\"groupIndex == 0 && Object.keys(fieldData)[0] === selectedKey\">\n <div class=\"image-box\" *ngIf=\"!payload.imgUrl\">\n <img class=\"dummy-image\" src=\"../../../../../../../../../assets/images/master/add-image.svg\"\n (click)=\"fileInput.click()\" alt=\"\">\n <div class=\"image_box\">\n <span class=\"fc_browse_btn\" id=\"display_browse_btn\" (click)=\"fileInput.click()\">Click to\n upload</span>\n </div>\n </div>\n <input style=\"display: none;\" id=\"vendorImage\" type=\"file\" name=\"myfile\"\n accept=\"image/x-png,image/jpeg,image/jpg\" (change)=\"updateAdmissionImage($event)\" class=\"pc-btn\"\n id=\"browse_contact_image\" #fileInput />\n\n <div *ngIf=\"payload.imgUrl\" class=\"addedImg\">\n <div class=\"uploadedImg\">\n <img alt=\"\" [src]=\"ds.bypassSecurityTrustUrl(payload.imgUrl)\">\n </div>\n <div class=\"image-buttons\">\n <div class=\"button\" (click)=\"fileInput.click()\">\n <img src=\"../../../../../../../../../assets/images/blogs/change_image.svg\" alt=\"\">\n Change Image\n </div>\n <div class=\"button delete-change\" (click)=\"deleteImg()\">\n\n <div class=\"delete\">\n <img src=\"./../../../../../../../../../assets/images/blogs/delete_image.svg\" alt=\"\">\n <div>Delete</div>\n </div>\n\n </div>\n </div>\n\n </div>\n </ng-container>\n\n <div class=\"row mt-1\">\n <div class=\"col-md-4 col-12 mt-1\" *ngFor=\"let info of fieldData[selectedKey][group]\">\n <label for=\"\" class=\"label-text\">{{info.fieldLabel}}</label>&nbsp; <span style=\"color: red;\" *ngIf=\"info.required\">*</span> <br>\n <ng-container *ngTemplateOutlet=\"inputData; context: {data: info}\"></ng-container>\n </div>\n </div>\n </div>\n\n <div class=\"body\" *ngIf=\"fieldData[selectedKey].hasOwnProperty('Backup Contact') && studentLiveWith === 'single parent' && groupIndex == 0 && Object.keys(fieldData)[0] === selectedKey\">\n <div class=\"list_tabs backToLeads d-flex align-items-center\">\n Backup Contact (Optional)\n </div>\n\n <div class=\"row mt-1\">\n <div class=\"col-md-12\">\n <label class=\"mtb-15 checkbox-label\">\n <input type=\"checkbox\" name=\"\" id=\"\" [(ngModel)]=\"payload.parentAuthorization\">\n I authorize the school to release the child only to the parent listed above\n </label>\n </div>\n <div class=\"col-md-4 col-12 mt-1\" *ngFor=\"let info of fieldData[selectedKey]['Backup Contact']\">\n <label for=\"\" class=\"label-text\">{{info.fieldLabel}}</label>&nbsp; <span style=\"color: red;\"\n *ngIf=\"info.required\">*</span> <br>\n <ng-container *ngTemplateOutlet=\"inputData; context: {data: info}\"></ng-container>\n </div>\n <div class=\"col-md-4 col-12 mt-1\">\n <label for=\"\" class=\"label-text\">Upload Supporting Document (Optional)</label>\n <div class=\"input-text upload-file\" (click)=\"backUpDocInput.click()\">\n <p>{{backupDocFile ? 'File Uploaded' : 'Upload File'}}</p>\n <mat-icon>cloud_upload</mat-icon>\n </div>\n <input id=\"vendorImage\" type=\"file\" name=\"myfile\" hidden\n accept=\".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/x-png,image/jpeg,image/jpg,.pdf, video/mp4,video/x-matroska,video/x-msvideo,video/quicktime\"\n (change)=\"uploadBackUpDocument($event)\" class=\"pc-btn\"\n id=\"browse_contact_image\" #backUpDocInput />\n </div>\n </div>\n </div>\n\n </ng-container>\n <div class=\"payment-details\" *ngIf=\"selectedKey === 'Document' && data?.sectionType === 'admissionForm'\">\n <simpo-document [documentList]=\"documentList\"></simpo-document>\n </div>\n <div class=\"payment-details\" *ngIf=\"selectedKey === 'Payment' && data?.sectionType === 'admissionForm'\">\n <simpo-payment-details [admissionData]=\"payload\"\n [subscriptionsData]=\"subscriptionsData\" [termPaymentList]=\"termPaymentList\"></simpo-payment-details>\n </div>\n </div>\n\n <div class=\"button-parent\">\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\n <button class=\"button\" (click)=\"submitForm()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\" *ngIf=\"(data?.sectionType === 'admissionForm' && selectedKey == 'Payment') ||\n (data?.sectionType === 'registrationForm' &&\n (Object.keys(fieldData)[Object.keys(fieldData).length - 1] == selectedKey))\"\n [color]=\"data?.styles?.background?.accentColor\">{{button?.content?.label}}</button>\n\n <button class=\"button\" (click)=\"continueAdmission()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\" *ngIf=\"selectedKey != 'Payment' && data?.sectionType === 'admissionForm'\"\n [color]=\"data?.styles?.background?.accentColor\">Continue</button>\n\n <button class=\"button\" (click)=\"continueAdmission()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\"\n *ngIf=\"data?.sectionType === 'registrationForm' && (Object.keys(fieldData)[Object.keys(fieldData).length - 1] != selectedKey)\"\n [color]=\"data?.styles?.background?.accentColor\">Continue</button>\n </ng-container>\n </div>\n </div>\n\n <div class=\"emptyText\" *ngIf=\"formStatus == 'REGISTERED' || formStatus == 'ADMITTED'\">\n <img [src]=\"content?.image?.url\" alt=\"\" *ngIf=\"content?.image?.showImage\">\n <div class=\"heading-large\" [innerHtml]=\"content?.inputText?.[1]?.value\"></div>\n </div>\n </section>\n\n <ng-template #inputData let-field=\"data\">\n <div *ngIf=\"field.dataType == 'IMAGE'\">\n <div class=\"image-box\">\n <img class=\"dummy-image\" src=\"../../../../../../../../../assets/images/master/add-image.svg\"\n (click)=\"fileInput.click()\" alt=\"\">\n <div class=\"d-flex align-items-center\">\n <span class=\"fc_browse_btn\" id=\"display_browse_btn\" (click)=\"fileInput.click()\">Click to\n upload</span>\n </div>\n </div>\n <input style=\"display: none;\" id=\"vendorImage\" type=\"file\" name=\"myfile\" accept=\"image/x-png,image/jpeg,image/jpg\"\n (change)=\"updateAdmissionImage($event)\" class=\"pc-btn\" id=\"browse_contact_image\" #fileInput />\n </div>\n <div *ngIf=\"field.dataType === 'TEXT'\">\n <input type=\"text\" class=\"input-text\" [placeholder]=\"'Enter'+field.label\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'NUMBER'\">\n <input type=\"number\" class=\"input-text\" [placeholder]=\"'Enter'+field.label\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'MONEY'\">\n <input type=\"text\" class=\"input-text\" [placeholder]=\"'Enter'+field.label\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'DATE'\">\n <input type=\"date\" class=\"input-text\" [(ngModel)]=\"field.fieldValue\" [placeholder]=\"'Select'+field.label\">\n </div>\n <div *ngIf=\"field.dataType === 'DROPDOWN'\" class=\"admission\">\n <mat-form-field class=\"input-text\" appearance=\"outline\">\n <mat-select class=\"inputStyle\" placeholder=\"--Select--\" [(ngModel)]=\"field.fieldValue\" [multiple]=\"field.multipleSelection\">\n <ng-container *ngIf=\"(field?.value?.length || 0) > 0\">\n <mat-option *ngFor=\"let item of field.value\" [value]=\"item?.value\" (click)=\"masterDropdownValueChange(item, field)\">{{item.label}}</mat-option>\n </ng-container>\n <ng-container *ngIf=\"(field?.value?.length || 0) == 0\">\n <mat-option *ngFor=\"let item of field.sourceData[field.dataSourceType]\"\n (click)=\"inputFieldChange(item, field)\" [value]=\"item?.name\">{{item.name}}</mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </div>\n <div *ngIf=\"field.dataType === 'CHECKBOX'\">\n <ng-container *ngIf=\"(field?.value?.length || 0) > 0\">\n <div class=\"form-check mb-5\" *ngFor=\"let data of field.value\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"flexCheckChecked\" [(ngModel)]=\"data.checked\">\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\n {{data.label}}\n </label>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"(field?.value?.length || 0) == 0\">\n <div class=\"form-check mb-5\" *ngFor=\"let data of field.sourceData[field.dataSourceType]\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"flexCheckChecked\" [(ngModel)]=\"data.checked\">\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\n {{data.name}}\n </label>\n </div>\n </ng-container>\n </div>\n </ng-template>\n\n\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n</section>\n", styles: [".total_container{height:auto;position:relative}.body-section{padding:4% 15px}.button-section{margin-top:15px}.clipPath{clip-path:polygon(0% 100%,50% 0%,100% 100%);height:100px;background-color:#00f}.hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.mt-15{margin-top:15px}@media only screen and (max-width: 475px){.d-flex{justify-content:center;margin-bottom:25px}}.main-section{width:100%;overflow-y:hidden}.subTabs_section{padding:1rem 5rem;height:12vh}.active_route_section{height:89%;border:1px solid #0000000F;padding:15px 20px;background-color:#fff;border-radius:6px}.active_route_section_normal{background-color:#f6f6f6;border:none;padding:10px 4rem}.list_tabs{border:1px solid #0000001A;background-color:#ffffffe5;padding:10px;border-radius:6px;gap:10px;height:50px}.single_tab{color:#0e233c99;font-size:14px;font-weight:500;font-family:interReg;padding:10px 20px}.single_tab_active{width:max-content;height:32px;background-color:#0015800a;display:flex;align-items:center;font-weight:600;padding:10px 20px;border-radius:4px;color:#0e233c}.align-items-center{align-items:center}.header{height:8vh;padding:10px;border-bottom:2px solid rgba(0,0,0,.06);display:flex}.p-5{padding:5rem}.backToLeads{color:#000!important}.body{margin:1rem 5rem 0rem;box-shadow:#00000029 0 1px 4px;padding:2rem;border-radius:10px}.profile-img{display:flex;align-items:center;gap:2rem}.mt-2{margin-top:2rem!important}.mt-1{margin-top:1rem!important}.image-box{display:flex;gap:1rem;margin-top:3rem;cursor:pointer}.image-box span{color:#0189ea;font-size:14px;font-weight:500;padding:11px 7rem;border:2px solid rgba(0,0,0,.06);height:47px;border-radius:10px}.image_box{display:flex;align-items:center}.dummy-image{height:55px}.label-text{font-weight:400;font-family:Inter;font-size:14px;color:#434443}.input-text{border-radius:7px;border:2px solid rgba(208,213,221,1);height:42px;width:100%;margin-top:5px;padding-left:10px}.footer{display:flex;gap:1rem;align-items:center;justify-content:flex-end;height:8vh;padding:10px;border-top:2px solid rgba(0,0,0,.06);position:absolute;bottom:0;width:100%}.footer .continue{font-size:13px;font-family:interMedium;color:#242424;font-weight:500;border:none;background-color:#f6c318;padding:10px 20px;border-radius:8px;width:max-content}.footer .cancel{font-size:13px;font-family:interMedium;color:#f6c318;font-weight:500;border:1px solid #F6C318;background-color:#fff;padding:10px 20px;border-radius:8px;width:max-content}.main-content{overflow:scroll;padding-top:5px;padding-bottom:10px}.button-parent{padding:1rem 5rem 1rem 2rem;align-items:center;display:flex;justify-content:flex-end}.button{font-size:16px!important;padding:1rem 2rem;display:inline-flex;align-items:center;justify-content:center;width:fit-content!important}.payment-details{margin:1rem 5rem 0rem;box-shadow:#00000029 0 1px 4px;border-radius:10px}.mb-5{margin-bottom:5px!important}.addedImg{display:flex;gap:5%;width:95%;margin-top:2rem}.addedImg .uploadedImg img{height:65px;width:65px;border-radius:50%}.addedImg .image-buttons{display:flex;gap:3%;padding-top:20px}.addedImg .image-buttons .button{display:flex;gap:8px;width:142px;height:40px;padding:12px 8px;font-family:lexandMedium;color:#3f3b3b;font-style:normal;font-weight:500;font-size:12px!important;border:1px dashed #E4E7EC;border-radius:12px;cursor:pointer}.addedImg .image-buttons .button img{width:20px}.addedImg .image-buttons .button .delete{display:flex;gap:15%;width:60%;margin:auto}.addedImg .image-buttons .button .delete img{width:12px}.emptyText{height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px}.emptyText img{height:200px}@media screen and (max-width: 475px){.body{margin:0rem}.emptyText{padding:1rem}.emptyText img{width:100%}.subTabs_section{padding:1rem .5rem}.list_tabs{white-space:nowrap;overflow:scroll;justify-content:flex-start}.payment-details{margin:0rem}}.mtb-15{margin-top:15px;margin-bottom:15px}.checkbox-label{display:flex;align-items:center;gap:15px}.checkbox-label input{height:16px;width:16px}.upload-file{display:flex;align-items:center;justify-content:space-between;padding-right:10px}.upload-file mat-icon{color:#4caf50}.upload-file p{margin-bottom:0}@media only screen and (min-width: 320px) and (max-width : 500px){.image-box span{padding:11px 4rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatGridListModule }, { kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: TextElementComponent, selector: "simpo-text-element", inputs: ["textData", "textLabel"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: PaymentDetailsComponent, selector: "simpo-payment-details", inputs: ["admissionData", "subscriptionsData", "termPaymentList"] }, { kind: "component", type: DocumentComponent, selector: "simpo-document", inputs: ["documentList"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type:
9447
9447
  //directive
9448
9448
  AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i13.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i5$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i8.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
9449
9449
  }
@@ -9477,7 +9477,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
9477
9477
  MatSelectModule,
9478
9478
  FormsModule,
9479
9479
  MatIconModule
9480
- ], template: "<section simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\">\n <div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">\n <div #mainContainer class=\"rowFlex\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\"\n [simpoBorder]=\"styles?.border\">\n <div class=\"main-section\"\n [ngClass]=\"{'justify-content-md-start': styles?.layout?.align === 'left' , 'justify-content-md-end': styles?.layout?.align === 'right'}\"\n [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\n <div class=\"body-section\">\n <div [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\n <div>\n <simpo-text-element [textData]=\"content?.inputText?.[0]?.value\" [textLabel]=\"content?.inputText?.[0]?.label\"></simpo-text-element>\n </div>\n <div class=\"d-flex gap-2 d-md-flex mt-15\" *ngIf=\"data?.action?.display\" [ngClass]=\"[\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\n ]\">\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n <section class=\"main-section\">\n <div *ngIf=\"formStatus != 'REGISTERED' && formStatus != 'ADMITTED'\">\n <div class=\"subTabs_section\">\n <div class=\"list_tabs d-flex align-items-center\">\n <ng-container *ngFor=\"let key of Object.keys(fieldData)\">\n <div class=\"single_tab cursor-pointer\" (click)=\"selectedKey = key\"\n [ngClass]=\"selectedKey === key ? 'single_tab_active' : 'single_tab'\">\n {{key | titlecase}}\n </div>\n </ng-container>\n <div class=\"single_tab cursor-pointer\" (click)=\"selectedKey = 'Document'\" *ngIf=\"data?.sectionType === 'admissionForm'\"\n [ngClass]=\"selectedKey === 'Document' ? 'single_tab_active' : 'single_tab'\">\n Document\n </div>\n <div class=\"single_tab cursor-pointer\" (click)=\"redirectToPayment()\"\n *ngIf=\"data?.sectionType === 'admissionForm'\"\n [ngClass]=\"selectedKey === 'Payment' ? 'single_tab_active' : 'single_tab'\">\n Payment\n </div>\n </div>\n </div>\n\n <div class=\"main-content\">\n <ng-container *ngFor=\"let group of fieldData[selectedKey] ? Object.keys(fieldData[selectedKey]) : [];let groupIndex = index\">\n <div class=\"body\" *ngIf=\"group !== 'Backup Contact'\">\n <div class=\"list_tabs backToLeads d-flex align-items-center\">\n {{group}}\n </div>\n\n <ng-container *ngIf=\"groupIndex == 0 && Object.keys(fieldData)[0] === selectedKey\">\n <div class=\"image-box\" *ngIf=\"!payload.imgUrl\">\n <img class=\"dummy-image\" src=\"../../../../../../../../../assets/images/master/add-image.svg\"\n (click)=\"fileInput.click()\" alt=\"\">\n <div class=\"image_box\">\n <span class=\"fc_browse_btn\" id=\"display_browse_btn\" (click)=\"fileInput.click()\">Click to\n upload</span>\n </div>\n </div>\n <input style=\"display: none;\" id=\"vendorImage\" type=\"file\" name=\"myfile\"\n accept=\"image/x-png,image/jpeg,image/jpg\" (change)=\"updateAdmissionImage($event)\" class=\"pc-btn\"\n id=\"browse_contact_image\" #fileInput />\n\n <div *ngIf=\"payload.imgUrl\" class=\"addedImg\">\n <div class=\"uploadedImg\">\n <img alt=\"\" [src]=\"ds.bypassSecurityTrustUrl(payload.imgUrl)\">\n </div>\n <div class=\"image-buttons\">\n <div class=\"button\" (click)=\"fileInput.click()\">\n <img src=\"../../../../../../../../../assets/images/blogs/change_image.svg\" alt=\"\">\n Change Image\n </div>\n <div class=\"button delete-change\" (click)=\"deleteImg()\">\n\n <div class=\"delete\">\n <img src=\"./../../../../../../../../../assets/images/blogs/delete_image.svg\" alt=\"\">\n <div>Delete</div>\n </div>\n\n </div>\n </div>\n\n </div>\n </ng-container>\n\n <div class=\"row mt-1\">\n <div class=\"col-md-4 col-12 mt-1\" *ngFor=\"let info of fieldData[selectedKey][group]\">\n <label for=\"\" class=\"label-text\">{{info.fieldLabel}}</label>&nbsp; <span style=\"color: red;\" *ngIf=\"info.required\">*</span> <br>\n <ng-container *ngTemplateOutlet=\"inputData; context: {data: info}\"></ng-container>\n </div>\n </div>\n </div>\n\n <div class=\"body\" *ngIf=\"fieldData[selectedKey].hasOwnProperty('Backup Contact') && studentLiveWith === 'single parent' && groupIndex == 0 && Object.keys(fieldData)[0] === selectedKey\">\n <div class=\"list_tabs backToLeads d-flex align-items-center\">\n Backup Contact (Optional)\n </div>\n\n <div class=\"row mt-1\">\n <div class=\"col-md-12\">\n <label class=\"mtb-15 checkbox-label\">\n <input type=\"checkbox\" name=\"\" id=\"\" [(ngModel)]=\"payload.parentAuthorization\">\n I authorize the school to release the child only to the parent listed above\n </label>\n </div>\n <div class=\"col-md-4 col-12 mt-1\" *ngFor=\"let info of fieldData[selectedKey]['Backup Contact']\">\n <label for=\"\" class=\"label-text\">{{info.fieldLabel}}</label>&nbsp; <span style=\"color: red;\"\n *ngIf=\"info.required\">*</span> <br>\n <ng-container *ngTemplateOutlet=\"inputData; context: {data: info}\"></ng-container>\n </div>\n <div class=\"col-md-4 col-12 mt-1\">\n <label for=\"\" class=\"label-text\">Upload Supporting Document (Optional)</label>\n <div class=\"input-text upload-file\" (click)=\"backUpDocInput.click()\">\n <p>{{backupDocFile ? 'File Uploaded' : 'Upload File'}}</p>\n <mat-icon>cloud_upload</mat-icon>\n </div>\n <input id=\"vendorImage\" type=\"file\" name=\"myfile\" hidden\n accept=\".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/x-png,image/jpeg,image/jpg,.pdf, video/mp4,video/x-matroska,video/x-msvideo,video/quicktime\"\n (change)=\"uploadBackUpDocument($event)\" class=\"pc-btn\"\n id=\"browse_contact_image\" #backUpDocInput />\n </div>\n </div>\n </div>\n\n </ng-container>\n <div class=\"payment-details\" *ngIf=\"selectedKey === 'Document' && data?.sectionType === 'admissionForm'\">\n <simpo-document [documentList]=\"documentList\"></simpo-document>\n </div>\n <div class=\"payment-details\" *ngIf=\"selectedKey === 'Payment' && data?.sectionType === 'admissionForm'\">\n <simpo-payment-details [admissionData]=\"payload\"\n [subscriptionsData]=\"subscriptionsData\" [termPaymentList]=\"termPaymentList\"></simpo-payment-details>\n </div>\n </div>\n\n <div class=\"button-parent\">\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\n <button class=\"button\" (click)=\"submitForm()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\" *ngIf=\"(data?.sectionType === 'admissionForm' && selectedKey == 'Payment') ||\n (data?.sectionType === 'registrationForm' &&\n (Object.keys(fieldData)[Object.keys(fieldData).length - 1] == selectedKey))\"\n [color]=\"data?.styles?.background?.accentColor\">{{button?.content?.label}}</button>\n\n <button class=\"button\" (click)=\"continueAdmission()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\" *ngIf=\"selectedKey != 'Payment' && data?.sectionType === 'admissionForm'\"\n [color]=\"data?.styles?.background?.accentColor\">Continue</button>\n\n <button class=\"button\" (click)=\"continueAdmission()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\"\n *ngIf=\"data?.sectionType === 'registrationForm' && (Object.keys(fieldData)[Object.keys(fieldData).length - 1] != selectedKey)\"\n [color]=\"data?.styles?.background?.accentColor\">Continue</button>\n </ng-container>\n </div>\n </div>\n\n <div class=\"emptyText\" *ngIf=\"formStatus == 'REGISTERED' || formStatus == 'ADMITTED'\">\n <img [src]=\"content?.image?.url\" alt=\"\" *ngIf=\"content?.image?.showImage\">\n <div class=\"heading-large\" [innerHtml]=\"content?.inputText?.[1]?.value\"></div>\n </div>\n </section>\n\n <ng-template #inputData let-field=\"data\">\n <div *ngIf=\"field.dataType == 'IMAGE'\">\n <div class=\"image-box\">\n <img class=\"dummy-image\" src=\"../../../../../../../../../assets/images/master/add-image.svg\"\n (click)=\"fileInput.click()\" alt=\"\">\n <div class=\"d-flex align-items-center\">\n <span class=\"fc_browse_btn\" id=\"display_browse_btn\" (click)=\"fileInput.click()\">Click to\n upload</span>\n </div>\n </div>\n <input style=\"display: none;\" id=\"vendorImage\" type=\"file\" name=\"myfile\" accept=\"image/x-png,image/jpeg,image/jpg\"\n (change)=\"updateAdmissionImage($event)\" class=\"pc-btn\" id=\"browse_contact_image\" #fileInput />\n </div>\n <div *ngIf=\"field.dataType === 'TEXT'\">\n <input type=\"text\" class=\"input-text\" placeholder=\"enter value\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'NUMBER'\">\n <input type=\"number\" class=\"input-text\" placeholder=\"enter value\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'MONEY'\">\n <input type=\"text\" class=\"input-text\" placeholder=\"enter value\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'DATE'\">\n <input type=\"date\" class=\"input-text\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'DROPDOWN'\" class=\"admission\">\n <mat-form-field class=\"input-text\" appearance=\"outline\">\n <mat-select class=\"inputStyle\" placeholder=\"--Select--\" [(ngModel)]=\"field.fieldValue\" [multiple]=\"field.multipleSelection\">\n <ng-container *ngIf=\"(field?.value?.length || 0) > 0\">\n <mat-option *ngFor=\"let item of field.value\" [value]=\"item?.value\" (click)=\"masterDropdownValueChange(item, field)\">{{item.label}}</mat-option>\n </ng-container>\n <ng-container *ngIf=\"(field?.value?.length || 0) == 0\">\n <mat-option *ngFor=\"let item of field.sourceData[field.dataSourceType]\"\n (click)=\"inputFieldChange(item, field)\" [value]=\"item?.name\">{{item.name}}</mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </div>\n <div *ngIf=\"field.dataType === 'CHECKBOX'\">\n <ng-container *ngIf=\"(field?.value?.length || 0) > 0\">\n <div class=\"form-check mb-5\" *ngFor=\"let data of field.value\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"flexCheckChecked\" [(ngModel)]=\"data.checked\">\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\n {{data.label}}\n </label>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"(field?.value?.length || 0) == 0\">\n <div class=\"form-check mb-5\" *ngFor=\"let data of field.sourceData[field.dataSourceType]\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"flexCheckChecked\" [(ngModel)]=\"data.checked\">\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\n {{data.name}}\n </label>\n </div>\n </ng-container>\n </div>\n </ng-template>\n\n\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n</section>\n", styles: [".total_container{height:auto;position:relative}.body-section{padding:4% 15px}.button-section{margin-top:15px}.clipPath{clip-path:polygon(0% 100%,50% 0%,100% 100%);height:100px;background-color:#00f}.hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.mt-15{margin-top:15px}@media only screen and (max-width: 475px){.d-flex{justify-content:center;margin-bottom:25px}}.main-section{width:100%;overflow-y:hidden}.subTabs_section{padding:1rem 5rem;height:12vh}.active_route_section{height:89%;border:1px solid #0000000F;padding:15px 20px;background-color:#fff;border-radius:6px}.active_route_section_normal{background-color:#f6f6f6;border:none;padding:10px 4rem}.list_tabs{border:1px solid #0000001A;background-color:#ffffffe5;padding:10px;border-radius:6px;gap:10px;height:50px}.single_tab{color:#0e233c99;font-size:14px;font-weight:500;font-family:interReg;padding:10px 20px}.single_tab_active{width:max-content;height:32px;background-color:#0015800a;display:flex;align-items:center;font-weight:600;padding:10px 20px;border-radius:4px;color:#0e233c}.align-items-center{align-items:center}.header{height:8vh;padding:10px;border-bottom:2px solid rgba(0,0,0,.06);display:flex}.p-5{padding:5rem}.backToLeads{color:#000!important}.body{margin:1rem 5rem 0rem;box-shadow:#00000029 0 1px 4px;padding:2rem;border-radius:10px}.profile-img{display:flex;align-items:center;gap:2rem}.mt-2{margin-top:2rem!important}.mt-1{margin-top:1rem!important}.image-box{display:flex;gap:1rem;margin-top:3rem;cursor:pointer}.image-box span{color:#0189ea;font-size:14px;font-weight:500;padding:11px 7rem;border:2px solid rgba(0,0,0,.06);height:47px;border-radius:10px}.image_box{display:flex;align-items:center}.dummy-image{height:55px}.label-text{font-weight:400;font-family:Inter;font-size:14px;color:#434443}.input-text{border-radius:7px;border:2px solid rgba(208,213,221,1);height:42px;width:100%;margin-top:5px;padding-left:10px}.footer{display:flex;gap:1rem;align-items:center;justify-content:flex-end;height:8vh;padding:10px;border-top:2px solid rgba(0,0,0,.06);position:absolute;bottom:0;width:100%}.footer .continue{font-size:13px;font-family:interMedium;color:#242424;font-weight:500;border:none;background-color:#f6c318;padding:10px 20px;border-radius:8px;width:max-content}.footer .cancel{font-size:13px;font-family:interMedium;color:#f6c318;font-weight:500;border:1px solid #F6C318;background-color:#fff;padding:10px 20px;border-radius:8px;width:max-content}.main-content{overflow:scroll;padding-top:5px;padding-bottom:10px}.button-parent{padding:1rem 5rem 1rem 2rem;align-items:center;display:flex;justify-content:flex-end}.button{font-size:16px!important;padding:1rem 2rem;display:inline-flex;align-items:center;justify-content:center;width:fit-content!important}.payment-details{margin:1rem 5rem 0rem;box-shadow:#00000029 0 1px 4px;border-radius:10px}.mb-5{margin-bottom:5px!important}.addedImg{display:flex;gap:5%;width:95%;margin-top:2rem}.addedImg .uploadedImg img{height:65px;width:65px;border-radius:50%}.addedImg .image-buttons{display:flex;gap:3%;padding-top:20px}.addedImg .image-buttons .button{display:flex;gap:8px;width:142px;height:40px;padding:12px 8px;font-family:lexandMedium;color:#3f3b3b;font-style:normal;font-weight:500;font-size:12px!important;border:1px dashed #E4E7EC;border-radius:12px;cursor:pointer}.addedImg .image-buttons .button img{width:20px}.addedImg .image-buttons .button .delete{display:flex;gap:15%;width:60%;margin:auto}.addedImg .image-buttons .button .delete img{width:12px}.emptyText{height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px}.emptyText img{height:200px}@media screen and (max-width: 475px){.body{margin:0rem}.emptyText{padding:1rem}.emptyText img{width:100%}.subTabs_section{padding:1rem .5rem}.list_tabs{white-space:nowrap;overflow:scroll;justify-content:flex-start}.payment-details{margin:0rem}}.mtb-15{margin-top:15px;margin-bottom:15px}.checkbox-label{display:flex;align-items:center;gap:15px}.checkbox-label input{height:16px;width:16px}.upload-file{display:flex;align-items:center;justify-content:space-between;padding-right:10px}.upload-file mat-icon{color:#4caf50}.upload-file p{margin-bottom:0}\n"] }]
9480
+ ], template: "<section simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\">\n <div [id]=\"data?.id\" [simpoBackground]=\"styles?.background\">\n <div #mainContainer class=\"rowFlex\" [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\"\n [simpoBorder]=\"styles?.border\">\n <div class=\"main-section\"\n [ngClass]=\"{'justify-content-md-start': styles?.layout?.align === 'left' , 'justify-content-md-end': styles?.layout?.align === 'right'}\"\n [id]=\"data?.id\" [simpoLayout]=\"styles?.layout\">\n <div class=\"body-section\">\n <div [simpoAnimation]=\"styles?.animation\" [id]=\"data?.id\">\n <div>\n <simpo-text-element [textData]=\"content?.inputText?.[0]?.value\" [textLabel]=\"content?.inputText?.[0]?.label\"></simpo-text-element>\n </div>\n <div class=\"d-flex gap-2 d-md-flex mt-15\" *ngIf=\"data?.action?.display\" [ngClass]=\"[\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\n ]\">\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n <section class=\"main-section\">\n <div *ngIf=\"formStatus != 'REGISTERED' && formStatus != 'ADMITTED'\">\n <div class=\"subTabs_section\">\n <div class=\"list_tabs d-flex align-items-center\">\n <ng-container *ngFor=\"let key of Object.keys(fieldData)\">\n <div class=\"single_tab cursor-pointer\" (click)=\"selectedKey = key\"\n [ngClass]=\"selectedKey === key ? 'single_tab_active' : 'single_tab'\">\n {{key | titlecase}}\n </div>\n </ng-container>\n <div class=\"single_tab cursor-pointer\" (click)=\"selectedKey = 'Document'\" *ngIf=\"data?.sectionType === 'admissionForm'\"\n [ngClass]=\"selectedKey === 'Document' ? 'single_tab_active' : 'single_tab'\">\n Document\n </div>\n <div class=\"single_tab cursor-pointer\" (click)=\"redirectToPayment()\"\n *ngIf=\"data?.sectionType === 'admissionForm'\"\n [ngClass]=\"selectedKey === 'Payment' ? 'single_tab_active' : 'single_tab'\">\n Payment\n </div>\n </div>\n </div>\n\n <div class=\"main-content\">\n <ng-container *ngFor=\"let group of fieldData[selectedKey] ? Object.keys(fieldData[selectedKey]) : [];let groupIndex = index\">\n <div class=\"body\" *ngIf=\"group !== 'Backup Contact'\">\n <div class=\"list_tabs backToLeads d-flex align-items-center\">\n {{group}}\n </div>\n\n <ng-container *ngIf=\"groupIndex == 0 && Object.keys(fieldData)[0] === selectedKey\">\n <div class=\"image-box\" *ngIf=\"!payload.imgUrl\">\n <img class=\"dummy-image\" src=\"../../../../../../../../../assets/images/master/add-image.svg\"\n (click)=\"fileInput.click()\" alt=\"\">\n <div class=\"image_box\">\n <span class=\"fc_browse_btn\" id=\"display_browse_btn\" (click)=\"fileInput.click()\">Click to\n upload</span>\n </div>\n </div>\n <input style=\"display: none;\" id=\"vendorImage\" type=\"file\" name=\"myfile\"\n accept=\"image/x-png,image/jpeg,image/jpg\" (change)=\"updateAdmissionImage($event)\" class=\"pc-btn\"\n id=\"browse_contact_image\" #fileInput />\n\n <div *ngIf=\"payload.imgUrl\" class=\"addedImg\">\n <div class=\"uploadedImg\">\n <img alt=\"\" [src]=\"ds.bypassSecurityTrustUrl(payload.imgUrl)\">\n </div>\n <div class=\"image-buttons\">\n <div class=\"button\" (click)=\"fileInput.click()\">\n <img src=\"../../../../../../../../../assets/images/blogs/change_image.svg\" alt=\"\">\n Change Image\n </div>\n <div class=\"button delete-change\" (click)=\"deleteImg()\">\n\n <div class=\"delete\">\n <img src=\"./../../../../../../../../../assets/images/blogs/delete_image.svg\" alt=\"\">\n <div>Delete</div>\n </div>\n\n </div>\n </div>\n\n </div>\n </ng-container>\n\n <div class=\"row mt-1\">\n <div class=\"col-md-4 col-12 mt-1\" *ngFor=\"let info of fieldData[selectedKey][group]\">\n <label for=\"\" class=\"label-text\">{{info.fieldLabel}}</label>&nbsp; <span style=\"color: red;\" *ngIf=\"info.required\">*</span> <br>\n <ng-container *ngTemplateOutlet=\"inputData; context: {data: info}\"></ng-container>\n </div>\n </div>\n </div>\n\n <div class=\"body\" *ngIf=\"fieldData[selectedKey].hasOwnProperty('Backup Contact') && studentLiveWith === 'single parent' && groupIndex == 0 && Object.keys(fieldData)[0] === selectedKey\">\n <div class=\"list_tabs backToLeads d-flex align-items-center\">\n Backup Contact (Optional)\n </div>\n\n <div class=\"row mt-1\">\n <div class=\"col-md-12\">\n <label class=\"mtb-15 checkbox-label\">\n <input type=\"checkbox\" name=\"\" id=\"\" [(ngModel)]=\"payload.parentAuthorization\">\n I authorize the school to release the child only to the parent listed above\n </label>\n </div>\n <div class=\"col-md-4 col-12 mt-1\" *ngFor=\"let info of fieldData[selectedKey]['Backup Contact']\">\n <label for=\"\" class=\"label-text\">{{info.fieldLabel}}</label>&nbsp; <span style=\"color: red;\"\n *ngIf=\"info.required\">*</span> <br>\n <ng-container *ngTemplateOutlet=\"inputData; context: {data: info}\"></ng-container>\n </div>\n <div class=\"col-md-4 col-12 mt-1\">\n <label for=\"\" class=\"label-text\">Upload Supporting Document (Optional)</label>\n <div class=\"input-text upload-file\" (click)=\"backUpDocInput.click()\">\n <p>{{backupDocFile ? 'File Uploaded' : 'Upload File'}}</p>\n <mat-icon>cloud_upload</mat-icon>\n </div>\n <input id=\"vendorImage\" type=\"file\" name=\"myfile\" hidden\n accept=\".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/x-png,image/jpeg,image/jpg,.pdf, video/mp4,video/x-matroska,video/x-msvideo,video/quicktime\"\n (change)=\"uploadBackUpDocument($event)\" class=\"pc-btn\"\n id=\"browse_contact_image\" #backUpDocInput />\n </div>\n </div>\n </div>\n\n </ng-container>\n <div class=\"payment-details\" *ngIf=\"selectedKey === 'Document' && data?.sectionType === 'admissionForm'\">\n <simpo-document [documentList]=\"documentList\"></simpo-document>\n </div>\n <div class=\"payment-details\" *ngIf=\"selectedKey === 'Payment' && data?.sectionType === 'admissionForm'\">\n <simpo-payment-details [admissionData]=\"payload\"\n [subscriptionsData]=\"subscriptionsData\" [termPaymentList]=\"termPaymentList\"></simpo-payment-details>\n </div>\n </div>\n\n <div class=\"button-parent\">\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\n <button class=\"button\" (click)=\"submitForm()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\" *ngIf=\"(data?.sectionType === 'admissionForm' && selectedKey == 'Payment') ||\n (data?.sectionType === 'registrationForm' &&\n (Object.keys(fieldData)[Object.keys(fieldData).length - 1] == selectedKey))\"\n [color]=\"data?.styles?.background?.accentColor\">{{button?.content?.label}}</button>\n\n <button class=\"button\" (click)=\"continueAdmission()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\" *ngIf=\"selectedKey != 'Payment' && data?.sectionType === 'admissionForm'\"\n [color]=\"data?.styles?.background?.accentColor\">Continue</button>\n\n <button class=\"button\" (click)=\"continueAdmission()\" simpoButtonDirective [id]=\"data?.id+button.id\"\n [buttonStyle]=\"button.styles\"\n *ngIf=\"data?.sectionType === 'registrationForm' && (Object.keys(fieldData)[Object.keys(fieldData).length - 1] != selectedKey)\"\n [color]=\"data?.styles?.background?.accentColor\">Continue</button>\n </ng-container>\n </div>\n </div>\n\n <div class=\"emptyText\" *ngIf=\"formStatus == 'REGISTERED' || formStatus == 'ADMITTED'\">\n <img [src]=\"content?.image?.url\" alt=\"\" *ngIf=\"content?.image?.showImage\">\n <div class=\"heading-large\" [innerHtml]=\"content?.inputText?.[1]?.value\"></div>\n </div>\n </section>\n\n <ng-template #inputData let-field=\"data\">\n <div *ngIf=\"field.dataType == 'IMAGE'\">\n <div class=\"image-box\">\n <img class=\"dummy-image\" src=\"../../../../../../../../../assets/images/master/add-image.svg\"\n (click)=\"fileInput.click()\" alt=\"\">\n <div class=\"d-flex align-items-center\">\n <span class=\"fc_browse_btn\" id=\"display_browse_btn\" (click)=\"fileInput.click()\">Click to\n upload</span>\n </div>\n </div>\n <input style=\"display: none;\" id=\"vendorImage\" type=\"file\" name=\"myfile\" accept=\"image/x-png,image/jpeg,image/jpg\"\n (change)=\"updateAdmissionImage($event)\" class=\"pc-btn\" id=\"browse_contact_image\" #fileInput />\n </div>\n <div *ngIf=\"field.dataType === 'TEXT'\">\n <input type=\"text\" class=\"input-text\" [placeholder]=\"'Enter'+field.label\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'NUMBER'\">\n <input type=\"number\" class=\"input-text\" [placeholder]=\"'Enter'+field.label\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'MONEY'\">\n <input type=\"text\" class=\"input-text\" [placeholder]=\"'Enter'+field.label\" [(ngModel)]=\"field.fieldValue\">\n </div>\n <div *ngIf=\"field.dataType === 'DATE'\">\n <input type=\"date\" class=\"input-text\" [(ngModel)]=\"field.fieldValue\" [placeholder]=\"'Select'+field.label\">\n </div>\n <div *ngIf=\"field.dataType === 'DROPDOWN'\" class=\"admission\">\n <mat-form-field class=\"input-text\" appearance=\"outline\">\n <mat-select class=\"inputStyle\" placeholder=\"--Select--\" [(ngModel)]=\"field.fieldValue\" [multiple]=\"field.multipleSelection\">\n <ng-container *ngIf=\"(field?.value?.length || 0) > 0\">\n <mat-option *ngFor=\"let item of field.value\" [value]=\"item?.value\" (click)=\"masterDropdownValueChange(item, field)\">{{item.label}}</mat-option>\n </ng-container>\n <ng-container *ngIf=\"(field?.value?.length || 0) == 0\">\n <mat-option *ngFor=\"let item of field.sourceData[field.dataSourceType]\"\n (click)=\"inputFieldChange(item, field)\" [value]=\"item?.name\">{{item.name}}</mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </div>\n <div *ngIf=\"field.dataType === 'CHECKBOX'\">\n <ng-container *ngIf=\"(field?.value?.length || 0) > 0\">\n <div class=\"form-check mb-5\" *ngFor=\"let data of field.value\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"flexCheckChecked\" [(ngModel)]=\"data.checked\">\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\n {{data.label}}\n </label>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"(field?.value?.length || 0) == 0\">\n <div class=\"form-check mb-5\" *ngFor=\"let data of field.sourceData[field.dataSourceType]\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" id=\"flexCheckChecked\" [(ngModel)]=\"data.checked\">\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\n {{data.name}}\n </label>\n </div>\n </ng-container>\n </div>\n </ng-template>\n\n\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n</section>\n", styles: [".total_container{height:auto;position:relative}.body-section{padding:4% 15px}.button-section{margin-top:15px}.clipPath{clip-path:polygon(0% 100%,50% 0%,100% 100%);height:100px;background-color:#00f}.hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.mt-15{margin-top:15px}@media only screen and (max-width: 475px){.d-flex{justify-content:center;margin-bottom:25px}}.main-section{width:100%;overflow-y:hidden}.subTabs_section{padding:1rem 5rem;height:12vh}.active_route_section{height:89%;border:1px solid #0000000F;padding:15px 20px;background-color:#fff;border-radius:6px}.active_route_section_normal{background-color:#f6f6f6;border:none;padding:10px 4rem}.list_tabs{border:1px solid #0000001A;background-color:#ffffffe5;padding:10px;border-radius:6px;gap:10px;height:50px}.single_tab{color:#0e233c99;font-size:14px;font-weight:500;font-family:interReg;padding:10px 20px}.single_tab_active{width:max-content;height:32px;background-color:#0015800a;display:flex;align-items:center;font-weight:600;padding:10px 20px;border-radius:4px;color:#0e233c}.align-items-center{align-items:center}.header{height:8vh;padding:10px;border-bottom:2px solid rgba(0,0,0,.06);display:flex}.p-5{padding:5rem}.backToLeads{color:#000!important}.body{margin:1rem 5rem 0rem;box-shadow:#00000029 0 1px 4px;padding:2rem;border-radius:10px}.profile-img{display:flex;align-items:center;gap:2rem}.mt-2{margin-top:2rem!important}.mt-1{margin-top:1rem!important}.image-box{display:flex;gap:1rem;margin-top:3rem;cursor:pointer}.image-box span{color:#0189ea;font-size:14px;font-weight:500;padding:11px 7rem;border:2px solid rgba(0,0,0,.06);height:47px;border-radius:10px}.image_box{display:flex;align-items:center}.dummy-image{height:55px}.label-text{font-weight:400;font-family:Inter;font-size:14px;color:#434443}.input-text{border-radius:7px;border:2px solid rgba(208,213,221,1);height:42px;width:100%;margin-top:5px;padding-left:10px}.footer{display:flex;gap:1rem;align-items:center;justify-content:flex-end;height:8vh;padding:10px;border-top:2px solid rgba(0,0,0,.06);position:absolute;bottom:0;width:100%}.footer .continue{font-size:13px;font-family:interMedium;color:#242424;font-weight:500;border:none;background-color:#f6c318;padding:10px 20px;border-radius:8px;width:max-content}.footer .cancel{font-size:13px;font-family:interMedium;color:#f6c318;font-weight:500;border:1px solid #F6C318;background-color:#fff;padding:10px 20px;border-radius:8px;width:max-content}.main-content{overflow:scroll;padding-top:5px;padding-bottom:10px}.button-parent{padding:1rem 5rem 1rem 2rem;align-items:center;display:flex;justify-content:flex-end}.button{font-size:16px!important;padding:1rem 2rem;display:inline-flex;align-items:center;justify-content:center;width:fit-content!important}.payment-details{margin:1rem 5rem 0rem;box-shadow:#00000029 0 1px 4px;border-radius:10px}.mb-5{margin-bottom:5px!important}.addedImg{display:flex;gap:5%;width:95%;margin-top:2rem}.addedImg .uploadedImg img{height:65px;width:65px;border-radius:50%}.addedImg .image-buttons{display:flex;gap:3%;padding-top:20px}.addedImg .image-buttons .button{display:flex;gap:8px;width:142px;height:40px;padding:12px 8px;font-family:lexandMedium;color:#3f3b3b;font-style:normal;font-weight:500;font-size:12px!important;border:1px dashed #E4E7EC;border-radius:12px;cursor:pointer}.addedImg .image-buttons .button img{width:20px}.addedImg .image-buttons .button .delete{display:flex;gap:15%;width:60%;margin:auto}.addedImg .image-buttons .button .delete img{width:12px}.emptyText{height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px}.emptyText img{height:200px}@media screen and (max-width: 475px){.body{margin:0rem}.emptyText{padding:1rem}.emptyText img{width:100%}.subTabs_section{padding:1rem .5rem}.list_tabs{white-space:nowrap;overflow:scroll;justify-content:flex-start}.payment-details{margin:0rem}}.mtb-15{margin-top:15px;margin-bottom:15px}.checkbox-label{display:flex;align-items:center;gap:15px}.checkbox-label input{height:16px;width:16px}.upload-file{display:flex;align-items:center;justify-content:space-between;padding-right:10px}.upload-file mat-icon{color:#4caf50}.upload-file p{margin-bottom:0}@media only screen and (min-width: 320px) and (max-width : 500px){.image-box span{padding:11px 4rem}}\n"] }]
9481
9481
  }], ctorParameters: () => [{ type: RestService }, { type: i2$3.MatSnackBar }, { type: EventsService }, { type: i2$2.ActivatedRoute }, { type: i1.DomSanitizer }, { type: ImageUplaodService }], propDecorators: { data: [{
9482
9482
  type: Input
9483
9483
  }], index: [{