ng-ipa-library 0.6.5 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,9 +18,9 @@ export class ErrorInterceptor {
18
18
  const toastrConfig = {
19
19
  disableTimeOut: true,
20
20
  };
21
- switch (response === null || response === void 0 ? void 0 : response.statusCode) {
21
+ switch (response.statusCode) {
22
22
  case 500:
23
- this.toastrService.error((response === null || response === void 0 ? void 0 : response.innerException) + ' ' + (response === null || response === void 0 ? void 0 : response.stackTrace), response === null || response === void 0 ? void 0 : response.message, toastrConfig);
23
+ this.toastrService.error((response === null || response === void 0 ? void 0 : response.innerException) + ' ' + (response === null || response === void 0 ? void 0 : response.stackTrace), response.message, toastrConfig);
24
24
  break;
25
25
  default:
26
26
  this.toastrService.error(response.message, '', toastrConfig);
@@ -43,4 +43,4 @@ ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: ErrorInterceptor, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: function () { return [{ type: i1.ErrorService }, { type: i2.ToastrService }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNVLFlBQTBCLEVBQzFCLGFBQTRCO1FBRDVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFSixTQUFTLENBQ1AsR0FBeUIsRUFDekIsSUFBaUI7UUFFakIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzFCLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFxQixDQUFDO1lBQzdDLE1BQU0sWUFBWSxHQUE4QjtnQkFDOUMsY0FBYyxFQUFFLElBQUk7YUFDckIsQ0FBQztZQUNGLFFBQVEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFVBQVUsRUFBRTtnQkFDNUIsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUN0QixDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxjQUFjLElBQUcsR0FBRyxJQUFHLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxVQUFVLENBQUEsRUFDckQsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLE9BQU8sRUFDakIsWUFBWSxDQUNiLENBQUM7b0JBQ0YsTUFBTTtnQkFFUjtvQkFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDN0QsTUFBTTthQUNUO1lBQ0QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBcUI7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUN4QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NkdBN0NVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaUV4Y2VwdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hcGlFeGNlcHRpb24nO1xyXG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBFcnJvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICBpZiAodGhpcy5pc0V4Y2VwdGlvbihyZXEpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBBcGlFeGNlcHRpb247XHJcbiAgICAgICAgY29uc3QgdG9hc3RyQ29uZmlnOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge1xyXG4gICAgICAgICAgZGlzYWJsZVRpbWVPdXQ6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlPy5zdGF0dXNDb2RlKSB7XHJcbiAgICAgICAgICBjYXNlIDUwMDpcclxuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKFxyXG4gICAgICAgICAgICAgIHJlc3BvbnNlPy5pbm5lckV4Y2VwdGlvbiArICcgJyArIHJlc3BvbnNlPy5zdGFja1RyYWNlLFxyXG4gICAgICAgICAgICAgIHJlc3BvbnNlPy5tZXNzYWdlLFxyXG4gICAgICAgICAgICAgIHRvYXN0ckNvbmZpZ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IocmVzcG9uc2UubWVzc2FnZSwgJycsIHRvYXN0ckNvbmZpZyk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNFeGNlcHRpb24ocmVxOiBIdHRwUmVxdWVzdDxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICBmb3IgKGNvbnN0IHVybCBvZiB0aGlzLmVycm9yU2VydmljZS51cmxzKSB7XHJcbiAgICAgIGlmIChyZXEudXJsLmluY2x1ZGVzKHVybC5wYXRoKSAmJiByZXEubWV0aG9kID09PSB1cmwubWV0aG9kKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNVLFlBQTBCLEVBQzFCLGFBQTRCO1FBRDVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFSixTQUFTLENBQ1AsR0FBeUIsRUFDekIsSUFBaUI7UUFFakIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzFCLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFxQixDQUFDO1lBQzdDLE1BQU0sWUFBWSxHQUE4QjtnQkFDOUMsY0FBYyxFQUFFLElBQUk7YUFDckIsQ0FBQztZQUNGLFFBQVEsUUFBUSxDQUFDLFVBQVUsRUFBRTtnQkFDM0IsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUN0QixDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxjQUFjLElBQUcsR0FBRyxJQUFHLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxVQUFVLENBQUEsRUFDckQsUUFBUSxDQUFDLE9BQU8sRUFDaEIsWUFBWSxDQUNiLENBQUM7b0JBQ0YsTUFBTTtnQkFFUjtvQkFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDN0QsTUFBTTthQUNUO1lBQ0QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBcUI7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUN4QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NkdBN0NVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaUV4Y2VwdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hcGlFeGNlcHRpb24nO1xyXG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBFcnJvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICBpZiAodGhpcy5pc0V4Y2VwdGlvbihyZXEpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBBcGlFeGNlcHRpb247XHJcbiAgICAgICAgY29uc3QgdG9hc3RyQ29uZmlnOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge1xyXG4gICAgICAgICAgZGlzYWJsZVRpbWVPdXQ6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1c0NvZGUpIHtcclxuICAgICAgICAgIGNhc2UgNTAwOlxyXG4gICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IoXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2U/LmlubmVyRXhjZXB0aW9uICsgJyAnICsgcmVzcG9uc2U/LnN0YWNrVHJhY2UsXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UubWVzc2FnZSxcclxuICAgICAgICAgICAgICB0b2FzdHJDb25maWdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKHJlc3BvbnNlLm1lc3NhZ2UsICcnLCB0b2FzdHJDb25maWcpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzRXhjZXB0aW9uKHJlcTogSHR0cFJlcXVlc3Q8YW55Pik6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChjb25zdCB1cmwgb2YgdGhpcy5lcnJvclNlcnZpY2UudXJscykge1xyXG4gICAgICBpZiAocmVxLnVybC5pbmNsdWRlcyh1cmwucGF0aCkgJiYgcmVxLm1ldGhvZCA9PT0gdXJsLm1ldGhvZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -12,7 +12,6 @@ import * as i8 from "@angular/common";
12
12
  export class GenerateFormComponent {
13
13
  constructor(validationService) {
14
14
  this.validationService = validationService;
15
- // recaptcha inputs
16
15
  this.recaptchaSize = 'normal';
17
16
  this.lang = 'ar';
18
17
  this.recaptchaType = 'image';
@@ -22,8 +21,6 @@ export class GenerateFormComponent {
22
21
  this.successUpload = new EventEmitter();
23
22
  this.fileAdded = new EventEmitter();
24
23
  this.fileDeleted = new EventEmitter();
25
- //recaptcha outputs
26
- this.recaptchaOutput = new EventEmitter();
27
24
  }
28
25
  ngOnInit() {
29
26
  this.createForm();
@@ -61,7 +58,6 @@ export class GenerateFormComponent {
61
58
  : Validators.nullValidator,
62
59
  ]));
63
60
  }
64
- this.assignRecaptchaData(column);
65
61
  });
66
62
  }
67
63
  addCheckboxControl(column) {
@@ -85,35 +81,12 @@ export class GenerateFormComponent {
85
81
  });
86
82
  }
87
83
  getCheckboxSelectedValues(items) {
88
- let selecedItems = items.filter((item) => item.checkbox);
89
- return selecedItems.length > 0 ? selecedItems : null;
90
- }
91
- assignRecaptchaData(col) {
92
- var _a, _b;
93
- this.recaptchaSize =
94
- col.recaptchaSize == 'compact'
95
- ? 'compact'
96
- : col.recaptchaSize == 'normal'
97
- ? 'normal'
98
- : this.recaptchaSize;
99
- this.lang = (_a = col.lang) !== null && _a !== void 0 ? _a : this.lang;
100
- this.recaptchaType =
101
- col.recaptchaType == 'image'
102
- ? 'image'
103
- : col.recaptchaType == 'audio'
104
- ? 'audio'
105
- : this.recaptchaType;
106
- this.theme =
107
- col.theme == 'dark'
108
- ? 'dark'
109
- : col.theme == 'light'
110
- ? 'light'
111
- : this.theme;
112
- this.useGlobalDomain = (_b = col.useGlobalDomain) !== null && _b !== void 0 ? _b : this.useGlobalDomain;
84
+ let selectedItems = items.filter((item) => item.checkbox);
85
+ return selectedItems.length > 0 ? selectedItems : null;
113
86
  }
114
87
  }
115
88
  GenerateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: GenerateFormComponent, deps: [{ token: i1.IPAFormService }], target: i0.ɵɵFactoryTarget.Component });
116
- GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted", recaptchaOutput: "recaptchaOutput" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data\" [valueField]=\"column.valueField\"\r\n [textField]=\"column.textField\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value.id\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value.id\">\r\n {{control.value.description}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item.id\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item.id\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item.id\">\r\n {{item.description}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles\"\r\n [multiple]=\"column.multipleFile\" [maxFileSize]=\"column.size\" [method]=\"column.apiURlMethod\"\r\n [autoUpload]=\"column.autoUploadFile\" [apiUrl]=\"column.apiUrl\" [authorization]=\"authorization\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"lang\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.englishName}}\"></ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: i2.TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: i3.DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "disabled", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: i4.FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: i5.RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }, { type: i6.TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }], directives: [{ type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i7.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i7.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i7.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
89
+ GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data!\" [valueField]=\"column.valueField!\"\r\n [textField]=\"column.textField!\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value[column.valueField!]\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item[column.valueField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\r\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\r\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"lang\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.englishName}}\"></ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: i2.TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: i3.DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "disabled", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: i4.FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: i5.RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }, { type: i6.TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }], directives: [{ type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i7.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i7.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i7.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
117
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: GenerateFormComponent, decorators: [{
118
91
  type: Component,
119
92
  args: [{
@@ -125,6 +98,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImpor
125
98
  type: Input
126
99
  }], form: [{
127
100
  type: Input
101
+ }], siteKey: [{
102
+ type: Input
128
103
  }], recaptchaSize: [{
129
104
  type: Input
130
105
  }], lang: [{
@@ -135,15 +110,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImpor
135
110
  type: Input
136
111
  }], useGlobalDomain: [{
137
112
  type: Input
138
- }], authorization: [{
139
- type: Input
140
113
  }], successUpload: [{
141
114
  type: Output
142
115
  }], fileAdded: [{
143
116
  type: Output
144
117
  }], fileDeleted: [{
145
118
  type: Output
146
- }], recaptchaOutput: [{
147
- type: Output
148
119
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVN4QixNQUFNLE9BQU8scUJBQXFCO0lBdUJoQyxZQUFvQixpQkFBaUM7UUFBakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFnQjtRQW5CckQsbUJBQW1CO1FBQ1Ysa0JBQWEsR0FBeUIsUUFBUSxDQUFDO1FBQy9DLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixrQkFBYSxHQUFzQixPQUFPLENBQUM7UUFDM0MsVUFBSyxHQUFxQixPQUFPLENBQUM7UUFDbEMsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFLaEMsc0JBQXNCO1FBQ1osa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyxtQkFBbUI7UUFDVCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFHUyxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUks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QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFHRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBGb3JtQXJyYXksXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIFZhbGlkYXRvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJUEFGb3JtU2VydmljZSB9IGZyb20gJy4uL2lwYS1mb3JtL2lwYS1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb2x1bW5zLCBHZW5lcmF0ZUZvcm0gfSBmcm9tICcuLi9tb2RlbHMvZ2VuZXJhdGVGb3JtLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXBhLWdlbmVyYXRlLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5lcmF0ZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmF0ZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmF0ZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGdlbmVyYXRlRm9ybSE6IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBmb3JtITogR2VuZXJhdGVGb3JtO1xyXG5cclxuICAvLyByZWNhcHRjaGEgaW5wdXRzXHJcbiAgQElucHV0KCkgcmVjYXB0Y2hhU2l6ZTogJ2NvbXBhY3QnIHwgJ25vcm1hbCcgPSAnbm9ybWFsJztcclxuICBASW5wdXQoKSBsYW5nID0gJ2FyJztcclxuICBASW5wdXQoKSByZWNhcHRjaGFUeXBlOiAnaW1hZ2UnIHwgJ2F1ZGlvJyA9ICdpbWFnZSc7XHJcbiAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgPSAnbGlnaHQnO1xyXG4gIEBJbnB1dCgpIHVzZUdsb2JhbERvbWFpbiA9IHRydWU7XHJcblxyXG4gIC8vIGZpbGUgdXBsb2FkIGlucHV0c1xyXG4gIEBJbnB1dCgpIGF1dGhvcml6YXRpb24hOiBzdHJpbmc7XHJcblxyXG4gIC8vIGZpbGUgdXBsb2FkIG91dHB1dHNcclxuICBAT3V0cHV0KCkgc3VjY2Vzc1VwbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsZUFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmaWxlRGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLy9yZWNhcHRjaGEgb3V0cHV0c1xyXG4gIEBPdXRwdXQoKSByZWNhcHRjaGFPdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZXJyb3JNc2chOiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbGlkYXRpb25TZXJ2aWNlOiBJUEFGb3JtU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIGdldCBmb3JtQ29udHJvbHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZUZvcm0uZ2V0KCdpdGVtcycpIGFzIEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldEVycm9yTWVzc2FnZShmb3JtQ29udHJvbE5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lXHJcbiAgICBdIGFzIEZvcm1Db250cm9sO1xyXG4gICAgdGhpcy5lcnJvck1zZyA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKGZvcm1Db250cm9sKTtcclxuICAgIHJldHVybiB0aGlzLmVycm9yTXNnO1xyXG4gIH1cclxuXHJcbiAgU3VjY2Vzc1VwbG9hZChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnN1Y2Nlc3NVcGxvYWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBGaWxlQWRkZWQoZmlsZTogYW55LCBmb3JtQ29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUZvcm0uY29udHJvbHNbZm9ybUNvbnRyb2xOYW1lXS5wYXRjaFZhbHVlKGZpbGUpO1xyXG4gICAgdGhpcy5maWxlQWRkZWQuZW1pdChmaWxlKTtcclxuICB9XHJcblxyXG4gIEZpbGVEZWxldGVkKGV2ZW50OiBhbnksIGZvcm1Db250cm9sTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLnBhdGNoVmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbGVEZWxldGVkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xyXG4gICAgdGhpcy5mb3JtLmNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XHJcbiAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2NoZWNrYm94Jykge1xyXG4gICAgICAgIHRoaXMuYWRkQ2hlY2tib3hDb250cm9sKGNvbHVtbik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUZvcm0uYWRkQ29udHJvbChcclxuICAgICAgICAgIGNvbHVtbi5lbmdsaXNoTmFtZSxcclxuICAgICAgICAgIG5ldyBGb3JtQ29udHJvbChudWxsLCBbXHJcbiAgICAgICAgICAgIGNvbHVtbi5yZXF1aXJlZCA/IFZhbGlkYXRvcnMucmVxdWlyZWQgOiBWYWxpZGF0b3JzLm51bGxWYWxpZGF0b3IsXHJcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKGNvbHVtbi5zaXplKSxcclxuICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09ICdudW1iZXInXHJcbiAgICAgICAgICAgICAgPyBWYWxpZGF0b3JzLm1pbigxKVxyXG4gICAgICAgICAgICAgIDogVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yLFxyXG4gICAgICAgICAgXSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYXNzaWduUmVjYXB0Y2hhRGF0YShjb2x1bW4pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZENoZWNrYm94Q29udHJvbChjb2x1bW46IENvbHVtbnMpIHtcclxuICAgIGxldCBjaGVja2JveEdyb3VwID0gbmV3IEZvcm1BcnJheShcclxuICAgICAgY29sdW1uLmRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICAgICAgW2NvbHVtbi52YWx1ZUZpZWxkXTogbmV3IEZvcm1Db250cm9sKGl0ZW1bY29sdW1uLnZhbHVlRmllbGRdKSxcclxuICAgICAgICAgIFtjb2x1bW4udGV4dEZpZWxkXTogbmV3IEZvcm1Db250cm9sKGl0ZW1bY29sdW1uLnRleHRGaWVsZF0pLFxyXG4gICAgICAgICAgY2hlY2tib3g6IG5ldyBGb3JtQ29udHJvbChmYWxzZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmFkZENvbnRyb2woXHJcbiAgICAgIGNvbHVtbi5lbmdsaXNoTmFtZSxcclxuICAgICAgbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgY29sdW1uLnJlcXVpcmVkID8gVmFsaWRhdG9ycy5yZXF1aXJlZCA6IFZhbGlkYXRvcnMubnVsbFZhbGlkYXRvclxyXG4gICAgICApXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUZvcm0uYWRkQ29udHJvbCgnaXRlbXMnLCBjaGVja2JveEdyb3VwKTtcclxuICAgIGNoZWNrYm94R3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKHRoaXMuZ2V0Q2hlY2tib3hTZWxlY3RlZFZhbHVlcyh2YWx1ZSkpIHtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tjb2x1bW4uZW5nbGlzaE5hbWVdLnBhdGNoVmFsdWUodmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW2NvbHVtbi5lbmdsaXNoTmFtZV0ucGF0Y2hWYWx1ZShudWxsKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tjb2x1bW4uZW5nbGlzaE5hbWVdLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENoZWNrYm94U2VsZWN0ZWRWYWx1ZXMoaXRlbXM6IGFueVtdKSB7XHJcbiAgICBsZXQgc2VsZWNlZEl0ZW1zID0gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNoZWNrYm94KTtcclxuICAgIHJldHVybiBzZWxlY2VkSXRlbXMubGVuZ3RoID4gMCA/IHNlbGVjZWRJdGVtcyA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzc2lnblJlY2FwdGNoYURhdGEoY29sOiBDb2x1bW5zKSB7XHJcbiAgICB0aGlzLnJlY2FwdGNoYVNpemUgPVxyXG4gICAgICBjb2wucmVjYXB0Y2hhU2l6ZSA9PSAnY29tcGFjdCdcclxuICAgICAgICA/ICdjb21wYWN0J1xyXG4gICAgICAgIDogY29sLnJlY2FwdGNoYVNpemUgPT0gJ25vcm1hbCdcclxuICAgICAgICA/ICdub3JtYWwnXHJcbiAgICAgICAgOiB0aGlzLnJlY2FwdGNoYVNpemU7XHJcbiAgICB0aGlzLmxhbmcgPSBjb2wubGFuZyA/PyB0aGlzLmxhbmc7XHJcbiAgICB0aGlzLnJlY2FwdGNoYVR5cGUgPVxyXG4gICAgICBjb2wucmVjYXB0Y2hhVHlwZSA9PSAnaW1hZ2UnXHJcbiAgICAgICAgPyAnaW1hZ2UnXHJcbiAgICAgICAgOiBjb2wucmVjYXB0Y2hhVHlwZSA9PSAnYXVkaW8nXHJcbiAgICAgICAgPyAnYXVkaW8nXHJcbiAgICAgICAgOiB0aGlzLnJlY2FwdGNoYVR5cGU7XHJcbiAgICB0aGlzLnRoZW1lID1cclxuICAgICAgY29sLnRoZW1lID09ICdkYXJrJ1xyXG4gICAgICAgID8gJ2RhcmsnXHJcbiAgICAgICAgOiBjb2wudGhlbWUgPT0gJ2xpZ2h0J1xyXG4gICAgICAgID8gJ2xpZ2h0J1xyXG4gICAgICAgIDogdGhpcy50aGVtZTtcclxuICAgIHRoaXMudXNlR2xvYmFsRG9tYWluID0gY29sLnVzZUdsb2JhbERvbWFpbiA/PyB0aGlzLnVzZUdsb2JhbERvbWFpbjtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJnZW5lcmF0ZUZvcm1cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBmb3JtLmNvbHVtbnNcIj5cclxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJjb2x1bW4udHlwZVwiPlxyXG4gICAgICAgICAgICA8IS0tIFRFWFRBUkVBIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIndGV4dEFyZWEnXCI+XHJcbiAgICAgICAgICAgICAgICA8aXBhLXRleHRhcmVhLWlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwiY29sdW1uLmVuZ2xpc2hOYW1lXCIgW2lkXT1cImNvbHVtbi5lbmdsaXNoTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbHVtbi5hcmFiaWNMYWJlbFwiIFtyZXF1aXJlZF09XCJjb2x1bW4ucmVxdWlyZWRcIiBbcGF0dGVybl09XCJjb2x1bW4ucGF0dGVyblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhdHRlcm5FcnJvck1zZ109XCJjb2x1bW4ucGF0dGVybkVycm9yTXNnXCIgW2NsYXNzZXNdPVwiY29sdW1uLmNsYXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJDbGFzc2VzXT1cImNvbHVtbi5jb250YWluZXJDbGFzc2VzXCI+PC9pcGEtdGV4dGFyZWEtaW5wdXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBEUk9QIERPV04gTElTVCAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cclxuICAgICAgICAgICAgICAgIDxpcGEtZHJvcGRvd24taW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIiBbaWRdPVwiY29sdW1uLmVuZ2xpc2hOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29sdW1uLmFyYWJpY0xhYmVsXCIgW2l0ZW1zXT1cImNvbHVtbi5kYXRhXCIgW3ZhbHVlRmllbGRdPVwiY29sdW1uLnZhbHVlRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiY29sdW1uLnRleHRGaWVsZFwiIFtyZXF1aXJlZF09XCJjb2x1bW4ucmVxdWlyZWRcIiBbcGF0dGVybl09XCJjb2x1bW4ucGF0dGVyblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhdHRlcm5FcnJvck1zZ109XCJjb2x1bW4ucGF0dGVybkVycm9yTXNnXCIgW2NsYXNzZXNdPVwiY29sdW1uLmNsYXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb250YWluZXJDbGFzc2VzXT1cImNvbHVtbi5jb250YWluZXJDbGFzc2VzXCI+XHJcbiAgICAgICAgICAgICAgICA8L2lwYS1kcm9wZG93bi1pbnB1dD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIENIRUNLQk9YIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIj57e2NvbHVtbi5hcmFiaWNMYWJlbH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1BcnJheU5hbWVdPVwiJ2l0ZW1zJ1wiICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGZvcm1Db250cm9scy5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiIFtpZF09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbaWRdPVwiY29sdW1uLmVuZ2xpc2hOYW1lK2NvbnRyb2wudmFsdWUuaWRcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgW2Zvcl09XCJjb2x1bW4uZW5nbGlzaE5hbWUrY29udHJvbC52YWx1ZS5pZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29udHJvbC52YWx1ZS5kZXNjcmlwdGlvbn19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEVycm9yTWVzc2FnZShjb2x1bW4uZW5nbGlzaE5hbWUpICE9PSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tlcnJvck1zZ319XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFJBRElPIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIj57e2NvbHVtbi5hcmFiaWNMYWJlbH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1uLmRhdGE7IGxldCBpID0gaW5kZXhcIiBbaWRdPVwiY29sdW1uLmVuZ2xpc2hOYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtpZF09XCJjb2x1bW4uZW5nbGlzaE5hbWUraXRlbS5pZFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbi5lbmdsaXNoTmFtZVwiIFt2YWx1ZV09XCJpdGVtLmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cImNvbHVtbi5lbmdsaXNoTmFtZStpdGVtLmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW0uZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiIHN0eWxlPVwiZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0RXJyb3JNZXNzYWdlKGNvbHVtbi5lbmdsaXNoTmFtZSkgIT09IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2Vycm9yTXNnfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gRklMRSBVUExPQUQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidmaWxlJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGlwYS1maWxlLXVwbG9hZCBbbGFiZWxdPVwiY29sdW1uLmFyYWJpY0xhYmVsXCIgW2FjY2VwdGVkRmlsZXNdPVwiY29sdW1uLmFjY2VwdGVkRmlsZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJjb2x1bW4ubXVsdGlwbGVGaWxlXCIgW21heEZpbGVTaXplXT1cImNvbHVtbi5zaXplXCIgW21ldGhvZF09XCJjb2x1bW4uYXBpVVJsTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXV0b1VwbG9hZF09XCJjb2x1bW4uYXV0b1VwbG9hZEZpbGVcIiBbYXBpVXJsXT1cImNvbHVtbi5hcGlVcmxcIiBbYXV0aG9yaXphdGlvbl09XCJhdXRob3JpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBuZ0RlZmF1bHRDb250cm9sIFtmb3JtQ29udHJvbE5hbWVdPVwiY29sdW1uLmVuZ2xpc2hOYW1lXCIgKHN1Y2Nlc3NVcGxvYWQpPVwiU3VjY2Vzc1VwbG9hZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZmlsZUFkZGVkKT1cIkZpbGVBZGRlZCgkZXZlbnQsIGNvbHVtbi5lbmdsaXNoTmFtZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChmaWxlRGVsZXRlZCk9XCJGaWxlRGVsZXRlZCgkZXZlbnQsIGNvbHVtbi5lbmdsaXNoTmFtZSlcIj48L2lwYS1maWxlLXVwbG9hZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIHJlY2FwdGNoYSAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3JlY2FwdGNoYSdcIj5cclxuICAgICAgICAgICAgICAgIDxpcGEtcmVjYXB0Y2hhIFtyZWNhcHRjaGFTaXplXT1cInJlY2FwdGNoYVNpemVcIiBbbGFuZ109XCJsYW5nXCIgW3RoZW1lXT1cInRoZW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVjYXB0Y2hhVHlwZV09XCJyZWNhcHRjaGFUeXBlXCIgW3VzZUdsb2JhbERvbWFpbl09XCJ1c2VHbG9iYWxEb21haW5cIlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInt7Y29sdW1uLmVuZ2xpc2hOYW1lfX1cIj48L2lwYS1yZWNhcHRjaGE+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBERUZBVUxUIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICA8aXBhLXRleHQtaW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIiBbaWRdPVwiY29sdW1uLmVuZ2xpc2hOYW1lXCIgW3R5cGVdPVwiY29sdW1uLnR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb2x1bW4uYXJhYmljTGFiZWxcIiBbcmVxdWlyZWRdPVwiY29sdW1uLnJlcXVpcmVkXCIgW3BhdHRlcm5dPVwiY29sdW1uLnBhdHRlcm5cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwYXR0ZXJuRXJyb3JNc2ddPVwiY29sdW1uLnBhdHRlcm5FcnJvck1zZ1wiIFtjbGFzc2VzXT1cImNvbHVtbi5jbGFzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyQ2xhc3Nlc109XCJjb2x1bW4uY29udGFpbmVyQ2xhc3Nlc1wiPjwvaXBhLXRleHQtaW5wdXQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvZm9ybT4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2dlbmVyYXRlLWZvcm0vZ2VuZXJhdGUtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVN4QixNQUFNLE9BQU8scUJBQXFCO0lBbUJoQyxZQUFvQixpQkFBaUM7UUFBakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFnQjtRQWI1QyxrQkFBYSxHQUF5QixRQUFRLENBQUM7UUFDL0MsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLGtCQUFhLEdBQXNCLE9BQU8sQ0FBQztRQUMzQyxVQUFLLEdBQXFCLE9BQU8sQ0FBQztRQUNsQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUVoQyxzQkFBc0I7UUFDWixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSWEsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBYyxDQUFDO0lB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STtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRm9ybUFycmF5LFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSVBBRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9pcGEtZm9ybS9pcGEtZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29sdW1uLCBHZW5lcmF0ZUZvcm0gfSBmcm9tICcuLi9tb2RlbHMvZ2VuZXJhdGVGb3JtLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXBhLWdlbmVyYXRlLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5lcmF0ZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmF0ZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmF0ZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGdlbmVyYXRlRm9ybSE6IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBmb3JtITogR2VuZXJhdGVGb3JtO1xyXG5cclxuICAvLyByZWNhcHRjaGEgaW5wdXRzXHJcbiAgQElucHV0KCkgc2l0ZUtleSE6IHN0cmluZztcclxuICBASW5wdXQoKSByZWNhcHRjaGFTaXplOiAnY29tcGFjdCcgfCAnbm9ybWFsJyA9ICdub3JtYWwnO1xyXG4gIEBJbnB1dCgpIGxhbmcgPSAnYXInO1xyXG4gIEBJbnB1dCgpIHJlY2FwdGNoYVR5cGU6ICdpbWFnZScgfCAnYXVkaW8nID0gJ2ltYWdlJztcclxuICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyA9ICdsaWdodCc7XHJcbiAgQElucHV0KCkgdXNlR2xvYmFsRG9tYWluID0gdHJ1ZTtcclxuXHJcbiAgLy8gZmlsZSB1cGxvYWQgb3V0cHV0c1xyXG4gIEBPdXRwdXQoKSBzdWNjZXNzVXBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmaWxlQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZpbGVEZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBlcnJvck1zZyE6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2U6IElQQUZvcm1TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZvcm1Db250cm9scygpIHtcclxuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlRm9ybS5nZXQoJ2l0ZW1zJykgYXMgRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JNZXNzYWdlKGZvcm1Db250cm9sTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW1xyXG4gICAgICBmb3JtQ29udHJvbE5hbWVcclxuICAgIF0gYXMgRm9ybUNvbnRyb2w7XHJcbiAgICB0aGlzLmVycm9yTXNnID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZm9ybUNvbnRyb2wpO1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNc2c7XHJcbiAgfVxyXG5cclxuICBTdWNjZXNzVXBsb2FkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc3VjY2Vzc1VwbG9hZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIEZpbGVBZGRlZChmaWxlOiBhbnksIGZvcm1Db250cm9sTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tmb3JtQ29udHJvbE5hbWVdLnBhdGNoVmFsdWUoZmlsZSk7XHJcbiAgICB0aGlzLmZpbGVBZGRlZC5lbWl0KGZpbGUpO1xyXG4gIH1cclxuXHJcbiAgRmlsZURlbGV0ZWQoZXZlbnQ6IGFueSwgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW2Zvcm1Db250cm9sTmFtZV0ucGF0Y2hWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsZURlbGV0ZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XHJcbiAgICB0aGlzLmZvcm0uY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgaWYgKGNvbHVtbi50eXBlID09PSAnY2hlY2tib3gnKSB7XHJcbiAgICAgICAgdGhpcy5hZGRDaGVja2JveENvbnRyb2woY29sdW1uKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlRm9ybS5hZGRDb250cm9sKFxyXG4gICAgICAgICAgY29sdW1uLmVuZ2xpc2hOYW1lLFxyXG4gICAgICAgICAgbmV3IEZvcm1Db250cm9sKG51bGwsIFtcclxuICAgICAgICAgICAgY29sdW1uLnJlcXVpcmVkID8gVmFsaWRhdG9ycy5yZXF1aXJlZCA6IFZhbGlkYXRvcnMubnVsbFZhbGlkYXRvcixcclxuICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoY29sdW1uLnNpemUhKSxcclxuICAgICAgICAgICAgY29sdW1uLnR5cGUgPT09ICdudW1iZXInXHJcbiAgICAgICAgICAgICAgPyBWYWxpZGF0b3JzLm1pbigxKVxyXG4gICAgICAgICAgICAgIDogVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yLFxyXG4gICAgICAgICAgXSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQ2hlY2tib3hDb250cm9sKGNvbHVtbjogQ29sdW1uKSB7XHJcbiAgICBsZXQgY2hlY2tib3hHcm91cCA9IG5ldyBGb3JtQXJyYXkoXHJcbiAgICAgIGNvbHVtbi5kYXRhIS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgICAgICBbY29sdW1uLnZhbHVlRmllbGQhXTogbmV3IEZvcm1Db250cm9sKGl0ZW1bY29sdW1uLnZhbHVlRmllbGQhXSksXHJcbiAgICAgICAgICBbY29sdW1uLnRleHRGaWVsZCFdOiBuZXcgRm9ybUNvbnRyb2woaXRlbVtjb2x1bW4udGV4dEZpZWxkIV0pLFxyXG4gICAgICAgICAgY2hlY2tib3g6IG5ldyBGb3JtQ29udHJvbChmYWxzZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmFkZENvbnRyb2woXHJcbiAgICAgIGNvbHVtbi5lbmdsaXNoTmFtZSxcclxuICAgICAgbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgY29sdW1uLnJlcXVpcmVkID8gVmFsaWRhdG9ycy5yZXF1aXJlZCA6IFZhbGlkYXRvcnMubnVsbFZhbGlkYXRvclxyXG4gICAgICApXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZW5lcmF0ZUZvcm0uYWRkQ29udHJvbCgnaXRlbXMnLCBjaGVja2JveEdyb3VwKTtcclxuICAgIGNoZWNrYm94R3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKHRoaXMuZ2V0Q2hlY2tib3hTZWxlY3RlZFZhbHVlcyh2YWx1ZSkpIHtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tjb2x1bW4uZW5nbGlzaE5hbWVdLnBhdGNoVmFsdWUodmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVGb3JtLmNvbnRyb2xzW2NvbHVtbi5lbmdsaXNoTmFtZV0ucGF0Y2hWYWx1ZShudWxsKTtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlRm9ybS5jb250cm9sc1tjb2x1bW4uZW5nbGlzaE5hbWVdLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENoZWNrYm94U2VsZWN0ZWRWYWx1ZXMoaXRlbXM6IGFueVtdKSB7XHJcbiAgICBsZXQgc2VsZWN0ZWRJdGVtcyA9IGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jaGVja2JveCk7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwID8gc2VsZWN0ZWRJdGVtcyA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZ2VuZXJhdGVGb3JtXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgZm9ybS5jb2x1bW5zXCI+XHJcbiAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIj5cclxuICAgICAgICAgICAgPCEtLSBURVhUQVJFQSAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3RleHRBcmVhJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGlwYS10ZXh0YXJlYS1pbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbi5lbmdsaXNoTmFtZVwiIFtpZF09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb2x1bW4uYXJhYmljTGFiZWxcIiBbcmVxdWlyZWRdPVwiY29sdW1uLnJlcXVpcmVkXCIgW3BhdHRlcm5dPVwiY29sdW1uLnZhbGlkYXRpb25QYXR0ZXJuIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhdHRlcm5FcnJvck1zZ109XCJjb2x1bW4ucGF0dGVybkVycm9yTXNnIVwiIFtjbGFzc2VzXT1cImNvbHVtbi5pbnB1dENsYXNzZXMhXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29udGFpbmVyQ2xhc3Nlc109XCJjb2x1bW4uY29udGFpbmVyQ2xhc3NlcyFcIj48L2lwYS10ZXh0YXJlYS1pbnB1dD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIERST1AgRE9XTiBMSVNUIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiPlxyXG4gICAgICAgICAgICAgICAgPGlwYS1kcm9wZG93bi1pbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbi5lbmdsaXNoTmFtZVwiIFtpZF09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb2x1bW4uYXJhYmljTGFiZWxcIiBbaXRlbXNdPVwiY29sdW1uLmRhdGEhXCIgW3ZhbHVlRmllbGRdPVwiY29sdW1uLnZhbHVlRmllbGQhXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGV4dEZpZWxkXT1cImNvbHVtbi50ZXh0RmllbGQhXCIgW3JlcXVpcmVkXT1cImNvbHVtbi5yZXF1aXJlZFwiIFtwYXR0ZXJuXT1cImNvbHVtbi52YWxpZGF0aW9uUGF0dGVybiFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwYXR0ZXJuRXJyb3JNc2ddPVwiY29sdW1uLnBhdHRlcm5FcnJvck1zZyFcIiBbY2xhc3Nlc109XCJjb2x1bW4uaW5wdXRDbGFzc2VzIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckNsYXNzZXNdPVwiY29sdW1uLmNvbnRhaW5lckNsYXNzZXMhXCI+XHJcbiAgICAgICAgICAgICAgICA8L2lwYS1kcm9wZG93bi1pbnB1dD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIENIRUNLQk9YIC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIj57e2NvbHVtbi5hcmFiaWNMYWJlbH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1BcnJheU5hbWVdPVwiJ2l0ZW1zJ1wiICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGZvcm1Db250cm9scy5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiIFtpZF09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbaWRdPVwiY29sdW1uLmVuZ2xpc2hOYW1lK2NvbnRyb2wudmFsdWVbY29sdW1uLnZhbHVlRmllbGQhXVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cImNvbHVtbi5lbmdsaXNoTmFtZStjb250cm9sLnZhbHVlW2NvbHVtbi52YWx1ZUZpZWxkIV1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2NvbnRyb2wudmFsdWVbY29sdW1uLnRleHRGaWVsZCFdfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiIHN0eWxlPVwiZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0RXJyb3JNZXNzYWdlKGNvbHVtbi5lbmdsaXNoTmFtZSkgIT09IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2Vycm9yTXNnfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gUkFESU8gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidyYWRpbydcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImNvbHVtbi5lbmdsaXNoTmFtZVwiPnt7Y29sdW1uLmFyYWJpY0xhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW4uZGF0YTsgbGV0IGkgPSBpbmRleFwiIFtpZF09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW2lkXT1cImNvbHVtbi5lbmdsaXNoTmFtZStpdGVtW2NvbHVtbi52YWx1ZUZpZWxkIV1cIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwicmFkaW9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb2x1bW4uZW5nbGlzaE5hbWVcIiBbdmFsdWVdPVwiaXRlbVtjb2x1bW4udmFsdWVGaWVsZCFdXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cImNvbHVtbi5lbmdsaXNoTmFtZStpdGVtW2NvbHVtbi52YWx1ZUZpZWxkIV1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbVtjb2x1bW4udGV4dEZpZWxkIV19fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiIHN0eWxlPVwiZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ2V0RXJyb3JNZXNzYWdlKGNvbHVtbi5lbmdsaXNoTmFtZSkgIT09IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2Vycm9yTXNnfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gRklMRSBVUExPQUQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidmaWxlJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGlwYS1maWxlLXVwbG9hZCBbbGFiZWxdPVwiY29sdW1uLmFyYWJpY0xhYmVsXCIgW2FjY2VwdGVkRmlsZXNdPVwiY29sdW1uLmFjY2VwdGVkRmlsZXMhXCJcclxuICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwiY29sdW1uLm11bHRpcGxlRmlsZSFcIiBbbWF4RmlsZVNpemVdPVwiY29sdW1uLnNpemUhXCIgW21ldGhvZF09XCJjb2x1bW4uYXBpVVJsTWV0aG9kIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9VcGxvYWRdPVwiY29sdW1uLmF1dG9VcGxvYWRGaWxlIVwiIFthcGlVcmxdPVwiY29sdW1uLmFwaVVybD8/ICdhcGlVcmwnIFwiIFthdXRob3JpemF0aW9uXT1cImNvbHVtbi5hdXRob3JpemF0aW9uIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmdEZWZhdWx0Q29udHJvbCBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbHVtbi5lbmdsaXNoTmFtZVwiIChzdWNjZXNzVXBsb2FkKT1cIlN1Y2Nlc3NVcGxvYWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGZpbGVBZGRlZCk9XCJGaWxlQWRkZWQoJGV2ZW50LCBjb2x1bW4uZW5nbGlzaE5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZmlsZURlbGV0ZWQpPVwiRmlsZURlbGV0ZWQoJGV2ZW50LCBjb2x1bW4uZW5nbGlzaE5hbWUpXCI+PC9pcGEtZmlsZS11cGxvYWQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSByZWNhcHRjaGEgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidyZWNhcHRjaGEnXCI+XHJcbiAgICAgICAgICAgICAgICA8aXBhLXJlY2FwdGNoYSBbcmVjYXB0Y2hhU2l6ZV09XCJyZWNhcHRjaGFTaXplXCIgW2xhbmddPVwibGFuZ1wiIFt0aGVtZV09XCJ0aGVtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3JlY2FwdGNoYVR5cGVdPVwicmVjYXB0Y2hhVHlwZVwiIFt1c2VHbG9iYWxEb21haW5dPVwidXNlR2xvYmFsRG9tYWluXCJcclxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ7e2NvbHVtbi5lbmdsaXNoTmFtZX19XCI+PC9pcGEtcmVjYXB0Y2hhPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gREVGQVVMVCAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgICAgPGlwYS10ZXh0LWlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwiY29sdW1uLmVuZ2xpc2hOYW1lXCIgW2lkXT1cImNvbHVtbi5lbmdsaXNoTmFtZVwiIFt0eXBlXT1cImNvbHVtbi50eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29sdW1uLmFyYWJpY0xhYmVsXCIgW3JlcXVpcmVkXT1cImNvbHVtbi5yZXF1aXJlZFwiIFtwYXR0ZXJuXT1cImNvbHVtbi52YWxpZGF0aW9uUGF0dGVybiFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwYXR0ZXJuRXJyb3JNc2ddPVwiY29sdW1uLnBhdHRlcm5FcnJvck1zZyFcIiBbY2xhc3Nlc109XCJjb2x1bW4uaW5wdXRDbGFzc2VzIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRhaW5lckNsYXNzZXNdPVwiY29sdW1uLmNvbnRhaW5lckNsYXNzZXMhXCI+PC9pcGEtdGV4dC1pbnB1dD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9mb3JtPiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVGb3JtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9tb2RlbHMvZ2VuZXJhdGVGb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWNhcHRjaGEgfSBmcm9tICcuL3JlY2FwdGNoYS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlRm9ybSB7XHJcbiAgY29sdW1uczogQ29sdW1uc1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbnMgZXh0ZW5kcyBSZWNhcHRjaGEge1xyXG4gIGFyYWJpY0xhYmVsOiBzdHJpbmc7XHJcbiAgZW5nbGlzaE5hbWU6IHN0cmluZztcclxuICBwYXR0ZXJuOiBzdHJpbmc7XHJcbiAgY2xhc3Nlczogc3RyaW5nO1xyXG4gIGNvbnRhaW5lckNsYXNzZXM6IHN0cmluZztcclxuICB2YWx1ZUZpZWxkOiBzdHJpbmc7XHJcbiAgdGV4dEZpZWxkOiBzdHJpbmc7XHJcbiAgcGF0dGVybkVycm9yTXNnOiBzdHJpbmc7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHNpemU6IG51bWJlcjtcclxuICByZXF1aXJlZDogYm9vbGVhbjtcclxuICBkYXRhOiBEYXRhW10gfCBhbnlbXTtcclxuICBhY2NlcHRlZEZpbGVzOiBzdHJpbmc7XHJcbiAgbXVsdGlwbGVGaWxlOiBudW1iZXI7XHJcbiAgYXBpVXJsOiBzdHJpbmc7XHJcbiAgYXV0b1VwbG9hZEZpbGU6IGJvb2xlYW47XHJcbiAgYXBpVVJsTWV0aG9kOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVGb3JtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaXBhLWxpYnJhcnkvc3JjL2xpYi9tb2RlbHMvZ2VuZXJhdGVGb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlRm9ybSB7XHJcbiAgY29sdW1uczogQ29sdW1uW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uIHtcclxuICBhcmFiaWNMYWJlbDogc3RyaW5nO1xyXG4gIGVuZ2xpc2hOYW1lOiBzdHJpbmc7XHJcbiAgdmFsaWRhdGlvblBhdHRlcm4/OiBzdHJpbmc7XHJcbiAgaW5wdXRDbGFzc2VzPzogc3RyaW5nO1xyXG4gIGNvbnRhaW5lckNsYXNzZXM/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICB0ZXh0RmllbGQ/OiBzdHJpbmc7XHJcbiAgcGF0dGVybkVycm9yTXNnPzogc3RyaW5nO1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBzaXplPzogbnVtYmVyO1xyXG4gIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIGRhdGE/OiBEYXRhW10gfCBhbnlbXTtcclxuICBhY2NlcHRlZEZpbGVzPzogc3RyaW5nO1xyXG4gIG11bHRpcGxlRmlsZT86IG51bWJlcjtcclxuICBhcGlVcmw/OiBzdHJpbmc7XHJcbiAgYXV0b1VwbG9hZEZpbGU/OiBib29sZWFuO1xyXG4gIGFwaVVSbE1ldGhvZD86IHN0cmluZztcclxuICBhdXRob3JpemF0aW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGEge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxufVxyXG4iXX0=
@@ -735,7 +735,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImpor
735
735
  class GenerateFormComponent {
736
736
  constructor(validationService) {
737
737
  this.validationService = validationService;
738
- // recaptcha inputs
739
738
  this.recaptchaSize = 'normal';
740
739
  this.lang = 'ar';
741
740
  this.recaptchaType = 'image';
@@ -745,8 +744,6 @@ class GenerateFormComponent {
745
744
  this.successUpload = new EventEmitter();
746
745
  this.fileAdded = new EventEmitter();
747
746
  this.fileDeleted = new EventEmitter();
748
- //recaptcha outputs
749
- this.recaptchaOutput = new EventEmitter();
750
747
  }
751
748
  ngOnInit() {
752
749
  this.createForm();
@@ -784,7 +781,6 @@ class GenerateFormComponent {
784
781
  : Validators.nullValidator,
785
782
  ]));
786
783
  }
787
- this.assignRecaptchaData(column);
788
784
  });
789
785
  }
790
786
  addCheckboxControl(column) {
@@ -808,35 +804,12 @@ class GenerateFormComponent {
808
804
  });
809
805
  }
810
806
  getCheckboxSelectedValues(items) {
811
- let selecedItems = items.filter((item) => item.checkbox);
812
- return selecedItems.length > 0 ? selecedItems : null;
813
- }
814
- assignRecaptchaData(col) {
815
- var _a, _b;
816
- this.recaptchaSize =
817
- col.recaptchaSize == 'compact'
818
- ? 'compact'
819
- : col.recaptchaSize == 'normal'
820
- ? 'normal'
821
- : this.recaptchaSize;
822
- this.lang = (_a = col.lang) !== null && _a !== void 0 ? _a : this.lang;
823
- this.recaptchaType =
824
- col.recaptchaType == 'image'
825
- ? 'image'
826
- : col.recaptchaType == 'audio'
827
- ? 'audio'
828
- : this.recaptchaType;
829
- this.theme =
830
- col.theme == 'dark'
831
- ? 'dark'
832
- : col.theme == 'light'
833
- ? 'light'
834
- : this.theme;
835
- this.useGlobalDomain = (_b = col.useGlobalDomain) !== null && _b !== void 0 ? _b : this.useGlobalDomain;
807
+ let selectedItems = items.filter((item) => item.checkbox);
808
+ return selectedItems.length > 0 ? selectedItems : null;
836
809
  }
837
810
  }
838
811
  GenerateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: GenerateFormComponent, deps: [{ token: IPAFormService }], target: i0.ɵɵFactoryTarget.Component });
839
- GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted", recaptchaOutput: "recaptchaOutput" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data\" [valueField]=\"column.valueField\"\r\n [textField]=\"column.textField\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value.id\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value.id\">\r\n {{control.value.description}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item.id\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item.id\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item.id\">\r\n {{item.description}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles\"\r\n [multiple]=\"column.multipleFile\" [maxFileSize]=\"column.size\" [method]=\"column.apiURlMethod\"\r\n [autoUpload]=\"column.autoUploadFile\" [apiUrl]=\"column.apiUrl\" [authorization]=\"authorization\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"lang\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.englishName}}\"></ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "disabled", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }, { type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }], directives: [{ type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
812
+ GenerateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.9", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data!\" [valueField]=\"column.valueField!\"\r\n [textField]=\"column.textField!\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value[column.valueField!]\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value[column.valueField!]\">\r\n {{control.value[column.textField!]}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item[column.valueField!]\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item[column.valueField!]\">\r\n {{item[column.textField!]}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\r\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\r\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \" [authorization]=\"column.authorization!\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- recaptcha -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"lang\" [theme]=\"theme\"\r\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\r\n formControlName=\"{{column.englishName}}\"></ipa-recaptcha>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.validationPattern!\"\r\n [patternErrorMsg]=\"column.patternErrorMsg!\" [classes]=\"column.inputClasses!\"\r\n [containerClasses]=\"column.containerClasses!\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "disabled", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }, { type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }], directives: [{ type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
840
813
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImport: i0, type: GenerateFormComponent, decorators: [{
841
814
  type: Component,
842
815
  args: [{
@@ -848,6 +821,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImpor
848
821
  type: Input
849
822
  }], form: [{
850
823
  type: Input
824
+ }], siteKey: [{
825
+ type: Input
851
826
  }], recaptchaSize: [{
852
827
  type: Input
853
828
  }], lang: [{
@@ -858,16 +833,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.9", ngImpor
858
833
  type: Input
859
834
  }], useGlobalDomain: [{
860
835
  type: Input
861
- }], authorization: [{
862
- type: Input
863
836
  }], successUpload: [{
864
837
  type: Output
865
838
  }], fileAdded: [{
866
839
  type: Output
867
840
  }], fileDeleted: [{
868
841
  type: Output
869
- }], recaptchaOutput: [{
870
- type: Output
871
842
  }] } });
872
843
 
873
844
  class DatepickerComponent {
@@ -1292,9 +1263,9 @@ class ErrorInterceptor {
1292
1263
  const toastrConfig = {
1293
1264
  disableTimeOut: true,
1294
1265
  };
1295
- switch (response === null || response === void 0 ? void 0 : response.statusCode) {
1266
+ switch (response.statusCode) {
1296
1267
  case 500:
1297
- this.toastrService.error((response === null || response === void 0 ? void 0 : response.innerException) + ' ' + (response === null || response === void 0 ? void 0 : response.stackTrace), response === null || response === void 0 ? void 0 : response.message, toastrConfig);
1268
+ this.toastrService.error((response === null || response === void 0 ? void 0 : response.innerException) + ' ' + (response === null || response === void 0 ? void 0 : response.stackTrace), response.message, toastrConfig);
1298
1269
  break;
1299
1270
  default:
1300
1271
  this.toastrService.error(response.message, '', toastrConfig);