atr-components 0.1.1 → 0.1.2

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.
@@ -39,3 +39,4 @@ export * from "./lib/shared/upload/upload.component";
39
39
  export * from "./lib/shared/table/table.component";
40
40
  export * from "./lib/shared/table/table-form-item/table-form-item.component";
41
41
  export * from "./lib/shared/quill-editor/quill-editor.component";
42
+ export * from "./lib/shared/select-icons/select-icons.component";
@@ -13,6 +13,10 @@ export declare const atr_static_datas: {
13
13
  login_router: string;
14
14
  SERVER_URL: string;
15
15
  };
16
+ export declare class commonDatas {
17
+ static letters: string[];
18
+ static icons: string[];
19
+ }
16
20
  export declare interface json extends Object {
17
21
  [key: string]: any;
18
22
  }
@@ -53,7 +57,7 @@ export declare interface AtrFormOpt {
53
57
  }
54
58
  export declare interface AtrFormDetail {
55
59
  label: string;
56
- type: 'cascader' | 'radio' | 'text' | 'image' | 'select' | 'date' | 'number' | 'telphone' | 'password' | 'checkbox' | 'editor' | 'textarea' | 'dateTime' | 'title' | 'dateRange' | 'selectc';
60
+ type: 'cascader' | 'radio' | 'text' | 'image' | 'select' | 'date' | 'number' | 'telphone' | 'password' | 'checkbox' | 'editor' | 'textarea' | 'dateTime' | 'title' | 'dateRange' | 'selectc' | 'selectIcon';
57
61
  key: string;
58
62
  isHidden?: boolean;
59
63
  defaultValue?: any;
@@ -42,4 +42,5 @@ export * from "./lib/shared/upload/upload.component";
42
42
  export * from "./lib/shared/table/table.component";
43
43
  export * from "./lib/shared/table/table-form-item/table-form-item.component";
44
44
  export * from "./lib/shared/quill-editor/quill-editor.component";
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXB1YmxpYy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9hdHItcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHNDQUFzQyxDQUFBO0FBQ3BELGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw4REFBOEQsQ0FBQTtBQUM1RSxjQUFjLGtEQUFrRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvYW5pbWF0aW9ucy9hbmltYXRpb25zXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvaW50ZXJjZXB0b3IvYmFzZS5pbnRlcmNlcHRvclwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL25nei1tb2R1bGUvY3VzLXpvcnJvLWFudGQubW9kdWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvYW5pbWF0aW9ucy9mbHktaW5cIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9hbmltYXRpb25zL3Njcm9sbC1zY3JlZW5cIlxuZXhwb3J0ICogZnJvbSAnLi9hdHItY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVsbG8vaGVsbG8ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9hdXRoL2F1dGguZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2Jhc2UvYXRyLWNvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvcm91dGVyZXVzZS9hdHItcmV1c2Utc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS91dGlscy9Ub29sc1V0aWxcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS91dGlscy9sb2NhbHN0b3JhZ2UudXRpbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3V0aWxzL3Nlc3Npb25zdG9yYWdlLnV0aWxcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9zZXJ2aWNlcy9kaWN0L2RpY3Quc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3NlcnZpY2VzL2h0dHAuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3NlcnZpY2VzL21lbnUuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3NlcnZpY2VzL3VwbG9hZC1vc3Muc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL2RpcmVjdGl2ZS9yb2xlLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9kaXJlY3RpdmUvZXJyb3ItaW1nLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9kaXJlY3RpdmUvaHEtc3Bpbi5kaXJlY3RpdmVcIjtcbmV4cG9ydCB7SGVsbG9Db21wb25lbnR9IGZyb20gJy4vbGliL2hlbGxvL2hlbGxvLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9waXBlLW1vZHVsZS5tb2R1bGVcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2lzLWVtcHR5LnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9kaWN0cy5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvZGVmYXVsdFZhbC5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvZGF5LnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9zYWZlLWNvbXB1dGUucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2lzLW5vdC1lbXB0eS5waXBlXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvYXRyLXNoYXJlZC5tb2R1bGVcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9mb3JtL2Zvcm0uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvbG9jYWwtdXBsb2FkL2xvY2FsLXVwbG9hZC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9zZWxlY3QtdHJlZS9zZWxlY3QtdHJlZS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9zZXJ2aWNlL2J1c2kuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLXRkL3RhYmxlLXRkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3NoYXJlLnNlcnZpY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC92aWRlby92aWRlby5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC92YWxpZGF0b3JzL2F0ci12YWxpZHRvcnNcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC91cGxvYWQvdXBsb2FkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnRcIlxuXG4iXX0=
45
+ export * from "./lib/shared/select-icons/select-icons.component";
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXB1YmxpYy1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9hdHItcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyxnREFBZ0QsQ0FBQTtBQUM5RCxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHNDQUFzQyxDQUFBO0FBQ3BELGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw4REFBOEQsQ0FBQTtBQUM1RSxjQUFjLGtEQUFrRCxDQUFBO0FBQ2hFLGNBQWMsa0RBQWtELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9hbmltYXRpb25zL2FuaW1hdGlvbnNcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9pbnRlcmNlcHRvci9iYXNlLmludGVyY2VwdG9yXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvbmd6LW1vZHVsZS9jdXMtem9ycm8tYW50ZC5tb2R1bGVcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9hbmltYXRpb25zL2ZseS1pblwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL2FuaW1hdGlvbnMvc2Nyb2xsLXNjcmVlblwiXG5leHBvcnQgKiBmcm9tICcuL2F0ci1jb21wb25lbnRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWxsby9oZWxsby5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2F1dGgvYXV0aC5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvYmFzZS9hdHItY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9yb3V0ZXJldXNlL2F0ci1yZXVzZS1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3V0aWxzL1Rvb2xzVXRpbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3V0aWxzL2xvY2Fsc3RvcmFnZS51dGlsXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvdXRpbHMvc2Vzc2lvbnN0b3JhZ2UudXRpbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3NlcnZpY2VzL2RpY3QvZGljdC5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvc2VydmljZXMvaHR0cC5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvc2VydmljZXMvbWVudS5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvc2VydmljZXMvdXBsb2FkLW9zcy5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvZGlyZWN0aXZlL3JvbGUuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL2RpcmVjdGl2ZS9lcnJvci1pbWcuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL2RpcmVjdGl2ZS9ocS1zcGluLmRpcmVjdGl2ZVwiO1xuZXhwb3J0IHtIZWxsb0NvbXBvbmVudH0gZnJvbSAnLi9saWIvaGVsbG8vaGVsbG8uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL3BpcGUtbW9kdWxlLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvaXMtZW1wdHkucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL2RpY3RzLnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9kZWZhdWx0VmFsLnBpcGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUvcGlwZS9kYXkucGlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29yZS9waXBlL3NhZmUtY29tcHV0ZS5waXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlL3BpcGUvaXMtbm90LWVtcHR5LnBpcGVcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9hdHItc2hhcmVkLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL2Zvcm0vZm9ybS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9sb2NhbC11cGxvYWQvbG9jYWwtdXBsb2FkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3NlcnZpY2UvYnVzaS5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvdGFibGUvdGFibGUtdGQvdGFibGUtdGQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvc2hhcmUuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3ZpZGVvL3ZpZGVvLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3ZhbGlkYXRvcnMvYXRyLXZhbGlkdG9yc1wiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3VwbG9hZC91cGxvYWQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvdGFibGUvdGFibGUuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zaGFyZWQvdGFibGUvdGFibGUtZm9ybS1pdGVtL3RhYmxlLWZvcm0taXRlbS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NoYXJlZC9xdWlsbC1lZGl0b3IvcXVpbGwtZWRpdG9yLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2hhcmVkL3NlbGVjdC1pY29ucy9zZWxlY3QtaWNvbnMuY29tcG9uZW50XCJcblxuIl19
@@ -13,6 +13,10 @@ export const atr_static_datas = {
13
13
  login_router: '/p/login',
14
14
  SERVER_URL: '',
15
15
  };
16
+ export class commonDatas {
17
+ }
18
+ commonDatas.letters = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
19
+ commonDatas.icons = 'step-backward,step-forward,fast-backward,fast-forward,shrink,arrows-alt,down,up,left,right,caret-up,caret-down,caret-left,caret-right,up-circle,down-circle,left-circle,right-circle,double-right,double-left,vertical-left,vertical-right,vertical-align-top,vertical-align-middle,vertical-align-bottom,forward,backward,rollback,enter,retweet,swap,swap-left,swap-right,arrow-up,arrow-down,arrow-left,arrow-right,play-circle,up-square,down-square,left-square,right-square,login,logout,menu-fold,menu-unfold,border-bottom,border-horizontal,border-inner,border-outer,border-left,border-right,border-top,border-verticle,pic-center,pic-left,pic-right,radius-bottomleft,radius-bottomright,radius-upleft,radius-upright,fullscreen,fullscreen-exit,question,question-circle,plus,plus-circle,pause,pause-circle,minus,minus-circle,plus-square,minus-square,info,info-circle,exclamation,exclamation-circle,close,close-circle,close-square,check,check-circle,check-square,clock-circle,warning,issues-close,stop,edit,form,copy,scissor,delete,snippets,diff,highlight,align-center,align-left,align-right,bg-colors,bold,italic,underline,strikethrough,redo,undo,zoom-in,zoom-out,font-colors,font-size,line-height,dash,small-dash,sort-ascending,sort-descending,drag,ordered-list,unordered-list,radius-setting,column-width,column-height,area-chart,pie-chart,bar-chart,dot-chart,line-chart,radar-chart,heat-map,fall,rise,stock,box-plot,fund,sliders,android,apple,windows,ie,chrome,github,aliwangwang,dingding,weibo-square,weibo-circle,taobao-circle,html5,weibo,twitter,wechat,youtube,alipay-circle,taobao,skype,qq,medium-workmark,gitlab,medium,linkedin,google-plus,dropbox,facebook,codepen,code-sandbox,amazon,google,codepen-circle,alipay,ant-design,ant-cloud,aliyun,zhihu,slack,slack-square,behance,behance-square,dribbble,dribbble-square,instagram,yuque,alibaba,yahoo,reddit,sketch,alert,aim,account-book,apartment,api,appstore,audio-muted,audit,bank,barcode,bars,block,book,bell,appstore-add,audio,border,borderless-table,bug,branches,camera,calculator,calendar,build,carry-out,bulb,car,clear,ci,cloud-download,cloud,cloud-sync,cloud-server,cloud-upload,code,coffee,compress,compass,comment,ci-circle,container,control,copyright,credit-card,cluster,customer-service,contacts,console-sql,dashboard,database,copyright-circle,delete-column,desktop,deployment-unit,delivered-procedure,disconnect,dingtalk,dollar-circle,dislike,delete-row,dollar,crown,download,ellipsis,environment,euro-circle,exception,expand-alt,euro,experiment,export,expand,eye-invisible,eye,file-add,field-string,file-exclamation,file-done,field-time,file-excel,field-binary,file-gif,file-image,file,file-markdown,file-ppt,file-pdf,field-number,file-search,file-sync,file-jpg,file-text,filter,file-zip,flag,folder-add,file-unknown,folder-open,fire,file-protect,folder-view,folder,fork,format-painter,frown,fund-projection-screen,gift,gateway,fund-view,gif,funnel-plot,gold,global,group,hdd,function,history,file-word,home,idcard,hourglass,heart,insert-row-below,import,insert-row-left,insert-row-above,insert-row-right,key,inbox,insurance,laptop,like,line,link,loading-3-quarters,loading,lock,man,mail,mac-command,medicine-box,layout,meh,interaction,message,menu,merge-cells,mobile,money-collect,node-index,monitor,node-expand,more,number,notification,one-to-one,percentage,phone,paper-clip,partition,picture,node-collapse,play-square,pay-circle,pound,profile,project,property-safety,poweroff,pushpin,qrcode,printer,pound-circle,pull-request,rest,read,reload,reconciliation,robot,rocket,rotate-right,safety-certificate,red-envelope,rotate-left,save,safety,search,security-scan,scan,send,setting,select,shake,shopping-cart,sisternode,shop,shopping,share-alt,schedule,skin,smile,solution,sound,split-cells,star,subnode,tags,tablet,tag,table,switcher,sync,team,tool,trademark-circle,thunderbolt,to-top,translation,trademark,trophy,ungroup,unlock,upload,transaction,user-delete,usb,user-add,usergroup-delete,video-camera-add,verified,usergroup-add,user,user-switch,video-camera,wifi,wallet,whats-app,woman,appstore'.split(',');
16
20
  export var UserAction;
17
21
  (function (UserAction) {
18
22
  UserAction[UserAction["ADD"] = 0] = "ADD";
@@ -21,4 +25,4 @@ export var UserAction;
21
25
  UserAction[UserAction["QUERY"] = 3] = "QUERY";
22
26
  UserAction[UserAction["SUPPERADD"] = 4] = "SUPPERADD";
23
27
  })(UserAction || (UserAction = {}));
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvYmFzZS9hdHItY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxHQUFHO0lBQ1Q7O09BRUc7SUFDSCxPQUFPLEVBQUMsRUFBRTtJQUNWLFVBQVUsRUFBQyxxQkFBcUI7SUFDaEMsV0FBVyxFQUFDLEtBQUs7SUFDakIsUUFBUSxFQUFDLEVBQUU7SUFDWDs7T0FFRztJQUNILFlBQVksRUFBQyxVQUFVO0lBQ3ZCLFVBQVUsRUFBQyxFQUFFO0NBQ2QsQ0FBQztBQWtDRixNQUFNLENBQU4sSUFBWSxVQU1YO0FBTkQsV0FBWSxVQUFVO0lBQ3BCLHlDQUFHLENBQUE7SUFDSCwyQ0FBSSxDQUFBO0lBQ0oseUNBQUcsQ0FBQTtJQUNILDZDQUFLLENBQUE7SUFDTCxxREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQU5XLFVBQVUsS0FBVixVQUFVLFFBTXJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGF0cl9zdGF0aWNfZGF0YXMgPSB7XHJcbiAgdGVzdDogJzEnLFxyXG4gIC8qKlxyXG4gICAqIG9zc+WcsOWdgOWJjee8gFxyXG4gICAqL1xyXG4gIE9TU19VUkw6JycsXHJcbiAgT1NTX1BPTElDWTondGhpcmQvb3NzL2dldFBvbGljeScsXHJcbiAgU1RPUkFHRV9QUkU6J0RRXycsXHJcbiAgbWVudV91cmw6JycsXHJcbiAgLyoqXHJcbiAgICog55m75b2V6Lev55SxXHJcbiAgICovXHJcbiAgbG9naW5fcm91dGVyOicvcC9sb2dpbicsXHJcbiAgU0VSVkVSX1VSTDonJyxcclxufTtcclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBqc29uIGV4dGVuZHMgT2JqZWN0IHtcclxuICBba2V5OiBzdHJpbmddOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNlcnZlclBhZ2luYXRpb25TdGFuZGFyZCB7XHJcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcclxuICBzaG93Q291bnQ6IG51bWJlcjtcclxuICB0b3RhbFJlc3VsdDogbnVtYmVyO1xyXG4gIHRvdGFsUGFnZT86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEh0dHBSZXNwb25zZURhdGFTdGFuZGFyZCB7XHJcbiAgc3RhdGU6IG51bWJlcjsgLy8g5Li6MeaJjeaYr+aIkOWKn1xyXG4gIGRhdGE6IGpzb24gfCBbe31dIHwgb2JqZWN0IHwgc3RyaW5nIHwgYW55OyAvL+ayoeacieWAvCBkYXRhOiAnJ1xyXG4gIG1lc3M6IHN0cmluZzsgLy/ov5Tlm57nmoTmtojmga9cclxuICBwYWdlPzogU2VydmVyUGFnaW5hdGlvblN0YW5kYXJkO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEh0dHBSc2Vwb25zZVRyYW5zZm9ybUNlbGwge1xyXG4gIFtrZXk6IHN0cmluZ106IGpzb25cclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEh0dHBPcHRpb25zIHtcclxuICBoZWFkZXJzPzoge30sXHJcbiAgaXNKc29uRW5jb2RlPzogYm9vbGVhblxyXG4gIGlzVXJsRW5jb2RlPzogYm9vbGVhblxyXG4gIGlzQXV0b1Nob3dNZXNzYWdlPzogYm9vbGVhblxyXG4gIGlzV2l0aENyZWRlbnRpYWxzPzogYm9vbGVhblxyXG4gIGlzQ29tbW9uSHR0cEhlYWRlcj86IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGVudW0gVXNlckFjdGlvbiB7XHJcbiAgQURELFxyXG4gIEVESVQsXHJcbiAgREVMLFxyXG4gIFFVRVJZLFxyXG4gIFNVUFBFUkFERFxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQXRyRm9ybU9wdCB7XHJcbiAgdHlwZTogJ2FkZCcgfCAnZWRpdCcgfCAndmlldycsXHJcbiAgbGF5b3V0PzogXCJmdWxsXCIgfCAnMWwyYycgfCAnMWwxYycsXHJcbiAgaXRlbXM6IEF0ckZvcm1EZXRhaWxbXSwvL+ihqOWNlemhueebrlxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQXRyRm9ybURldGFpbCB7XHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICB0eXBlOiAnY2FzY2FkZXInIHwgJ3JhZGlvJyB8ICd0ZXh0JyB8ICdpbWFnZScgfCAnc2VsZWN0JyB8ICdkYXRlJyB8ICdudW1iZXInIHwgJ3RlbHBob25lJyB8ICdwYXNzd29yZCcgfCAnY2hlY2tib3gnIHwgJ2VkaXRvcicgfCAndGV4dGFyZWEnIHwgJ2RhdGVUaW1lJyB8ICd0aXRsZScgfCAnZGF0ZVJhbmdlJyB8ICdzZWxlY3RjJyxcclxuICBrZXk6IHN0cmluZyxcclxuICBpc0hpZGRlbj86IGJvb2xlYW4sXHJcbiAgZGVmYXVsdFZhbHVlPzogYW55LFxyXG4gIHZhbHVlPzogYW55LC8v57yW6L6R5LiL5Y6f5aeL5pWw5YC8XHJcbiAgZGljdENvZGU/OiBzdHJpbmcsLy9zZWxlY3Qg5qih5byP5LiL6YWN572uXHJcbiAgc3Bhbj86IG51bWJlciwvL+aYvuekuuWuveW6plxyXG4gIHZhbGlkYXRvcnM/OiBBdHJGb3JtVmFsaWRbXSwvL+mqjOivgeadoeS7tlxyXG4gIGlzUmVxdWlyZWQ/OiBib29sZWFuIHwgc3RyaW5nLC8v6ZqQ5oCn5p2h5Lu2IOaXoOmcgOWhq+WGmSwgc3RyaW5n57G75Z6L5qC85byP5ZCMb3BlcmF0b3JcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZyxcclxuICBpbWFnZU9wdHM/OiBJbWFnZU9wdHMsXHJcbiAgZWRpdENvbnRlbnQ/OiBzdHJpbmcsXHJcbiAgaGVpZ2h0PzogbnVtYmVyLC8vZWRpdG9y5pyJ5pWIXHJcbiAgZGlzYWJsZT86IGJvb2xlYW4sXHJcbiAgbHNwYW4/OiBudW1iZXIsXHJcbiAgY3NwYW4/OiBudW1iZXIsXHJcbiAgcm93cz86IG51bWJlciwvL3RleHRhcmVhIOaYvuekuuihjOaVsFxyXG4gIG9wZXJhdG9yPzogc3RyaW5nLC8v5pi+56S65pON5L2c56ymIOagvOW8jyDlpoI6c3RhdHVzfGVxfDBcclxuICBidXR0b24/OiBmb3JtQnV0dG9uLFxyXG4gIHJlYWRvbmx5PzogYm9vbGVhbixcclxuICBkYXRlRm9ybWF0Pzogc3RyaW5nLFxyXG4gIGRpY3RMaXN0PzogQ3VzRGljdFtdLFxyXG4gIHNlbGVjdFVybD86IHsgdXJsOiBzdHJpbmcsIGNvbnZlcnQ/OiBzdHJpbmcsIHR5cGU/OiAnZ2V0JyB8ICdwb3N0JywgaG9zdD86ICdvc3MnIHwgJ3NlcnZlJywgaXNNdWx0aXBsZT86IGJvb2xlYW4gfSxcclxuICB0cmVlTGlzdD86IHsga2V5OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcgfVtdLFxyXG4gIGVuZHM/OiBzdHJpbmcsXHJcbiAgcHJvcG9zYWw/OiBzdHJpbmcsXHJcbiAgdGVtcD86IGFueSxcclxuICBub3ROdWxsPzogYm9vbGVhblxyXG5cclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEF0ckZvcm1WYWxpZCB7XHJcbiAgdHlwZTogJ3JlcXVpcmVkJyB8ICdlbWFpbCcgfCAndGVscGhvbmUnIHwgJ21heGxlbmd0aCcgfCAnbWlubGVuZ3RoJyB8ICdwYXR0ZXJuJyB8ICdvcGVyYXRvcicsXHJcbiAgZXJyb3JMYWJlbDogc3RyaW5nLFxyXG4gIG1heGxlbmd0aD86IG51bWJlcixcclxuICBtaW5sZW5ndGg/OiBudW1iZXIsXHJcbiAgcGF0dGVyblZhbHVlPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBmb3JtQnV0dG9uIHtcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgaXNTaG93OiBib29sZWFuLFxyXG4gIGNvZGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgY29sb3JPcGVyYXRvciB7XHJcbiAgY29sb3I6IHN0cmluZyxcclxuICBvcGVyYXRvcjogc3RyaW5nLC8v6KeE5YiZXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBdHJRdWV5ck9wdCB7XHJcbiAgYWN0aW9ucz86IFRhYmxlQWN0aW9uW10sXHJcbiAgaXNJbmRleD86IGJvb2xlYW4sLy/mmK/lkKbmmL7npLrluo/lj7csXHJcbiAgY29sb3I/OiBjb2xvck9wZXJhdG9yLC8v6aKc6ImyXHJcbiAgY2hlY2tCb3g/OiB7XHJcbiAgICBpc1Nob3dDaGVja2JveD86IGJvb2xlYW4sXHJcbiAgICBpc1JhZGlvPzogYm9vbGVhbixcclxuICAgIGlzRm9yYmlkPzogYm9vbGVhbiwvL3RydWXml7blj6rlhYHorrjngrnlh7vlpJrpgInmoYbpgInmi6lcclxuICB9LFxyXG4gIC8vIGlzU2hvd0NoZWNrYm94PzogYm9vbGVhbixcclxuICBzaG93TnVtPzogbnVtYmVyLFxyXG4gIHVybDogc3RyaW5nLFxyXG4gIHNvcnQ/OiBzdHJpbmcsXHJcbiAgaGVhZGVycz86IEF0clF1ZXJ5SGVhZGVyW10sXHJcbiAgdGFibGVzOiBUYWJsZVtdLFxyXG4gIGlzQXV0b1F1ZXJ5PzogYm9vbGVhbiwvL3RydWXml7blgJnpu5jorqTop6blj5Hmn6Xor6JcclxuICBkZWZhdWx0UGFyYW1zPzoganNvbixcclxuICBpc0hpZGVRdWVyeT86IGJvb2xlYW5cclxuICAvLyBpc1JhZGlvPzpib29sZWFuLFxyXG4gIC8vIGlzRm9yYmlkPzpib29sZWFuLC8vdHJ1ZeaXtuWPquWFgeiuuOeCueWHu+WkmumAieahhumAieaLqVxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGFibGUge1xyXG4gIG5hbWU6IHN0cmluZywvL+ihqOWktOWQjeensFxyXG4gIGtleT86IHN0cmluZywvL+WunumZheaVsOaNruWtl+autVxyXG4gIGRlZmF1bHRWYWw/OiBhbnksXHJcbiAgc29ydEtleT86IHN0cmluZywvL+aYr+WQpuaOkuW6j1xyXG4gIHNvcnRhYmxlPzogYm9vbGVhbixcclxuICB0eXBlOiAndGV4dGNvbG9yJyB8ICdmaXhlZFRleHQnIHwgJ3RleHQnIHwgJ2xpbmsnIHwgJ2FjdGlvbicgfCAnaW1hZ2UnIHwgJ2RhdGUnIHwgJ2RhdGVUaW1lJyB8ICdzRGF0ZVRpbWUnIHwgJ2RpY3QnLC8v57G75Z6L77yaIOaWh+Wtl+OAgemTvuaOpeOAgeaTjeS9nFxyXG4gIGRpY3RDb2RlPzogc3RyaW5nLFxyXG4gIGlzU2hvdz86IGJvb2xlYW4sXHJcbiAgd2lkdGg/OiBzdHJpbmcsLy8xNTBweFxyXG4gIGFjdGlvbnM/OiBUYWJsZUFjdGlvbltdLFxyXG4gIGlzUm93U3Bhbj86IGJvb2xlYW4sXHJcbiAgaXNSaWdodD86IGJvb2xlYW5cclxuICBpc0xlZnQ/OiBib29sZWFuLFxyXG4gIGNvbG9yPzogY29sb3JPcGVyYXRvciwvL+minOiJslxyXG4gIGNvbG9yU2hvdz86IHN0cmluZyxcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEF0clF1ZXJ5SGVhZGVyIHtcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgdHlwZTogJ2Nhc2NhZGVyJyB8ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ2RhdGVwaWNrZXInIHwgJ3NlbGVjdEN1cycgfCAnZGF0ZVJhbmdlJyB8ICdzZGF0ZScgfCAndHJlZVNlbGVjdCcsXHJcbiAga2V5OiBzdHJpbmcsXHJcbiAgaXNTaG93PzogYm9vbGVhbixcclxuICBjb2RlPzogc3RyaW5nLFxyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nLFxyXG4gIHNwYW4/OiBudW1iZXIsXHJcbiAgZGljdENvZGU/OiBzdHJpbmcsLy/lrZflhbjnvJbnoIFcclxuICBkaWN0TGlzdD86IEN1c0RpY3RbXSxcclxuICBkZWZhdWx0VmFsPzogYW55IC8vIOm7mOiupOWAvFxyXG4gIG1heFRhZ0NvdW50PzogbnVtYmVyLFxyXG4gIGxzcGFuPzogbnVtYmVyLFxyXG4gIGNzcGFuPzogbnVtYmVyLFxyXG4gIGRpc2FibGVDbGVhcj86IGJvb2xlYW4sXHJcbiAgdHJlZUxpc3Q/OiB7IGtleTogc3RyaW5nLCB0aXRsZTogc3RyaW5nIH1bXVxyXG4gIC8qKlxyXG4gICAqIOagvOW8j1xyXG4gICAqIGNvbnZlcnQ6J2tleXxpZCx0aXRsZXxyZWFsTmFtZScodHJlZVNlbGVjdClcclxuICAgKiAgICB2YWx1ZXxpZCxsYWJlbHxuYW1lKHNlbGVjdEN1cylcclxuICAgKi9cclxuICBzZWxlY3RVcmw/OiB7IHVybDogc3RyaW5nLCBjb252ZXJ0OiBzdHJpbmcsIGlzTXVsdGlwbGU/OiBib29sZWFuIH0sLy9jb252ZXJ0OiBuZXdLZXl8b2xkS2V5LG5ld0tleXxvbGRLZXko5o6l5Y+j6L+U5Zue55qE5YC8KVxyXG4gIGljb24/OiB7IGlzU2hvdzogYm9vbGVhbiwgY29kZTogc3RyaW5nLCBpY29uOiBhbnkgfSxcclxuICBkYXRlTW9kZT86ICd3ZWVrJyB8ICdtb250aCcgfCAneWVhcicsXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUYWJsZUFjdGlvbiB7XHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGNvZGU6IHN0cmluZyxcclxuICB1cmw/OiBzdHJpbmcsXHJcbiAgZ1R5cGU/OiAnbm9ybWFsJyB8ICd1cGxvYWQnLFxyXG4gIGRhdGE/OiBhbnksXHJcbiAgZGF0YXM/OiBhbnlbXSxcclxuICBpY29uPzogc3RyaW5nLFxyXG4gIG51bWJlck9mQ2hlY2tlZD86IG51bWJlcixcclxuICB0eXBlPzogJ3Jvd3MnIHwgJ3JvdycsXHJcbiAgb3BlcmF0b3I/OiBzdHJpbmcsLy/mmL7npLrmk43kvZznrKZcclxuICBidXR0b25UeXBlPzogJ3ByaW1hcnknIHwgJ2Rhc2hlZCcgfCAnZGFuZ2VyJyB8ICdkZWZhdWx0JyB8ICdsaW5rJyxcclxuICB2YWx1ZT86IGFueSxcclxuICB3aXRob3V0Um9sZT86IGJvb2xlYW4vL+S4jemcgOimgeadg+mZkOaOp+WItlxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRm9ybUFjdGlvbiB7XHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGNvZGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGljdCB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICB0eXBlTmFtZTogc3RyaW5nLFxyXG5cclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERpY3RHcm91cCB7XHJcbiAgZ3JvdXBDb2RlOiBzdHJpbmcsXHJcbiAgZGljdHM6IERpY3RbXVxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3VzRGljdCB7XHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICB2YWx1ZTogc3RyaW5nLFxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSW1hZ2VPcHRzIHtcclxuICBsaW1pdD86IG51bWJlcixcclxuICB1cGxvYWREaXI6IHN0cmluZyxcclxuICByZW1vdmVBY3Rpb24/OiBzdHJpbmcsXHJcbiAgaW1hZ2VMaXN0PzogYW55W10sXHJcbiAga2V5Pzogc3RyaW5nLFxyXG4gIGxhYmU/OiBzdHJpbmcsXHJcbiAgZmlsZU5hbWU/OiBzdHJpbmcsXHJcbiAgdXBsb2FkVHlwZT86ICdkcmFnJyB8ICcnLFxyXG4gIG56RmlsZVR5cGU/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIGVxdWlwVGVzdERhdGEge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIGl0ZW1OYW1lOiBzdHJpbmdcclxuICB6aG91MTogbnVtYmVyXHJcbiAgemhvdTI6IG51bWJlclxyXG4gIHpob3UzOiBudW1iZXJcclxuICB6aG91NDogbnVtYmVyXHJcbiAgemhvdTU6IG51bWJlclxyXG4gIHpob3U2OiBudW1iZXJcclxuICBpc1dyb25nMT86IGJvb2xlYW5cclxuICBpc1dyb25nMj86IGJvb2xlYW5cclxuICBpc1dyb25nMz86IGJvb2xlYW5cclxuICBpc1dyb25nND86IGJvb2xlYW5cclxuICBpc1dyb25nNT86IGJvb2xlYW5cclxuICBpc1dyb25nNj86IGJvb2xlYW5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTZWxlY3RBY3Rpb24ge1xyXG4gIG5hbWU6IHN0cmluZyxcclxuICBjb2RlOiBcIm5nTW9kZWxDaGFuZ2VcIiB8ICduek9wZW5DaGFuZ2UnLFxyXG4gIGRhdGE/OiBhbnksXHJcbiAga2V5Pzogc3RyaW5nLFxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVudUljb24ge1xyXG4gIC8qKiBUeXBlIGZvciBpY29uICovXHJcbiAgdHlwZTogJ2NsYXNzJyB8ICdpY29uJyB8ICdpY29uZm9udCcgfCAnaW1nJztcclxuICAvKiogVmFsdWUgZm9yIHRoZSBpY29uLCBjYW4gYmUgc2V0IENsYXNzIE5hbWUsIG56LWljb24gb2YgYG56VHlwZWAsIGltYWdlICovXHJcbiAgdmFsdWU/OiBzdHJpbmc7XHJcbiAgLyoqIFR5cGUgb2YgdGhlIGFudCBkZXNpZ24gaWNvbiwgZGVmYXVsdDogYG91dGxpbmVgICovXHJcbiAgdGhlbWU/OiAnb3V0bGluZScgfCAndHdvdG9uZScgfCAnZmlsbCc7XHJcbiAgLyoqIFJvdGF0ZSBpY29uIHdpdGggYW5pbWF0aW9uLCBkZWZhdWx0OiBgZmFsc2VgICovXHJcbiAgc3Bpbj86IGJvb2xlYW47XHJcbiAgLyoqIE9ubHkgc3VwcG9ydCB0aGUgdHdvLXRvbmUgaWNvbi4gU3BlY2lmaWMgdGhlIHByaW1hcnkgY29sb3IgKi9cclxuICB0d29Ub25lQ29sb3I/OiBzdHJpbmc7XHJcbiAgLyoqIFR5cGUgb2YgdGhlIGljb24gZnJvbSBpY29uZm9udCAqL1xyXG4gIGljb25mb250Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lbnUge1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgbGluaz86IHN0cmluZztcclxuICByZWFsTGluaz86c3RyaW5nO1xyXG4gIGlzU2VsZWN0ZWQ/OiBCb29sZWFuO1xyXG4gIGlzT3Blbj86IEJvb2xlYW47XHJcbiAgdGFyZ2V0PzogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnO1xyXG4gIC8qKiBJY29uIGZvciB0aGUgbWVudSBpdGVtLCBvbmx5IHZhbGlkIGZvciB0aGUgZmlyc3QgbGV2ZWwgbWVudSAqL1xyXG4gIGljb24/OiBzdHJpbmcgfCBNZW51SWNvbiB8IG51bGw7XHJcbiAgLyoqIEJhZGdldCBmb3IgdGhlIG1lbnUgaXRlbSB3aGVuIGBncm91cGAgaXMgYHRydWVgICovXHJcbiAgb3BlcmF0aW9uPzogc3RyaW5nO1xyXG4gIC8qKiBXaGV0aGVyIHNob3J0Y3V0IG1lbnUgaXRlbSAqL1xyXG4gIHNlcT86IG51bWJlcjtcclxuICBsZXZlbD86IG51bWJlcjtcclxuICAvKiogV2hldGVyIHNob3J0Y3V0IG1lbnUgcm9vdCBub2RlICovXHJcbiAgbGlua1R5cGU/OiBzdHJpbmc7XHJcbiAgLyoqIFdoZXRoZXIgdG8gYWxsb3cgcmV1c2UsIG5lZWQgdG8gY29vcGVyYXRlIHdpdGggdGhlIGByZXVzZS10YWJgIGNvbXBvbmVudCAqL1xyXG4gIGNoaWxkcmVuPzogTWVudVtdO1xyXG4gIGlzVmlzaWJsZT86JzAnIHwnMSdcclxufVxyXG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvYmFzZS9hdHItY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxHQUFHO0lBQ1Q7O09BRUc7SUFDSCxPQUFPLEVBQUMsRUFBRTtJQUNWLFVBQVUsRUFBQyxxQkFBcUI7SUFDaEMsV0FBVyxFQUFDLEtBQUs7SUFDakIsUUFBUSxFQUFDLEVBQUU7SUFDWDs7T0FFRztJQUNILFlBQVksRUFBQyxVQUFVO0lBQ3ZCLFVBQVUsRUFBQyxFQUFFO0NBQ2QsQ0FBQztBQUNGLE1BQU0sT0FBTyxXQUFXOztBQUNmLG1CQUFPLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDNUksaUJBQUssR0FBRyxxOUhBQXE5SCxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQW1Dai9ILE1BQU0sQ0FBTixJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIseUNBQUcsQ0FBQTtJQUNILDJDQUFJLENBQUE7SUFDSix5Q0FBRyxDQUFBO0lBQ0gsNkNBQUssQ0FBQTtJQUNMLHFEQUFTLENBQUE7QUFDWCxDQUFDLEVBTlcsVUFBVSxLQUFWLFVBQVUsUUFNckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYXRyX3N0YXRpY19kYXRhcyA9IHtcclxuICB0ZXN0OiAnMScsXHJcbiAgLyoqXHJcbiAgICogb3Nz5Zyw5Z2A5YmN57yAXHJcbiAgICovXHJcbiAgT1NTX1VSTDonJyxcclxuICBPU1NfUE9MSUNZOid0aGlyZC9vc3MvZ2V0UG9saWN5JyxcclxuICBTVE9SQUdFX1BSRTonRFFfJyxcclxuICBtZW51X3VybDonJyxcclxuICAvKipcclxuICAgKiDnmbvlvZXot6/nlLFcclxuICAgKi9cclxuICBsb2dpbl9yb3V0ZXI6Jy9wL2xvZ2luJyxcclxuICBTRVJWRVJfVVJMOicnLFxyXG59O1xyXG5leHBvcnQgY2xhc3MgY29tbW9uRGF0YXMge1xyXG4gIHN0YXRpYyBsZXR0ZXJzID0gW1wiQVwiLCBcIkJcIiwgXCJDXCIsIFwiRFwiLCBcIkVcIiwgXCJGXCIsIFwiR1wiLCBcIkhcIiwgXCJJXCIsIFwiSlwiLCBcIktcIiwgXCJMXCIsIFwiTVwiLCBcIk5cIiwgXCJPXCIsIFwiUFwiLCBcIlFcIiwgXCJSXCIsIFwiU1wiLCBcIlRcIiwgXCJVXCIsIFwiVlwiLCBcIldcIiwgXCJYXCIsIFwiWVwiLCBcIlpcIl1cclxuICBzdGF0aWMgaWNvbnMgPSAnc3RlcC1iYWNrd2FyZCxzdGVwLWZvcndhcmQsZmFzdC1iYWNrd2FyZCxmYXN0LWZvcndhcmQsc2hyaW5rLGFycm93cy1hbHQsZG93bix1cCxsZWZ0LHJpZ2h0LGNhcmV0LXVwLGNhcmV0LWRvd24sY2FyZXQtbGVmdCxjYXJldC1yaWdodCx1cC1jaXJjbGUsZG93bi1jaXJjbGUsbGVmdC1jaXJjbGUscmlnaHQtY2lyY2xlLGRvdWJsZS1yaWdodCxkb3VibGUtbGVmdCx2ZXJ0aWNhbC1sZWZ0LHZlcnRpY2FsLXJpZ2h0LHZlcnRpY2FsLWFsaWduLXRvcCx2ZXJ0aWNhbC1hbGlnbi1taWRkbGUsdmVydGljYWwtYWxpZ24tYm90dG9tLGZvcndhcmQsYmFja3dhcmQscm9sbGJhY2ssZW50ZXIscmV0d2VldCxzd2FwLHN3YXAtbGVmdCxzd2FwLXJpZ2h0LGFycm93LXVwLGFycm93LWRvd24sYXJyb3ctbGVmdCxhcnJvdy1yaWdodCxwbGF5LWNpcmNsZSx1cC1zcXVhcmUsZG93bi1zcXVhcmUsbGVmdC1zcXVhcmUscmlnaHQtc3F1YXJlLGxvZ2luLGxvZ291dCxtZW51LWZvbGQsbWVudS11bmZvbGQsYm9yZGVyLWJvdHRvbSxib3JkZXItaG9yaXpvbnRhbCxib3JkZXItaW5uZXIsYm9yZGVyLW91dGVyLGJvcmRlci1sZWZ0LGJvcmRlci1yaWdodCxib3JkZXItdG9wLGJvcmRlci12ZXJ0aWNsZSxwaWMtY2VudGVyLHBpYy1sZWZ0LHBpYy1yaWdodCxyYWRpdXMtYm90dG9tbGVmdCxyYWRpdXMtYm90dG9tcmlnaHQscmFkaXVzLXVwbGVmdCxyYWRpdXMtdXByaWdodCxmdWxsc2NyZWVuLGZ1bGxzY3JlZW4tZXhpdCxxdWVzdGlvbixxdWVzdGlvbi1jaXJjbGUscGx1cyxwbHVzLWNpcmNsZSxwYXVzZSxwYXVzZS1jaXJjbGUsbWludXMsbWludXMtY2lyY2xlLHBsdXMtc3F1YXJlLG1pbnVzLXNxdWFyZSxpbmZvLGluZm8tY2lyY2xlLGV4Y2xhbWF0aW9uLGV4Y2xhbWF0aW9uLWNpcmNsZSxjbG9zZSxjbG9zZS1jaXJjbGUsY2xvc2Utc3F1YXJlLGNoZWNrLGNoZWNrLWNpcmNsZSxjaGVjay1zcXVhcmUsY2xvY2stY2lyY2xlLHdhcm5pbmcsaXNzdWVzLWNsb3NlLHN0b3AsZWRpdCxmb3JtLGNvcHksc2Npc3NvcixkZWxldGUsc25pcHBldHMsZGlmZixoaWdobGlnaHQsYWxpZ24tY2VudGVyLGFsaWduLWxlZnQsYWxpZ24tcmlnaHQsYmctY29sb3JzLGJvbGQsaXRhbGljLHVuZGVybGluZSxzdHJpa2V0aHJvdWdoLHJlZG8sdW5kbyx6b29tLWluLHpvb20tb3V0LGZvbnQtY29sb3JzLGZvbnQtc2l6ZSxsaW5lLWhlaWdodCxkYXNoLHNtYWxsLWRhc2gsc29ydC1hc2NlbmRpbmcsc29ydC1kZXNjZW5kaW5nLGRyYWcsb3JkZXJlZC1saXN0LHVub3JkZXJlZC1saXN0LHJhZGl1cy1zZXR0aW5nLGNvbHVtbi13aWR0aCxjb2x1bW4taGVpZ2h0LGFyZWEtY2hhcnQscGllLWNoYXJ0LGJhci1jaGFydCxkb3QtY2hhcnQsbGluZS1jaGFydCxyYWRhci1jaGFydCxoZWF0LW1hcCxmYWxsLHJpc2Usc3RvY2ssYm94LXBsb3QsZnVuZCxzbGlkZXJzLGFuZHJvaWQsYXBwbGUsd2luZG93cyxpZSxjaHJvbWUsZ2l0aHViLGFsaXdhbmd3YW5nLGRpbmdkaW5nLHdlaWJvLXNxdWFyZSx3ZWliby1jaXJjbGUsdGFvYmFvLWNpcmNsZSxodG1sNSx3ZWlibyx0d2l0dGVyLHdlY2hhdCx5b3V0dWJlLGFsaXBheS1jaXJjbGUsdGFvYmFvLHNreXBlLHFxLG1lZGl1bS13b3JrbWFyayxnaXRsYWIsbWVkaXVtLGxpbmtlZGluLGdvb2dsZS1wbHVzLGRyb3Bib3gsZmFjZWJvb2ssY29kZXBlbixjb2RlLXNhbmRib3gsYW1hem9uLGdvb2dsZSxjb2RlcGVuLWNpcmNsZSxhbGlwYXksYW50LWRlc2lnbixhbnQtY2xvdWQsYWxpeXVuLHpoaWh1LHNsYWNrLHNsYWNrLXNxdWFyZSxiZWhhbmNlLGJlaGFuY2Utc3F1YXJlLGRyaWJiYmxlLGRyaWJiYmxlLXNxdWFyZSxpbnN0YWdyYW0seXVxdWUsYWxpYmFiYSx5YWhvbyxyZWRkaXQsc2tldGNoLGFsZXJ0LGFpbSxhY2NvdW50LWJvb2ssYXBhcnRtZW50LGFwaSxhcHBzdG9yZSxhdWRpby1tdXRlZCxhdWRpdCxiYW5rLGJhcmNvZGUsYmFycyxibG9jayxib29rLGJlbGwsYXBwc3RvcmUtYWRkLGF1ZGlvLGJvcmRlcixib3JkZXJsZXNzLXRhYmxlLGJ1ZyxicmFuY2hlcyxjYW1lcmEsY2FsY3VsYXRvcixjYWxlbmRhcixidWlsZCxjYXJyeS1vdXQsYnVsYixjYXIsY2xlYXIsY2ksY2xvdWQtZG93bmxvYWQsY2xvdWQsY2xvdWQtc3luYyxjbG91ZC1zZXJ2ZXIsY2xvdWQtdXBsb2FkLGNvZGUsY29mZmVlLGNvbXByZXNzLGNvbXBhc3MsY29tbWVudCxjaS1jaXJjbGUsY29udGFpbmVyLGNvbnRyb2wsY29weXJpZ2h0LGNyZWRpdC1jYXJkLGNsdXN0ZXIsY3VzdG9tZXItc2VydmljZSxjb250YWN0cyxjb25zb2xlLXNxbCxkYXNoYm9hcmQsZGF0YWJhc2UsY29weXJpZ2h0LWNpcmNsZSxkZWxldGUtY29sdW1uLGRlc2t0b3AsZGVwbG95bWVudC11bml0LGRlbGl2ZXJlZC1wcm9jZWR1cmUsZGlzY29ubmVjdCxkaW5ndGFsayxkb2xsYXItY2lyY2xlLGRpc2xpa2UsZGVsZXRlLXJvdyxkb2xsYXIsY3Jvd24sZG93bmxvYWQsZWxsaXBzaXMsZW52aXJvbm1lbnQsZXVyby1jaXJjbGUsZXhjZXB0aW9uLGV4cGFuZC1hbHQsZXVybyxleHBlcmltZW50LGV4cG9ydCxleHBhbmQsZXllLWludmlzaWJsZSxleWUsZmlsZS1hZGQsZmllbGQtc3RyaW5nLGZpbGUtZXhjbGFtYXRpb24sZmlsZS1kb25lLGZpZWxkLXRpbWUsZmlsZS1leGNlbCxmaWVsZC1iaW5hcnksZmlsZS1naWYsZmlsZS1pbWFnZSxmaWxlLGZpbGUtbWFya2Rvd24sZmlsZS1wcHQsZmlsZS1wZGYsZmllbGQtbnVtYmVyLGZpbGUtc2VhcmNoLGZpbGUtc3luYyxmaWxlLWpwZyxmaWxlLXRleHQsZmlsdGVyLGZpbGUtemlwLGZsYWcsZm9sZGVyLWFkZCxmaWxlLXVua25vd24sZm9sZGVyLW9wZW4sZmlyZSxmaWxlLXByb3RlY3QsZm9sZGVyLXZpZXcsZm9sZGVyLGZvcmssZm9ybWF0LXBhaW50ZXIsZnJvd24sZnVuZC1wcm9qZWN0aW9uLXNjcmVlbixnaWZ0LGdhdGV3YXksZnVuZC12aWV3LGdpZixmdW5uZWwtcGxvdCxnb2xkLGdsb2JhbCxncm91cCxoZGQsZnVuY3Rpb24saGlzdG9yeSxmaWxlLXdvcmQsaG9tZSxpZGNhcmQsaG91cmdsYXNzLGhlYXJ0LGluc2VydC1yb3ctYmVsb3csaW1wb3J0LGluc2VydC1yb3ctbGVmdCxpbnNlcnQtcm93LWFib3ZlLGluc2VydC1yb3ctcmlnaHQsa2V5LGluYm94LGluc3VyYW5jZSxsYXB0b3AsbGlrZSxsaW5lLGxpbmssbG9hZGluZy0zLXF1YXJ0ZXJzLGxvYWRpbmcsbG9jayxtYW4sbWFpbCxtYWMtY29tbWFuZCxtZWRpY2luZS1ib3gsbGF5b3V0LG1laCxpbnRlcmFjdGlvbixtZXNzYWdlLG1lbnUsbWVyZ2UtY2VsbHMsbW9iaWxlLG1vbmV5LWNvbGxlY3Qsbm9kZS1pbmRleCxtb25pdG9yLG5vZGUtZXhwYW5kLG1vcmUsbnVtYmVyLG5vdGlmaWNhdGlvbixvbmUtdG8tb25lLHBlcmNlbnRhZ2UscGhvbmUscGFwZXItY2xpcCxwYXJ0aXRpb24scGljdHVyZSxub2RlLWNvbGxhcHNlLHBsYXktc3F1YXJlLHBheS1jaXJjbGUscG91bmQscHJvZmlsZSxwcm9qZWN0LHByb3BlcnR5LXNhZmV0eSxwb3dlcm9mZixwdXNocGluLHFyY29kZSxwcmludGVyLHBvdW5kLWNpcmNsZSxwdWxsLXJlcXVlc3QscmVzdCxyZWFkLHJlbG9hZCxyZWNvbmNpbGlhdGlvbixyb2JvdCxyb2NrZXQscm90YXRlLXJpZ2h0LHNhZmV0eS1jZXJ0aWZpY2F0ZSxyZWQtZW52ZWxvcGUscm90YXRlLWxlZnQsc2F2ZSxzYWZldHksc2VhcmNoLHNlY3VyaXR5LXNjYW4sc2NhbixzZW5kLHNldHRpbmcsc2VsZWN0LHNoYWtlLHNob3BwaW5nLWNhcnQsc2lzdGVybm9kZSxzaG9wLHNob3BwaW5nLHNoYXJlLWFsdCxzY2hlZHVsZSxza2luLHNtaWxlLHNvbHV0aW9uLHNvdW5kLHNwbGl0LWNlbGxzLHN0YXIsc3Vibm9kZSx0YWdzLHRhYmxldCx0YWcsdGFibGUsc3dpdGNoZXIsc3luYyx0ZWFtLHRvb2wsdHJhZGVtYXJrLWNpcmNsZSx0aHVuZGVyYm9sdCx0by10b3AsdHJhbnNsYXRpb24sdHJhZGVtYXJrLHRyb3BoeSx1bmdyb3VwLHVubG9jayx1cGxvYWQsdHJhbnNhY3Rpb24sdXNlci1kZWxldGUsdXNiLHVzZXItYWRkLHVzZXJncm91cC1kZWxldGUsdmlkZW8tY2FtZXJhLWFkZCx2ZXJpZmllZCx1c2VyZ3JvdXAtYWRkLHVzZXIsdXNlci1zd2l0Y2gsdmlkZW8tY2FtZXJhLHdpZmksd2FsbGV0LHdoYXRzLWFwcCx3b21hbixhcHBzdG9yZScuc3BsaXQoJywnKVxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UganNvbiBleHRlbmRzIE9iamVjdCB7XHJcbiAgW2tleTogc3RyaW5nXTogYW55XHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTZXJ2ZXJQYWdpbmF0aW9uU3RhbmRhcmQge1xyXG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XHJcbiAgc2hvd0NvdW50OiBudW1iZXI7XHJcbiAgdG90YWxSZXN1bHQ6IG51bWJlcjtcclxuICB0b3RhbFBhZ2U/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBIdHRwUmVzcG9uc2VEYXRhU3RhbmRhcmQge1xyXG4gIHN0YXRlOiBudW1iZXI7IC8vIOS4ujHmiY3mmK/miJDlip9cclxuICBkYXRhOiBqc29uIHwgW3t9XSB8IG9iamVjdCB8IHN0cmluZyB8IGFueTsgLy/msqHmnInlgLwgZGF0YTogJydcclxuICBtZXNzOiBzdHJpbmc7IC8v6L+U5Zue55qE5raI5oGvXHJcbiAgcGFnZT86IFNlcnZlclBhZ2luYXRpb25TdGFuZGFyZDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBIdHRwUnNlcG9uc2VUcmFuc2Zvcm1DZWxsIHtcclxuICBba2V5OiBzdHJpbmddOiBqc29uXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBIdHRwT3B0aW9ucyB7XHJcbiAgaGVhZGVycz86IHt9LFxyXG4gIGlzSnNvbkVuY29kZT86IGJvb2xlYW5cclxuICBpc1VybEVuY29kZT86IGJvb2xlYW5cclxuICBpc0F1dG9TaG93TWVzc2FnZT86IGJvb2xlYW5cclxuICBpc1dpdGhDcmVkZW50aWFscz86IGJvb2xlYW5cclxuICBpc0NvbW1vbkh0dHBIZWFkZXI/OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFVzZXJBY3Rpb24ge1xyXG4gIEFERCxcclxuICBFRElULFxyXG4gIERFTCxcclxuICBRVUVSWSxcclxuICBTVVBQRVJBRERcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEF0ckZvcm1PcHQge1xyXG4gIHR5cGU6ICdhZGQnIHwgJ2VkaXQnIHwgJ3ZpZXcnLFxyXG4gIGxheW91dD86IFwiZnVsbFwiIHwgJzFsMmMnIHwgJzFsMWMnLFxyXG4gIGl0ZW1zOiBBdHJGb3JtRGV0YWlsW10sLy/ooajljZXpobnnm65cclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEF0ckZvcm1EZXRhaWwge1xyXG4gIGxhYmVsOiBzdHJpbmcsXHJcbiAgdHlwZTogJ2Nhc2NhZGVyJyB8ICdyYWRpbycgfCAndGV4dCcgfCAnaW1hZ2UnIHwgJ3NlbGVjdCcgfCAnZGF0ZScgfCAnbnVtYmVyJyB8ICd0ZWxwaG9uZScgfCAncGFzc3dvcmQnIHwgJ2NoZWNrYm94J1xyXG4gICAgfCAnZWRpdG9yJyB8ICd0ZXh0YXJlYScgfCAnZGF0ZVRpbWUnIHwgJ3RpdGxlJyB8ICdkYXRlUmFuZ2UnIHwgJ3NlbGVjdGMnIHwgJ3NlbGVjdEljb24nLFxyXG4gIGtleTogc3RyaW5nLFxyXG4gIGlzSGlkZGVuPzogYm9vbGVhbixcclxuICBkZWZhdWx0VmFsdWU/OiBhbnksXHJcbiAgdmFsdWU/OiBhbnksLy/nvJbovpHkuIvljp/lp4vmlbDlgLxcclxuICBkaWN0Q29kZT86IHN0cmluZywvL3NlbGVjdCDmqKHlvI/kuIvphY3nva5cclxuICBzcGFuPzogbnVtYmVyLC8v5pi+56S65a695bqmXHJcbiAgdmFsaWRhdG9ycz86IEF0ckZvcm1WYWxpZFtdLC8v6aqM6K+B5p2h5Lu2XHJcbiAgaXNSZXF1aXJlZD86IGJvb2xlYW4gfCBzdHJpbmcsLy/pmpDmgKfmnaHku7Yg5peg6ZyA5aGr5YaZLCBzdHJpbmfnsbvlnovmoLzlvI/lkIxvcGVyYXRvclxyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nLFxyXG4gIGltYWdlT3B0cz86IEltYWdlT3B0cyxcclxuICBlZGl0Q29udGVudD86IHN0cmluZyxcclxuICBoZWlnaHQ/OiBudW1iZXIsLy9lZGl0b3LmnInmlYhcclxuICBkaXNhYmxlPzogYm9vbGVhbixcclxuICBsc3Bhbj86IG51bWJlcixcclxuICBjc3Bhbj86IG51bWJlcixcclxuICByb3dzPzogbnVtYmVyLC8vdGV4dGFyZWEg5pi+56S66KGM5pWwXHJcbiAgb3BlcmF0b3I/OiBzdHJpbmcsLy/mmL7npLrmk43kvZznrKYg5qC85byPIOWmgjpzdGF0dXN8ZXF8MFxyXG4gIGJ1dHRvbj86IGZvcm1CdXR0b24sXHJcbiAgcmVhZG9ubHk/OiBib29sZWFuLFxyXG4gIGRhdGVGb3JtYXQ/OiBzdHJpbmcsXHJcbiAgZGljdExpc3Q/OiBDdXNEaWN0W10sXHJcbiAgc2VsZWN0VXJsPzogeyB1cmw6IHN0cmluZywgY29udmVydD86IHN0cmluZywgdHlwZT86ICdnZXQnIHwgJ3Bvc3QnLCBob3N0PzogJ29zcycgfCAnc2VydmUnLCBpc011bHRpcGxlPzogYm9vbGVhbiB9LFxyXG4gIHRyZWVMaXN0PzogeyBrZXk6IHN0cmluZywgdGl0bGU6IHN0cmluZyB9W10sXHJcbiAgZW5kcz86IHN0cmluZyxcclxuICBwcm9wb3NhbD86IHN0cmluZyxcclxuICB0ZW1wPzogYW55LFxyXG4gIG5vdE51bGw/OiBib29sZWFuXHJcblxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQXRyRm9ybVZhbGlkIHtcclxuICB0eXBlOiAncmVxdWlyZWQnIHwgJ2VtYWlsJyB8ICd0ZWxwaG9uZScgfCAnbWF4bGVuZ3RoJyB8ICdtaW5sZW5ndGgnIHwgJ3BhdHRlcm4nIHwgJ29wZXJhdG9yJyxcclxuICBlcnJvckxhYmVsOiBzdHJpbmcsXHJcbiAgbWF4bGVuZ3RoPzogbnVtYmVyLFxyXG4gIG1pbmxlbmd0aD86IG51bWJlcixcclxuICBwYXR0ZXJuVmFsdWU/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIGZvcm1CdXR0b24ge1xyXG4gIG5hbWU6IHN0cmluZyxcclxuICBpc1Nob3c6IGJvb2xlYW4sXHJcbiAgY29kZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBjb2xvck9wZXJhdG9yIHtcclxuICBjb2xvcjogc3RyaW5nLFxyXG4gIG9wZXJhdG9yOiBzdHJpbmcsLy/op4TliJlcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEF0clF1ZXlyT3B0IHtcclxuICBhY3Rpb25zPzogVGFibGVBY3Rpb25bXSxcclxuICBpc0luZGV4PzogYm9vbGVhbiwvL+aYr+WQpuaYvuekuuW6j+WPtyxcclxuICBjb2xvcj86IGNvbG9yT3BlcmF0b3IsLy/popzoibJcclxuICBjaGVja0JveD86IHtcclxuICAgIGlzU2hvd0NoZWNrYm94PzogYm9vbGVhbixcclxuICAgIGlzUmFkaW8/OiBib29sZWFuLFxyXG4gICAgaXNGb3JiaWQ/OiBib29sZWFuLC8vdHJ1ZeaXtuWPquWFgeiuuOeCueWHu+WkmumAieahhumAieaLqVxyXG4gIH0sXHJcbiAgLy8gaXNTaG93Q2hlY2tib3g/OiBib29sZWFuLFxyXG4gIHNob3dOdW0/OiBudW1iZXIsXHJcbiAgdXJsOiBzdHJpbmcsXHJcbiAgc29ydD86IHN0cmluZyxcclxuICBoZWFkZXJzPzogQXRyUXVlcnlIZWFkZXJbXSxcclxuICB0YWJsZXM6IFRhYmxlW10sXHJcbiAgaXNBdXRvUXVlcnk/OiBib29sZWFuLC8vdHJ1ZeaXtuWAmem7mOiupOinpuWPkeafpeivolxyXG4gIGRlZmF1bHRQYXJhbXM/OiBqc29uLFxyXG4gIGlzSGlkZVF1ZXJ5PzogYm9vbGVhblxyXG4gIC8vIGlzUmFkaW8/OmJvb2xlYW4sXHJcbiAgLy8gaXNGb3JiaWQ/OmJvb2xlYW4sLy90cnVl5pe25Y+q5YWB6K6454K55Ye75aSa6YCJ5qGG6YCJ5oupXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUYWJsZSB7XHJcbiAgbmFtZTogc3RyaW5nLC8v6KGo5aS05ZCN56ewXHJcbiAga2V5Pzogc3RyaW5nLC8v5a6e6ZmF5pWw5o2u5a2X5q61XHJcbiAgZGVmYXVsdFZhbD86IGFueSxcclxuICBzb3J0S2V5Pzogc3RyaW5nLC8v5piv5ZCm5o6S5bqPXHJcbiAgc29ydGFibGU/OiBib29sZWFuLFxyXG4gIHR5cGU6ICd0ZXh0Y29sb3InIHwgJ2ZpeGVkVGV4dCcgfCAndGV4dCcgfCAnbGluaycgfCAnYWN0aW9uJyB8ICdpbWFnZScgfCAnZGF0ZScgfCAnZGF0ZVRpbWUnIHwgJ3NEYXRlVGltZScgfCAnZGljdCcsLy/nsbvlnovvvJog5paH5a2X44CB6ZO+5o6l44CB5pON5L2cXHJcbiAgZGljdENvZGU/OiBzdHJpbmcsXHJcbiAgaXNTaG93PzogYm9vbGVhbixcclxuICB3aWR0aD86IHN0cmluZywvLzE1MHB4XHJcbiAgYWN0aW9ucz86IFRhYmxlQWN0aW9uW10sXHJcbiAgaXNSb3dTcGFuPzogYm9vbGVhbixcclxuICBpc1JpZ2h0PzogYm9vbGVhblxyXG4gIGlzTGVmdD86IGJvb2xlYW4sXHJcbiAgY29sb3I/OiBjb2xvck9wZXJhdG9yLC8v6aKc6ImyXHJcbiAgY29sb3JTaG93Pzogc3RyaW5nLFxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQXRyUXVlcnlIZWFkZXIge1xyXG4gIG5hbWU6IHN0cmluZyxcclxuICB0eXBlOiAnY2FzY2FkZXInIHwgJ3RleHQnIHwgJ251bWJlcicgfCAnY2hlY2tib3gnIHwgJ3NlbGVjdCcgfCAnZGF0ZXBpY2tlcicgfCAnc2VsZWN0Q3VzJyB8ICdkYXRlUmFuZ2UnIHwgJ3NkYXRlJyB8ICd0cmVlU2VsZWN0JyxcclxuICBrZXk6IHN0cmluZyxcclxuICBpc1Nob3c/OiBib29sZWFuLFxyXG4gIGNvZGU/OiBzdHJpbmcsXHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXHJcbiAgc3Bhbj86IG51bWJlcixcclxuICBkaWN0Q29kZT86IHN0cmluZywvL+Wtl+WFuOe8lueggVxyXG4gIGRpY3RMaXN0PzogQ3VzRGljdFtdLFxyXG4gIGRlZmF1bHRWYWw/OiBhbnkgLy8g6buY6K6k5YC8XHJcbiAgbWF4VGFnQ291bnQ/OiBudW1iZXIsXHJcbiAgbHNwYW4/OiBudW1iZXIsXHJcbiAgY3NwYW4/OiBudW1iZXIsXHJcbiAgZGlzYWJsZUNsZWFyPzogYm9vbGVhbixcclxuICB0cmVlTGlzdD86IHsga2V5OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcgfVtdXHJcbiAgLyoqXHJcbiAgICog5qC85byPXHJcbiAgICogY29udmVydDona2V5fGlkLHRpdGxlfHJlYWxOYW1lJyh0cmVlU2VsZWN0KVxyXG4gICAqICAgIHZhbHVlfGlkLGxhYmVsfG5hbWUoc2VsZWN0Q3VzKVxyXG4gICAqL1xyXG4gIHNlbGVjdFVybD86IHsgdXJsOiBzdHJpbmcsIGNvbnZlcnQ6IHN0cmluZywgaXNNdWx0aXBsZT86IGJvb2xlYW4gfSwvL2NvbnZlcnQ6IG5ld0tleXxvbGRLZXksbmV3S2V5fG9sZEtleSjmjqXlj6Pov5Tlm57nmoTlgLwpXHJcbiAgaWNvbj86IHsgaXNTaG93OiBib29sZWFuLCBjb2RlOiBzdHJpbmcsIGljb246IGFueSB9LFxyXG4gIGRhdGVNb2RlPzogJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJyxcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRhYmxlQWN0aW9uIHtcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgY29kZTogc3RyaW5nLFxyXG4gIHVybD86IHN0cmluZyxcclxuICBnVHlwZT86ICdub3JtYWwnIHwgJ3VwbG9hZCcsXHJcbiAgZGF0YT86IGFueSxcclxuICBkYXRhcz86IGFueVtdLFxyXG4gIGljb24/OiBzdHJpbmcsXHJcbiAgbnVtYmVyT2ZDaGVja2VkPzogbnVtYmVyLFxyXG4gIHR5cGU/OiAncm93cycgfCAncm93JyxcclxuICBvcGVyYXRvcj86IHN0cmluZywvL+aYvuekuuaTjeS9nOesplxyXG4gIGJ1dHRvblR5cGU/OiAncHJpbWFyeScgfCAnZGFzaGVkJyB8ICdkYW5nZXInIHwgJ2RlZmF1bHQnIHwgJ2xpbmsnLFxyXG4gIHZhbHVlPzogYW55LFxyXG4gIHdpdGhvdXRSb2xlPzogYm9vbGVhbi8v5LiN6ZyA6KaB5p2D6ZmQ5o6n5Yi2XHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBGb3JtQWN0aW9uIHtcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgY29kZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEaWN0IHtcclxuICBpZDogc3RyaW5nLFxyXG4gIHR5cGVOYW1lOiBzdHJpbmcsXHJcblxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGljdEdyb3VwIHtcclxuICBncm91cENvZGU6IHN0cmluZyxcclxuICBkaWN0czogRGljdFtdXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBDdXNEaWN0IHtcclxuICBsYWJlbDogc3RyaW5nLFxyXG4gIHZhbHVlOiBzdHJpbmcsXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJbWFnZU9wdHMge1xyXG4gIGxpbWl0PzogbnVtYmVyLFxyXG4gIHVwbG9hZERpcjogc3RyaW5nLFxyXG4gIHJlbW92ZUFjdGlvbj86IHN0cmluZyxcclxuICBpbWFnZUxpc3Q/OiBhbnlbXSxcclxuICBrZXk/OiBzdHJpbmcsXHJcbiAgbGFiZT86IHN0cmluZyxcclxuICBmaWxlTmFtZT86IHN0cmluZyxcclxuICB1cGxvYWRUeXBlPzogJ2RyYWcnIHwgJycsXHJcbiAgbnpGaWxlVHlwZT86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgZXF1aXBUZXN0RGF0YSB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgaXRlbU5hbWU6IHN0cmluZ1xyXG4gIHpob3UxOiBudW1iZXJcclxuICB6aG91MjogbnVtYmVyXHJcbiAgemhvdTM6IG51bWJlclxyXG4gIHpob3U0OiBudW1iZXJcclxuICB6aG91NTogbnVtYmVyXHJcbiAgemhvdTY6IG51bWJlclxyXG4gIGlzV3JvbmcxPzogYm9vbGVhblxyXG4gIGlzV3JvbmcyPzogYm9vbGVhblxyXG4gIGlzV3JvbmczPzogYm9vbGVhblxyXG4gIGlzV3Jvbmc0PzogYm9vbGVhblxyXG4gIGlzV3Jvbmc1PzogYm9vbGVhblxyXG4gIGlzV3Jvbmc2PzogYm9vbGVhblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNlbGVjdEFjdGlvbiB7XHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGNvZGU6IFwibmdNb2RlbENoYW5nZVwiIHwgJ256T3BlbkNoYW5nZScsXHJcbiAgZGF0YT86IGFueSxcclxuICBrZXk/OiBzdHJpbmcsXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBNZW51SWNvbiB7XHJcbiAgLyoqIFR5cGUgZm9yIGljb24gKi9cclxuICB0eXBlOiAnY2xhc3MnIHwgJ2ljb24nIHwgJ2ljb25mb250JyB8ICdpbWcnO1xyXG4gIC8qKiBWYWx1ZSBmb3IgdGhlIGljb24sIGNhbiBiZSBzZXQgQ2xhc3MgTmFtZSwgbnotaWNvbiBvZiBgbnpUeXBlYCwgaW1hZ2UgKi9cclxuICB2YWx1ZT86IHN0cmluZztcclxuICAvKiogVHlwZSBvZiB0aGUgYW50IGRlc2lnbiBpY29uLCBkZWZhdWx0OiBgb3V0bGluZWAgKi9cclxuICB0aGVtZT86ICdvdXRsaW5lJyB8ICd0d290b25lJyB8ICdmaWxsJztcclxuICAvKiogUm90YXRlIGljb24gd2l0aCBhbmltYXRpb24sIGRlZmF1bHQ6IGBmYWxzZWAgKi9cclxuICBzcGluPzogYm9vbGVhbjtcclxuICAvKiogT25seSBzdXBwb3J0IHRoZSB0d28tdG9uZSBpY29uLiBTcGVjaWZpYyB0aGUgcHJpbWFyeSBjb2xvciAqL1xyXG4gIHR3b1RvbmVDb2xvcj86IHN0cmluZztcclxuICAvKiogVHlwZSBvZiB0aGUgaWNvbiBmcm9tIGljb25mb250ICovXHJcbiAgaWNvbmZvbnQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVudSB7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICBsaW5rPzogc3RyaW5nO1xyXG4gIHJlYWxMaW5rPzpzdHJpbmc7XHJcbiAgaXNTZWxlY3RlZD86IEJvb2xlYW47XHJcbiAgaXNPcGVuPzogQm9vbGVhbjtcclxuICB0YXJnZXQ/OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCc7XHJcbiAgLyoqIEljb24gZm9yIHRoZSBtZW51IGl0ZW0sIG9ubHkgdmFsaWQgZm9yIHRoZSBmaXJzdCBsZXZlbCBtZW51ICovXHJcbiAgaWNvbj86IHN0cmluZyB8IE1lbnVJY29uIHwgbnVsbDtcclxuICAvKiogQmFkZ2V0IGZvciB0aGUgbWVudSBpdGVtIHdoZW4gYGdyb3VwYCBpcyBgdHJ1ZWAgKi9cclxuICBvcGVyYXRpb24/OiBzdHJpbmc7XHJcbiAgLyoqIFdoZXRoZXIgc2hvcnRjdXQgbWVudSBpdGVtICovXHJcbiAgc2VxPzogbnVtYmVyO1xyXG4gIGxldmVsPzogbnVtYmVyO1xyXG4gIC8qKiBXaGV0ZXIgc2hvcnRjdXQgbWVudSByb290IG5vZGUgKi9cclxuICBsaW5rVHlwZT86IHN0cmluZztcclxuICAvKiogV2hldGhlciB0byBhbGxvdyByZXVzZSwgbmVlZCB0byBjb29wZXJhdGUgd2l0aCB0aGUgYHJldXNlLXRhYmAgY29tcG9uZW50ICovXHJcbiAgY2hpbGRyZW4/OiBNZW51W107XHJcbiAgaXNWaXNpYmxlPzonMCcgfCcxJ1xyXG59XHJcbiJdfQ==
@@ -20,6 +20,7 @@ import { AtrComponentsModule } from "../../atr-components.module";
20
20
  import { CusNgZorroAntdModule } from "../../core/ngz-module/cus-zorro-antd.module";
21
21
  import { QuillModule } from "ngx-quill";
22
22
  import { QuillEditorComponent } from "./quill-editor/quill-editor.component";
23
+ import { SelectIconsComponent } from "./select-icons/select-icons.component";
23
24
  import * as i0 from "@angular/core";
24
25
  import * as i1 from "ngx-quill";
25
26
  const THIRDMODULES = [
@@ -31,7 +32,7 @@ registerLocaleData(zh);
31
32
  // #endregion
32
33
  // #region your componets & directives
33
34
  const COMPONENTS = [QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
34
- SelectTreeComponent, VideoComponent];
35
+ SelectTreeComponent, VideoComponent, SelectIconsComponent];
35
36
  //SharedModule
36
37
  // 应 包含定义:
37
38
  // 应用通用自定义业务组件
@@ -41,7 +42,7 @@ export class AtrSharedModule {
41
42
  }
42
43
  AtrSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
43
44
  AtrSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, declarations: [QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
44
- SelectTreeComponent, VideoComponent], imports: [PipeModuleModule,
45
+ SelectTreeComponent, VideoComponent, SelectIconsComponent], imports: [PipeModuleModule,
45
46
  CommonModule,
46
47
  FormsModule,
47
48
  ReactiveFormsModule,
@@ -57,7 +58,7 @@ AtrSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
57
58
  ReactiveFormsModule,
58
59
  RouterModule, CusNgZorroAntdModule,
59
60
  NzResizableModule, QuillEditorComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
60
- SelectTreeComponent, VideoComponent, PipeModuleModule] });
61
+ SelectTreeComponent, VideoComponent, SelectIconsComponent, PipeModuleModule] });
61
62
  AtrSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrSharedModule, providers: SERVICE_PROVIDES, imports: [[
62
63
  PipeModuleModule,
63
64
  CommonModule,
@@ -181,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
181
182
  providers: SERVICE_PROVIDES
182
183
  }]
183
184
  }] });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2F0ci1zaGFyZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxD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bEIsR0FBRyxVQUFVO3dCQUNiLGdCQUFnQjtxQkFDakI7b0JBQ0QsU0FBUyxFQUFDLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXRyVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnpSZXNpemFibGVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Jlc2l6YWJsZSc7XHJcbmltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB6aCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy96aCc7XHJcbmltcG9ydCB7IExvY2FsVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9sb2NhbC11cGxvYWQvbG9jYWwtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlbGVjdFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpZGVvQ29tcG9uZW50IH0gZnJvbSAnLi92aWRlby92aWRlby5jb21wb25lbnQnO1xyXG5pbXBvcnQge1ZnQ29udHJvbHNNb2R1bGUsIFZnQ29yZU1vZHVsZSwgVmdPdmVybGF5UGxheU1vZHVsZSwgVmdCdWZmZXJpbmdNb2R1bGV9IGZyb20gXCJuZ3gtdmlkZW9ndWxhclwiO1xyXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1RhYmxlVGRDb21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLXRkL3RhYmxlLXRkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RhYmxlRm9ybUl0ZW1Db21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2NvcmUvcGlwZS9waXBlLW1vZHVsZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtBdHJDb21wb25lbnRzTW9kdWxlfSBmcm9tIFwiLi4vLi4vYXRyLWNvbXBvbmVudHMubW9kdWxlXCI7XHJcbmltcG9ydCB7Q3VzTmdab3Jyb0FudGRNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL25nei1tb2R1bGUvY3VzLXpvcnJvLWFudGQubW9kdWxlXCI7XHJcbmltcG9ydCB7UXVpbGxNb2R1bGV9IGZyb20gXCJuZ3gtcXVpbGxcIjtcclxuaW1wb3J0IHtRdWlsbEVkaXRvckNvbXBvbmVudH0gZnJvbSBcIi4vcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnRcIjtcclxuY29uc3QgVEhJUkRNT0RVTEVTID0gW1xyXG4gIEN1c05nWm9ycm9BbnRkTW9kdWxlLFxyXG4gIE56UmVzaXphYmxlTW9kdWxlXHJcbl07XHJcblxyXG5jb25zdCBTRVJWSUNFX1BST1ZJREVTOmFueSA9IFtdO1xyXG5yZWdpc3RlckxvY2FsZURhdGEoemgpO1xyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIHlvdXIgY29tcG9uZXRzICYgZGlyZWN0aXZlc1xyXG5jb25zdCBDT01QT05FTlRTID0gW1F1aWxsRWRpdG9yQ29tcG9uZW50LFRhYmxlRm9ybUl0ZW1Db21wb25lbnQsVGFibGVUZENvbXBvbmVudCxBdHJUYWJsZUNvbXBvbmVudCxVcGxvYWRDb21wb25lbnQsQXRyRm9ybUNvbXBvbmVudCxMb2NhbFVwbG9hZENvbXBvbmVudCxcclxuICBTZWxlY3RUcmVlQ29tcG9uZW50LFZpZGVvQ29tcG9uZW50XTtcclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBQaXBlTW9kdWxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgLy8gdGhpcmQgbGlic1xyXG4gICAgLi4uVEhJUkRNT0RVTEVTLFxyXG4gICAgVmdDb3JlTW9kdWxlLFxyXG4gICAgVmdDb250cm9sc01vZHVsZSxcclxuICAgIFZnT3ZlcmxheVBsYXlNb2R1bGUsXHJcbiAgICBWZ0J1ZmZlcmluZ01vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgQXRyQ29tcG9uZW50c01vZHVsZSxcclxuICAgIFF1aWxsTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBtb2R1bGVzOiB7XHJcbiAgICAgICAgc3ludGF4OiBmYWxzZSxcclxuICAgICAgICBpbWFnZVJlc2l6ZToge30sXHJcbiAgICAgICAgdG9vbGJhcjoge1xyXG4gICAgICAgICAgY29udGFpbmVyOiBbXHJcbiAgICAgICAgICAgIFsndW5kbycsICdyZWRvJ10sXHJcbiAgICAgICAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJ10sICAgICAgICAvLyB0b2dnbGVkIGJ1dHRvbnNcclxuICAgICAgICAgICAgLy8gWydjb2RlLWJsb2NrJ10sIC8vIGJsb2NrcXVvdGVcclxuICAgICAgICAgICAgLy8gW3sgaGVhZGVyOiAxIH0sIHsgaGVhZGVyOiAyIH1dLCAgICAgICAgICAgICAgIC8vIGN1c3RvbSBidXR0b24gdmFsdWVzXHJcbiAgICAgICAgICAgIFt7bGlzdDogJ29yZGVyZWQnfSwge2xpc3Q6ICdidWxsZXQnfV0sXHJcbiAgICAgICAgICAgIC8vIFt7IHNjcmlwdDogJ3N1YicgfSwgeyBzY3JpcHQ6ICdzdXBlcicgfV0sICAgICAgLy8gc3VwZXJzY3JpcHQvc3Vic2NyaXB0XHJcbiAgICAgICAgICAgIFt7aW5kZW50OiAnLTEnfSwge2luZGVudDogJysxJ31dLCAgICAgICAgICAvLyBvdXRkZW50L2luZGVudFxyXG4gICAgICAgICAgICAvLyBbeyBkaXJlY3Rpb246ICdydGwnIH1dLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0IGRpcmVjdGlvblxyXG4gICAgICAgICAgICAvLyBbeyBzaXplOiBbJ3NtYWxsJywgZmFsc2UsICdsYXJnZScsICdodWdlJ10gfV0sICAvLyBjdXN0b20gZHJvcGRvd25cclxuICAgICAgICAgICAgW3toZWFkZXI6IFsxLCAyLCAzLCA0LCA1LCA2LCBmYWxzZV19XSxcclxuICAgICAgICAgICAgW3tjb2xvcjogW119LCB7YmFja2dyb3VuZDogW119XSwgICAgICAgICAgLy8gZHJvcGRvd24gd2l0aCBkZWZhdWx0cyBmcm9tIHRoZW1lXHJcbiAgICAgICAgICAgIC8vIFt7IGZvbnQ6IFtdIH1dLFxyXG4gICAgICAgICAgICBbe2FsaWduOiBbXX1dLFxyXG4gICAgICAgICAgICBbJ2NsZWFuJ10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgZm9ybWF0dGluZyBidXR0b25cclxuICAgICAgICAgICAgWydpbWFnZSddLCAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rIGFuZCBpbWFnZSwgdmlkZW9cclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBoYW5kbGVyczoge1xyXG4gICAgICAgICAgICByZWRvKCkge1xyXG4gICAgICAgICAgICAgIHRoaXNbJ3F1aWxsJ10uaGlzdG9yeS5yZWRvKCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHVuZG8oKSB7XHJcbiAgICAgICAgICAgICAgdGhpc1sncXVpbGwnXS5oaXN0b3J5LnVuZG8oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSksXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIC8vIHlvdXIgY29tcG9uZW50c1xyXG4gICAgLi4uQ09NUE9ORU5UUyxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgLy8gdGhpcmQgbGlic1xyXG4gICAgLi4uVEhJUkRNT0RVTEVTLFxyXG4gICAgLy8geW91ciBjb21wb25lbnRzXHJcbiAgICAuLi5DT01QT05FTlRTLFxyXG4gICAgUGlwZU1vZHVsZU1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOlNFUlZJQ0VfUFJPVklERVNcclxufSlcclxuLy9TaGFyZWRNb2R1bGVcclxuLy8g5bqUIOWMheWQq+WumuS5ie+8mlxyXG4vLyDlupTnlKjpgJrnlKjoh6rlrprkuYnkuJrliqHnu4Tku7ZcclxuLy8g5bqUIOWvvOWHuuaJgOacieWMheWQq+eahOaooeWdl+OAglxyXG4vLyDkuI3lupQg5pyJIHByb3ZpZGVycyDlsZ7mgKfjgIJcclxuZXhwb3J0IGNsYXNzIEF0clNoYXJlZE1vZHVsZSB7IH1cclxuIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLXNoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2F0ci1zaGFyZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxD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O3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsR0FBRyxZQUFZO3dCQUNmLGtCQUFrQjt3QkFDbEIsR0FBRyxVQUFVO3dCQUNiLGdCQUFnQjtxQkFDakI7b0JBQ0QsU0FBUyxFQUFDLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXRyVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnpSZXNpemFibGVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Jlc2l6YWJsZSc7XHJcbmltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB6aCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy96aCc7XHJcbmltcG9ydCB7IExvY2FsVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9sb2NhbC11cGxvYWQvbG9jYWwtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlbGVjdFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC10cmVlL3NlbGVjdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpZGVvQ29tcG9uZW50IH0gZnJvbSAnLi92aWRlby92aWRlby5jb21wb25lbnQnO1xyXG5pbXBvcnQge1ZnQ29udHJvbHNNb2R1bGUsIFZnQ29yZU1vZHVsZSwgVmdPdmVybGF5UGxheU1vZHVsZSwgVmdCdWZmZXJpbmdNb2R1bGV9IGZyb20gXCJuZ3gtdmlkZW9ndWxhclwiO1xyXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQge1RhYmxlVGRDb21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLXRkL3RhYmxlLXRkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RhYmxlRm9ybUl0ZW1Db21wb25lbnR9IGZyb20gXCIuL3RhYmxlL3RhYmxlLWZvcm0taXRlbS90YWJsZS1mb3JtLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2NvcmUvcGlwZS9waXBlLW1vZHVsZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtBdHJDb21wb25lbnRzTW9kdWxlfSBmcm9tIFwiLi4vLi4vYXRyLWNvbXBvbmVudHMubW9kdWxlXCI7XHJcbmltcG9ydCB7Q3VzTmdab3Jyb0FudGRNb2R1bGV9IGZyb20gXCIuLi8uLi9jb3JlL25nei1tb2R1bGUvY3VzLXpvcnJvLWFudGQubW9kdWxlXCI7XHJcbmltcG9ydCB7UXVpbGxNb2R1bGV9IGZyb20gXCJuZ3gtcXVpbGxcIjtcclxuaW1wb3J0IHtRdWlsbEVkaXRvckNvbXBvbmVudH0gZnJvbSBcIi4vcXVpbGwtZWRpdG9yL3F1aWxsLWVkaXRvci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTZWxlY3RJY29uc0NvbXBvbmVudH0gZnJvbSBcIi4vc2VsZWN0LWljb25zL3NlbGVjdC1pY29ucy5jb21wb25lbnRcIjtcclxuY29uc3QgVEhJUkRNT0RVTEVTID0gW1xyXG4gIEN1c05nWm9ycm9BbnRkTW9kdWxlLFxyXG4gIE56UmVzaXphYmxlTW9kdWxlXHJcbl07XHJcblxyXG5jb25zdCBTRVJWSUNFX1BST1ZJREVTOmFueSA9IFtdO1xyXG5yZWdpc3RlckxvY2FsZURhdGEoemgpO1xyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIHlvdXIgY29tcG9uZXRzICYgZGlyZWN0aXZlc1xyXG5jb25zdCBDT01QT05FTlRTID0gW1F1aWxsRWRpdG9yQ29tcG9uZW50LFRhYmxlRm9ybUl0ZW1Db21wb25lbnQsVGFibGVUZENvbXBvbmVudCxBdHJUYWJsZUNvbXBvbmVudCxVcGxvYWRDb21wb25lbnQsQXRyRm9ybUNvbXBvbmVudCxMb2NhbFVwbG9hZENvbXBvbmVudCxcclxuICBTZWxlY3RUcmVlQ29tcG9uZW50LFZpZGVvQ29tcG9uZW50LFNlbGVjdEljb25zQ29tcG9uZW50XTtcclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBQaXBlTW9kdWxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgLy8gdGhpcmQgbGlic1xyXG4gICAgLi4uVEhJUkRNT0RVTEVTLFxyXG4gICAgVmdDb3JlTW9kdWxlLFxyXG4gICAgVmdDb250cm9sc01vZHVsZSxcclxuICAgIFZnT3ZlcmxheVBsYXlNb2R1bGUsXHJcbiAgICBWZ0J1ZmZlcmluZ01vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgQXRyQ29tcG9uZW50c01vZHVsZSxcclxuICAgIFF1aWxsTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBtb2R1bGVzOiB7XHJcbiAgICAgICAgc3ludGF4OiBmYWxzZSxcclxuICAgICAgICBpbWFnZVJlc2l6ZToge30sXHJcbiAgICAgICAgdG9vbGJhcjoge1xyXG4gICAgICAgICAgY29udGFpbmVyOiBbXHJcbiAgICAgICAgICAgIFsndW5kbycsICdyZWRvJ10sXHJcbiAgICAgICAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJ10sICAgICAgICAvLyB0b2dnbGVkIGJ1dHRvbnNcclxuICAgICAgICAgICAgLy8gWydjb2RlLWJsb2NrJ10sIC8vIGJsb2NrcXVvdGVcclxuICAgICAgICAgICAgLy8gW3sgaGVhZGVyOiAxIH0sIHsgaGVhZGVyOiAyIH1dLCAgICAgICAgICAgICAgIC8vIGN1c3RvbSBidXR0b24gdmFsdWVzXHJcbiAgICAgICAgICAgIFt7bGlzdDogJ29yZGVyZWQnfSwge2xpc3Q6ICdidWxsZXQnfV0sXHJcbiAgICAgICAgICAgIC8vIFt7IHNjcmlwdDogJ3N1YicgfSwgeyBzY3JpcHQ6ICdzdXBlcicgfV0sICAgICAgLy8gc3VwZXJzY3JpcHQvc3Vic2NyaXB0XHJcbiAgICAgICAgICAgIFt7aW5kZW50OiAnLTEnfSwge2luZGVudDogJysxJ31dLCAgICAgICAgICAvLyBvdXRkZW50L2luZGVudFxyXG4gICAgICAgICAgICAvLyBbeyBkaXJlY3Rpb246ICdydGwnIH1dLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0IGRpcmVjdGlvblxyXG4gICAgICAgICAgICAvLyBbeyBzaXplOiBbJ3NtYWxsJywgZmFsc2UsICdsYXJnZScsICdodWdlJ10gfV0sICAvLyBjdXN0b20gZHJvcGRvd25cclxuICAgICAgICAgICAgW3toZWFkZXI6IFsxLCAyLCAzLCA0LCA1LCA2LCBmYWxzZV19XSxcclxuICAgICAgICAgICAgW3tjb2xvcjogW119LCB7YmFja2dyb3VuZDogW119XSwgICAgICAgICAgLy8gZHJvcGRvd24gd2l0aCBkZWZhdWx0cyBmcm9tIHRoZW1lXHJcbiAgICAgICAgICAgIC8vIFt7IGZvbnQ6IFtdIH1dLFxyXG4gICAgICAgICAgICBbe2FsaWduOiBbXX1dLFxyXG4gICAgICAgICAgICBbJ2NsZWFuJ10sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgZm9ybWF0dGluZyBidXR0b25cclxuICAgICAgICAgICAgWydpbWFnZSddLCAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rIGFuZCBpbWFnZSwgdmlkZW9cclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBoYW5kbGVyczoge1xyXG4gICAgICAgICAgICByZWRvKCkge1xyXG4gICAgICAgICAgICAgIHRoaXNbJ3F1aWxsJ10uaGlzdG9yeS5yZWRvKCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHVuZG8oKSB7XHJcbiAgICAgICAgICAgICAgdGhpc1sncXVpbGwnXS5oaXN0b3J5LnVuZG8oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSksXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIC8vIHlvdXIgY29tcG9uZW50c1xyXG4gICAgLi4uQ09NUE9ORU5UUyxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgLy8gdGhpcmQgbGlic1xyXG4gICAgLi4uVEhJUkRNT0RVTEVTLFxyXG4gICAgLy8geW91ciBjb21wb25lbnRzXHJcbiAgICAuLi5DT01QT05FTlRTLFxyXG4gICAgUGlwZU1vZHVsZU1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOlNFUlZJQ0VfUFJPVklERVNcclxufSlcclxuLy9TaGFyZWRNb2R1bGVcclxuLy8g5bqUIOWMheWQq+WumuS5ie+8mlxyXG4vLyDlupTnlKjpgJrnlKjoh6rlrprkuYnkuJrliqHnu4Tku7ZcclxuLy8g5bqUIOWvvOWHuuaJgOacieWMheWQq+eahOaooeWdl+OAglxyXG4vLyDkuI3lupQg5pyJIHByb3ZpZGVycyDlsZ7mgKfjgIJcclxuZXhwb3J0IGNsYXNzIEF0clNoYXJlZE1vZHVsZSB7IH1cclxuIl19
@@ -9,16 +9,17 @@ import * as i2 from "@angular/forms";
9
9
  import * as i3 from "../../../core/services/dict/dict.service";
10
10
  import * as i4 from "ng-zorro-antd/form";
11
11
  import * as i5 from "ng-zorro-antd/tree-select";
12
- import * as i6 from "ng-zorro-antd/input-number";
13
- import * as i7 from "ng-zorro-antd/radio";
14
- import * as i8 from "ng-zorro-antd/select";
15
- import * as i9 from "ng-zorro-antd/cascader";
16
- import * as i10 from "ng-zorro-antd/date-picker";
17
- import * as i11 from "../upload/upload.component";
18
- import * as i12 from "../quill-editor/quill-editor.component";
19
- import * as i13 from "ng-zorro-antd/grid";
20
- import * as i14 from "@angular/common";
21
- import * as i15 from "ng-zorro-antd/input";
12
+ import * as i6 from "../select-icons/select-icons.component";
13
+ import * as i7 from "ng-zorro-antd/input-number";
14
+ import * as i8 from "ng-zorro-antd/radio";
15
+ import * as i9 from "ng-zorro-antd/select";
16
+ import * as i10 from "ng-zorro-antd/cascader";
17
+ import * as i11 from "ng-zorro-antd/date-picker";
18
+ import * as i12 from "../upload/upload.component";
19
+ import * as i13 from "../quill-editor/quill-editor.component";
20
+ import * as i14 from "ng-zorro-antd/grid";
21
+ import * as i15 from "@angular/common";
22
+ import * as i16 from "ng-zorro-antd/input";
22
23
  export class AtrFormComponent {
23
24
  // tslint:disable-next-line:max-line-length
24
25
  constructor(shareService, fb, dictService, injector, locale) {
@@ -360,10 +361,10 @@ export class AtrFormComponent {
360
361
  }
361
362
  }
362
363
  AtrFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrFormComponent, deps: [{ token: i1.ShareService }, { token: i2.FormBuilder }, { token: i3.DictService }, { token: i0.Injector }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
363
- AtrFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AtrFormComponent, selector: "atr-form", inputs: { formOpts: "formOpts" }, outputs: { formAction: "formAction" }, ngImport: i0, template: "<form nz-form [formGroup]=\"atrForm\">\r\n <div nz-row nzGutter=\"8\" nzType=\"flex\" nzAlign=\"top\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <div nz-col nzSpan=\"24\" class=\"form-title\" *ngIf=\"item.type == 'title'\" >\r\n {{item.label}}\r\n </div>\r\n <div nz-col [nzSpan]=\"item.span\" *ngIf=\"isShow(item.isHidden,item.operator)\">\r\n\r\n <nz-form-item *ngIf=\"item.type != 'title'\">\r\n <nz-form-label [nzSm]=\"item.lspan\" [nzXs]=\"24\" [nzRequired]=\"isRequired(item)\">{{item.label}}</nz-form-label>\r\n <nz-form-control [nzSm]=\"item.cspan\" [nzXs]=\"24\">\r\n <nz-tree-select *ngIf=\"item.type == 'treeSelect'\"\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\"\r\n style=\"flex: 1\"\r\n >\r\n </nz-tree-select>\r\n <input *ngIf=\"item.type == 'text'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly || formOpts.type == 'view'\"\r\n [formControlName]=\"item.key\"/>\r\n <textarea *ngIf=\"item.type == 'textarea'\" nz-input [rows]=\"item.rows\" placeholder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\" [readonly]=\"item.readonly|| formOpts.type == 'view'\"></textarea>\r\n <nz-input-number *ngIf=\"item.type == 'number'\" nzPlaceHolder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\"></nz-input-number>\r\n <nz-radio-group *ngIf=\"item.type == 'radio'\" [formControlName]=\"item.key\">\r\n <label nz-radio *ngFor=\"let o of item.dictList\" [nzValue]=\"o.value\" >{{o.label}}</label>\r\n </nz-radio-group>\r\n <nz-select\r\n *ngIf=\"item.type == 'select'\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of dicts[item.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select\r\n *ngIf=\"item.type == 'selectc'\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\" > </nz-option>\r\n </nz-select>\r\n <nz-cascader [nzDisabled]=\"item.readonly\" style=\"flex: 1\" [nzAllowClear]=\"!item.notNull\"\r\n [nzValueProperty]=\"'nzValueProperty'\"\r\n [nzShowSearch]=\"true\" *ngIf=\"item.type == 'cascader'\"\r\n [nzOptions]=\"item.dictList\" [formControlName]=\"item.key\" ></nz-cascader>\r\n <nz-date-picker *ngIf=\"item.type == 'date'\" [nzFormat]=\"item.dateFormat ? item.dateFormat : 'yyyy-MM-dd'\"\r\n [nzShowTime]=\"showTime(item)\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n <nz-range-picker *ngIf=\"item.type == 'dateRange'\" [nzFormat]=\"'yyyy-MM-dd'\" [formControlName]=\"item.key\"\r\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"></nz-range-picker>\r\n\r\n <input *ngIf=\"item.type == 'image'\" nz-input [formControlName]=\"item.key\" [hidden]=\"true\"/>\r\n <atr-img-upload *ngIf=\"item.type == 'image'\" [(opts)]=\"item.imageOpts\"\r\n (afterChange)=\"imageUploadChange($event)\"></atr-img-upload>\r\n\r\n <!-- <editor *ngIf=\"item.type == 'editor'\" [formControlName]=\"item.key\" [config]=\"{initialFrameHeight:item.height}\" ></editor>-->\r\n <app-quill-editor *ngIf=\"item.type == 'editor'\" [formControlName]=\"item.key\"\r\n [styles]=\"{height:item.height > 0 ? item.height + 'px' : '250px'}\"></app-quill-editor>\r\n\r\n <ng-container *ngFor=\"let valid of item.validators\">\r\n <ng-container *ngIf=\"atrForm.get(item.key).hasError(valid.type) && (atrForm.get(item.key).dirty )\">\r\n <div style=\"color:red; height: 15px;margin: 0;line-height: 15px;\">{{valid.errorLabel}}</div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <button *ngIf=\"item.button?.isShow\" type=\"button\" class=\"ant-btn ant-btn-primary\"\r\n (click)=\"doAction(item.button,$event)\">\r\n <span>{{item.button.name}}</span></button>\r\n </nz-form-control>\r\n <ng-container *ngTemplateOutlet=\"item.temp\"></ng-container>\r\n </nz-form-item>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</form>\r\n", styles: [":host ::ng-deep .ant-form-item{margin:0 0 10px}:host ::ng-deep .ant-form-item-label{text-align:left}:host ::ng-deep nz-input-number{width:100%}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}\n"], components: [{ type: i4.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { type: i4.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon"], exportAs: ["nzFormLabel"] }, { type: i4.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { type: i5.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzExpandedKeys", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckBoxChange"], exportAs: ["nzTreeSelect"] }, { type: i6.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }, { type: i7.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { type: i7.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus"], exportAs: ["nzRadio"] }, { type: i8.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { type: i8.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { type: i9.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelRender", "nzLabelProperty", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseEnterDelay", "nzMouseLeaveDelay", "nzStatus", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzSuffixIcon", "nzExpandIcon", "nzOptions"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzSelect", "nzClear"], exportAs: ["nzCascader"] }, { type: i10.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { type: i11.UploadComponent, selector: "atr-img-upload", inputs: ["opts", "isEdit", "allowChangSeq"], outputs: ["afterChange", "optsChange"] }, { type: i12.QuillEditorComponent, selector: "app-quill-editor", inputs: ["placeholder", "styles", "value", "readOnly", "needImgSeq"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon"], exportAs: ["nzForm"] }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i13.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i15.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { type: i2.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: i10.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
364
+ AtrFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AtrFormComponent, selector: "atr-form", inputs: { formOpts: "formOpts" }, outputs: { formAction: "formAction" }, ngImport: i0, template: "<form nz-form [formGroup]=\"atrForm\">\r\n <div nz-row nzGutter=\"8\" nzType=\"flex\" nzAlign=\"top\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <div nz-col nzSpan=\"24\" class=\"form-title\" *ngIf=\"item.type == 'title'\" >\r\n {{item.label}}\r\n </div>\r\n <div nz-col [nzSpan]=\"item.span\" *ngIf=\"isShow(item.isHidden,item.operator)\">\r\n\r\n <nz-form-item *ngIf=\"item.type != 'title'\">\r\n <nz-form-label [nzSm]=\"item.lspan\" [nzXs]=\"24\" [nzRequired]=\"isRequired(item)\">{{item.label}}</nz-form-label>\r\n <nz-form-control [nzSm]=\"item.cspan\" [nzXs]=\"24\">\r\n <nz-tree-select *ngIf=\"item.type == 'treeSelect'\"\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\"\r\n style=\"flex: 1\"\r\n >\r\n </nz-tree-select>\r\n <app-select-icons *ngIf=\"item.type == 'selectIcon'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly \"\r\n style=\"flex: 1\"\r\n [formControlName]=\"item.key\">\r\n </app-select-icons>\r\n <input *ngIf=\"item.type == 'text'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly || formOpts.type == 'view'\"\r\n [formControlName]=\"item.key\"/>\r\n <textarea *ngIf=\"item.type == 'textarea'\" nz-input [rows]=\"item.rows\" placeholder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\" [readonly]=\"item.readonly|| formOpts.type == 'view'\"></textarea>\r\n <nz-input-number *ngIf=\"item.type == 'number'\" nzPlaceHolder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\"></nz-input-number>\r\n <nz-radio-group *ngIf=\"item.type == 'radio'\" [formControlName]=\"item.key\">\r\n <label nz-radio *ngFor=\"let o of item.dictList\" [nzValue]=\"o.value\" >{{o.label}}</label>\r\n </nz-radio-group>\r\n <nz-select\r\n *ngIf=\"item.type == 'select'\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of dicts[item.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select\r\n *ngIf=\"item.type == 'selectc'\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\" > </nz-option>\r\n </nz-select>\r\n <nz-cascader [nzDisabled]=\"item.readonly\" style=\"flex: 1\" [nzAllowClear]=\"!item.notNull\"\r\n [nzValueProperty]=\"'nzValueProperty'\"\r\n [nzShowSearch]=\"true\" *ngIf=\"item.type == 'cascader'\"\r\n [nzOptions]=\"item.dictList\" [formControlName]=\"item.key\" ></nz-cascader>\r\n <nz-date-picker *ngIf=\"item.type == 'date'\" [nzFormat]=\"item.dateFormat ? item.dateFormat : 'yyyy-MM-dd'\"\r\n [nzShowTime]=\"showTime(item)\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n <nz-range-picker *ngIf=\"item.type == 'dateRange'\" [nzFormat]=\"'yyyy-MM-dd'\" [formControlName]=\"item.key\"\r\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"></nz-range-picker>\r\n\r\n <input *ngIf=\"item.type == 'image'\" nz-input [formControlName]=\"item.key\" [hidden]=\"true\"/>\r\n <atr-img-upload *ngIf=\"item.type == 'image'\" [(opts)]=\"item.imageOpts\"\r\n (afterChange)=\"imageUploadChange($event)\"></atr-img-upload>\r\n\r\n <!-- <editor *ngIf=\"item.type == 'editor'\" [formControlName]=\"item.key\" [config]=\"{initialFrameHeight:item.height}\" ></editor>-->\r\n <app-quill-editor *ngIf=\"item.type == 'editor'\" [formControlName]=\"item.key\"\r\n [styles]=\"{height:item.height > 0 ? item.height + 'px' : '250px'}\"></app-quill-editor>\r\n\r\n <ng-container *ngFor=\"let valid of item.validators\">\r\n <ng-container *ngIf=\"atrForm.get(item.key).hasError(valid.type) && (atrForm.get(item.key).dirty )\">\r\n <div style=\"color:red; height: 15px;margin: 0;line-height: 15px;\">{{valid.errorLabel}}</div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <button *ngIf=\"item.button?.isShow\" type=\"button\" class=\"ant-btn ant-btn-primary\"\r\n (click)=\"doAction(item.button,$event)\">\r\n <span>{{item.button.name}}</span></button>\r\n </nz-form-control>\r\n <ng-container *ngTemplateOutlet=\"item.temp\"></ng-container>\r\n </nz-form-item>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</form>\r\n", styles: [":host ::ng-deep .ant-form-item{margin:0 0 10px}:host ::ng-deep .ant-form-item-label{text-align:left}:host ::ng-deep nz-input-number{width:100%}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}\n"], components: [{ type: i4.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { type: i4.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon"], exportAs: ["nzFormLabel"] }, { type: i4.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { type: i5.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzExpandedKeys", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckBoxChange"], exportAs: ["nzTreeSelect"] }, { type: i6.SelectIconsComponent, selector: "app-select-icons", inputs: ["readonly", "placeholder"] }, { type: i7.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }, { type: i8.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { type: i8.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus"], exportAs: ["nzRadio"] }, { type: i9.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { type: i9.NzOptionComponent, selector: "nz-option", inputs: ["nzLabel", "nzValue", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { type: i10.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelRender", "nzLabelProperty", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseEnterDelay", "nzMouseLeaveDelay", "nzStatus", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzSuffixIcon", "nzExpandIcon", "nzOptions"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzSelect", "nzClear"], exportAs: ["nzCascader"] }, { type: i11.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { type: i12.UploadComponent, selector: "atr-img-upload", inputs: ["opts", "isEdit", "allowChangSeq"], outputs: ["afterChange", "optsChange"] }, { type: i13.QuillEditorComponent, selector: "app-quill-editor", inputs: ["placeholder", "styles", "value", "readOnly", "needImgSeq"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon"], exportAs: ["nzForm"] }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i14.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { type: i15.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i16.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { type: i2.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: i11.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { type: i15.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
364
365
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AtrFormComponent, decorators: [{
365
366
  type: Component,
366
- args: [{ selector: 'atr-form', template: "<form nz-form [formGroup]=\"atrForm\">\r\n <div nz-row nzGutter=\"8\" nzType=\"flex\" nzAlign=\"top\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <div nz-col nzSpan=\"24\" class=\"form-title\" *ngIf=\"item.type == 'title'\" >\r\n {{item.label}}\r\n </div>\r\n <div nz-col [nzSpan]=\"item.span\" *ngIf=\"isShow(item.isHidden,item.operator)\">\r\n\r\n <nz-form-item *ngIf=\"item.type != 'title'\">\r\n <nz-form-label [nzSm]=\"item.lspan\" [nzXs]=\"24\" [nzRequired]=\"isRequired(item)\">{{item.label}}</nz-form-label>\r\n <nz-form-control [nzSm]=\"item.cspan\" [nzXs]=\"24\">\r\n <nz-tree-select *ngIf=\"item.type == 'treeSelect'\"\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\"\r\n style=\"flex: 1\"\r\n >\r\n </nz-tree-select>\r\n <input *ngIf=\"item.type == 'text'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly || formOpts.type == 'view'\"\r\n [formControlName]=\"item.key\"/>\r\n <textarea *ngIf=\"item.type == 'textarea'\" nz-input [rows]=\"item.rows\" placeholder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\" [readonly]=\"item.readonly|| formOpts.type == 'view'\"></textarea>\r\n <nz-input-number *ngIf=\"item.type == 'number'\" nzPlaceHolder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\"></nz-input-number>\r\n <nz-radio-group *ngIf=\"item.type == 'radio'\" [formControlName]=\"item.key\">\r\n <label nz-radio *ngFor=\"let o of item.dictList\" [nzValue]=\"o.value\" >{{o.label}}</label>\r\n </nz-radio-group>\r\n <nz-select\r\n *ngIf=\"item.type == 'select'\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of dicts[item.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select\r\n *ngIf=\"item.type == 'selectc'\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\" > </nz-option>\r\n </nz-select>\r\n <nz-cascader [nzDisabled]=\"item.readonly\" style=\"flex: 1\" [nzAllowClear]=\"!item.notNull\"\r\n [nzValueProperty]=\"'nzValueProperty'\"\r\n [nzShowSearch]=\"true\" *ngIf=\"item.type == 'cascader'\"\r\n [nzOptions]=\"item.dictList\" [formControlName]=\"item.key\" ></nz-cascader>\r\n <nz-date-picker *ngIf=\"item.type == 'date'\" [nzFormat]=\"item.dateFormat ? item.dateFormat : 'yyyy-MM-dd'\"\r\n [nzShowTime]=\"showTime(item)\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n <nz-range-picker *ngIf=\"item.type == 'dateRange'\" [nzFormat]=\"'yyyy-MM-dd'\" [formControlName]=\"item.key\"\r\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"></nz-range-picker>\r\n\r\n <input *ngIf=\"item.type == 'image'\" nz-input [formControlName]=\"item.key\" [hidden]=\"true\"/>\r\n <atr-img-upload *ngIf=\"item.type == 'image'\" [(opts)]=\"item.imageOpts\"\r\n (afterChange)=\"imageUploadChange($event)\"></atr-img-upload>\r\n\r\n <!-- <editor *ngIf=\"item.type == 'editor'\" [formControlName]=\"item.key\" [config]=\"{initialFrameHeight:item.height}\" ></editor>-->\r\n <app-quill-editor *ngIf=\"item.type == 'editor'\" [formControlName]=\"item.key\"\r\n [styles]=\"{height:item.height > 0 ? item.height + 'px' : '250px'}\"></app-quill-editor>\r\n\r\n <ng-container *ngFor=\"let valid of item.validators\">\r\n <ng-container *ngIf=\"atrForm.get(item.key).hasError(valid.type) && (atrForm.get(item.key).dirty )\">\r\n <div style=\"color:red; height: 15px;margin: 0;line-height: 15px;\">{{valid.errorLabel}}</div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <button *ngIf=\"item.button?.isShow\" type=\"button\" class=\"ant-btn ant-btn-primary\"\r\n (click)=\"doAction(item.button,$event)\">\r\n <span>{{item.button.name}}</span></button>\r\n </nz-form-control>\r\n <ng-container *ngTemplateOutlet=\"item.temp\"></ng-container>\r\n </nz-form-item>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</form>\r\n", styles: [":host ::ng-deep .ant-form-item{margin:0 0 10px}:host ::ng-deep .ant-form-item-label{text-align:left}:host ::ng-deep nz-input-number{width:100%}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}\n"] }]
367
+ args: [{ selector: 'atr-form', template: "<form nz-form [formGroup]=\"atrForm\">\r\n <div nz-row nzGutter=\"8\" nzType=\"flex\" nzAlign=\"top\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <div nz-col nzSpan=\"24\" class=\"form-title\" *ngIf=\"item.type == 'title'\" >\r\n {{item.label}}\r\n </div>\r\n <div nz-col [nzSpan]=\"item.span\" *ngIf=\"isShow(item.isHidden,item.operator)\">\r\n\r\n <nz-form-item *ngIf=\"item.type != 'title'\">\r\n <nz-form-label [nzSm]=\"item.lspan\" [nzXs]=\"24\" [nzRequired]=\"isRequired(item)\">{{item.label}}</nz-form-label>\r\n <nz-form-control [nzSm]=\"item.cspan\" [nzXs]=\"24\">\r\n <nz-tree-select *ngIf=\"item.type == 'treeSelect'\"\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\"\r\n style=\"flex: 1\"\r\n >\r\n </nz-tree-select>\r\n <app-select-icons *ngIf=\"item.type == 'selectIcon'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly \"\r\n style=\"flex: 1\"\r\n [formControlName]=\"item.key\">\r\n </app-select-icons>\r\n <input *ngIf=\"item.type == 'text'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly || formOpts.type == 'view'\"\r\n [formControlName]=\"item.key\"/>\r\n <textarea *ngIf=\"item.type == 'textarea'\" nz-input [rows]=\"item.rows\" placeholder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\" [readonly]=\"item.readonly|| formOpts.type == 'view'\"></textarea>\r\n <nz-input-number *ngIf=\"item.type == 'number'\" nzPlaceHolder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\"></nz-input-number>\r\n <nz-radio-group *ngIf=\"item.type == 'radio'\" [formControlName]=\"item.key\">\r\n <label nz-radio *ngFor=\"let o of item.dictList\" [nzValue]=\"o.value\" >{{o.label}}</label>\r\n </nz-radio-group>\r\n <nz-select\r\n *ngIf=\"item.type == 'select'\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of dicts[item.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select\r\n *ngIf=\"item.type == 'selectc'\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\" > </nz-option>\r\n </nz-select>\r\n <nz-cascader [nzDisabled]=\"item.readonly\" style=\"flex: 1\" [nzAllowClear]=\"!item.notNull\"\r\n [nzValueProperty]=\"'nzValueProperty'\"\r\n [nzShowSearch]=\"true\" *ngIf=\"item.type == 'cascader'\"\r\n [nzOptions]=\"item.dictList\" [formControlName]=\"item.key\" ></nz-cascader>\r\n <nz-date-picker *ngIf=\"item.type == 'date'\" [nzFormat]=\"item.dateFormat ? item.dateFormat : 'yyyy-MM-dd'\"\r\n [nzShowTime]=\"showTime(item)\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n <nz-range-picker *ngIf=\"item.type == 'dateRange'\" [nzFormat]=\"'yyyy-MM-dd'\" [formControlName]=\"item.key\"\r\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"></nz-range-picker>\r\n\r\n <input *ngIf=\"item.type == 'image'\" nz-input [formControlName]=\"item.key\" [hidden]=\"true\"/>\r\n <atr-img-upload *ngIf=\"item.type == 'image'\" [(opts)]=\"item.imageOpts\"\r\n (afterChange)=\"imageUploadChange($event)\"></atr-img-upload>\r\n\r\n <!-- <editor *ngIf=\"item.type == 'editor'\" [formControlName]=\"item.key\" [config]=\"{initialFrameHeight:item.height}\" ></editor>-->\r\n <app-quill-editor *ngIf=\"item.type == 'editor'\" [formControlName]=\"item.key\"\r\n [styles]=\"{height:item.height > 0 ? item.height + 'px' : '250px'}\"></app-quill-editor>\r\n\r\n <ng-container *ngFor=\"let valid of item.validators\">\r\n <ng-container *ngIf=\"atrForm.get(item.key).hasError(valid.type) && (atrForm.get(item.key).dirty )\">\r\n <div style=\"color:red; height: 15px;margin: 0;line-height: 15px;\">{{valid.errorLabel}}</div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <button *ngIf=\"item.button?.isShow\" type=\"button\" class=\"ant-btn ant-btn-primary\"\r\n (click)=\"doAction(item.button,$event)\">\r\n <span>{{item.button.name}}</span></button>\r\n </nz-form-control>\r\n <ng-container *ngTemplateOutlet=\"item.temp\"></ng-container>\r\n </nz-form-item>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</form>\r\n", styles: [":host ::ng-deep .ant-form-item{margin:0 0 10px}:host ::ng-deep .ant-form-item-label{text-align:left}:host ::ng-deep nz-input-number{width:100%}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}\n"] }]
367
368
  }], ctorParameters: function () { return [{ type: i1.ShareService }, { type: i2.FormBuilder }, { type: i3.DictService }, { type: i0.Injector }, { type: undefined, decorators: [{
368
369
  type: Inject,
369
370
  args: [LOCALE_ID]
@@ -372,4 +373,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
372
373
  }], formAction: [{
373
374
  type: Output
374
375
  }] } });
375
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Zvcm0vZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBWSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUF5QixXQUFXLEVBQUUsVUFBVSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBb0QsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRbEgsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQiwyQ0FBMkM7SUFDM0MsWUFBcUIsWUFBeUIsRUFDcEMsRUFBZSxFQUFVLFdBQXdCLEVBQVUsUUFBa0IsRUFBNkIsTUFBYztRQUQ3RyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUNwQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQTZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQbEksVUFBSyxHQUFPLEVBQUUsQ0FBQztRQUdMLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBS3BELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENB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QUFDOzZCQUNoRTs0QkFDRCxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQzt5QkFDMUI7cUJBQ0Y7aUJBQ0Y7cUJBQU07b0JBQ0wsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7aUJBQzVCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFRO1FBQ2YsSUFBRyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxZQUFZLEVBQUM7WUFDckQsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUNELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDN0IsSUFBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQztZQUN0QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs4R0FwVlUsZ0JBQWdCLDRIQVNzRSxTQUFTO2tHQVQvRixnQkFBZ0IseUhDZDdCLDhpTEEwRkE7NEZENUVhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVOzswQkFhc0UsTUFBTTsyQkFBQyxTQUFTOzRDQUxqRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSW5qZWN0b3IsIEluamVjdCwgTE9DQUxFX0lELCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7dGVscGhvbmVWYWxpZGF0b3J9IGZyb20gJy4uL3ZhbGlkYXRvcnMvYXRyLXZhbGlkdG9ycyc7XHJcbmltcG9ydCB7Zm9ybWF0RGF0ZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU2hhcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmUuc2VydmljZSc7XHJcbmltcG9ydCB7ZW52aXJvbm1lbnR9IGZyb20gXCJuZy16b3Jyby1hbnRkL2NvcmUvZW52aXJvbm1lbnRzXCI7XHJcbmltcG9ydCB7YXRyX3N0YXRpY19kYXRhcywgQXRyRm9ybURldGFpbCwgQXRyRm9ybU9wdCwgRm9ybUFjdGlvbiwgZm9ybUJ1dHRvbn0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvYmFzZS9hdHItY29tbW9uXCI7XHJcbmltcG9ydCB7RGljdFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2RpY3QvZGljdC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F0ci1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgZGljdHM6YW55ID0ge307XHJcbiAgYXRyRm9ybTogRm9ybUdyb3VwIHwgYW55O1xyXG4gIEBJbnB1dCgpIGZvcm1PcHRzOiBBdHJGb3JtT3B0fGFueTtcclxuICBAT3V0cHV0KCkgZm9ybUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybUFjdGlvbj4oKTtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIHNoYXJlU2VydmljZTpTaGFyZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBkaWN0U2VydmljZTogRGljdFNlcnZpY2UsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBsb2NhbGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5hdHJGb3JtID0gdGhpcy5mYi5ncm91cCh7fSk7XHJcbiAgfVxyXG5cclxuICByZXNldExheW91dChpdGVtOmFueSkge1xyXG4gICAgaWYgKCFpdGVtLmxzcGFuKSB7XHJcbiAgICAgIGl0ZW0ubHNwYW4gPSAyNDtcclxuICAgIH1cclxuICAgIGlmICghaXRlbS5jc3Bhbikge1xyXG4gICAgICBpdGVtLmNzcGFuID0gMjQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkb0FjdGlvbihpdGVtOiBmb3JtQnV0dG9uLCBldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuICAgIH1cclxuICAgIGxldCBhY3Rpb246IEZvcm1BY3Rpb24gPSB7XHJcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgY29kZTogaXRlbS5jb2RlLFxyXG4gICAgfTtcclxuICAgIHRoaXMuZm9ybUFjdGlvbi5lbWl0KGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZShrZXk6c3RyaW5nLCB2YWx1ZTphbnkpIHtcclxuICAgIHRoaXMuYXRyRm9ybS5nZXQoa2V5KT8uc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldERpY0xpc3QoaXRlbTphbnkpIHtcclxuICAgIHRoaXMuc2hhcmVTZXJ2aWNlLmdldERpY0xpc3QoaXRlbSkuc3Vic2NyaWJlKHJlcyA9PntcclxuICAgICAgICBpZihyZXMuc3RhdHVzID09IDIwMCAmJiByZXMuaXRlbSl7XHJcbiAgICAgICAgICAgIGl0ZW0gPSByZXMuaXRlbVxyXG4gICAgICAgICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xyXG4gICAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmZvcm1PcHRzICYmIHRoaXMuZm9ybU9wdHMuaXRlbXMpIHtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmZvcm1PcHRzLml0ZW1zKSB7XHJcbiAgICAgICAgLy8gdGhpcy5hdHJGb3JtLmFkZENvbnRyb2woaXRlbS5rZXksIG5ldyBGb3JtQ29udHJvbCgpKTtcclxuICAgICAgICB0aGlzLnJlc2V0TGF5b3V0KGl0ZW0pXHJcbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5mb3JtT3B0cy50eXBlID09ICdhZGQnID8gaXRlbS5kZWZhdWx0VmFsdWUgOiBpdGVtLnZhbHVlO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHZhbHVlKTtcclxuICAgICAgICBpZiAoaXRlbS50eXBlID09IFwic2VsZWN0XCIpIHtcclxuICAgICAgICAgIHRoaXMuZ2V0RGljdFZhbHVlKGl0ZW0uZGljdENvZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXRlbS50eXBlID09ICdzZWxlY3RjJykge1xyXG4gICAgICAgICAgaWYgKCFpdGVtLmRpY3RMaXN0KSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXREaWNMaXN0KGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXRlbS50eXBlID09IFwidGV4dGFyZWFcIiAmJiAhaXRlbS5yb3dzKVxyXG4gICAgICAgICAgaXRlbS5yb3dzID0gNTtcclxuICAgICAgICBpZiAoaXRlbS50eXBlID09IFwiaW1hZ2VcIikge1xyXG4gICAgICAgICAgaXRlbS5pbWFnZU9wdHMua2V5ID0gaXRlbS5rZXlcclxuICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBsZXQgaW1hZ2VzOmFueSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgbGlzdCA9IHZhbHVlLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgICAgZm9yIChsZXQga2V5IG9mIGxpc3QpIHtcclxuICAgICAgICAgICAgICBpbWFnZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBrZXk6IGtleSxcclxuICAgICAgICAgICAgICAgIHVpZDogXCItMVwiLFxyXG4gICAgICAgICAgICAgICAgdXJsOiBhdHJfc3RhdGljX2RhdGFzLk9TU19VUkwgKyBrZXlcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGl0ZW0uaW1hZ2VPcHRzLmltYWdlTGlzdCA9IGltYWdlcztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PSAnZWRpdG9yJykge1xyXG4gICAgICAgICAgaWYgKCF2YWx1ZSkgdmFsdWUgPSBcIlwiXHJcbiAgICAgICAgICBpZiAoIWl0ZW0uaGVpZ2h0KVxyXG4gICAgICAgICAgICBpdGVtLmhlaWdodCA9IDMwMFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFpdGVtLnNwYW4pXHJcbiAgICAgICAgICBpdGVtLnNwYW4gPSA4XHJcbiAgICAgICAgaWYodHlwZW9mIGl0ZW0uaXNSZXF1aXJlZCAhPSAnc3RyaW5nJyl7XHJcbiAgICAgICAgICBpdGVtLmlzUmVxdWlyZWQgPSBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdGVtcFZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgICAgICBpZiAoaXRlbS52YWxpZGF0b3JzKSB7XHJcbiAgICAgICAgICBmb3IgKGxldCB2YWxpZGF0b3Igb2YgaXRlbS52YWxpZGF0b3JzKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0b3IudHlwZSA9PSBcInJlcXVpcmVkXCIpIHtcclxuICAgICAgICAgICAgICBpdGVtLmlzUmVxdWlyZWQgPSB0cnVlXHJcbiAgICAgICAgICAgICAgdGVtcFZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbGlkYXRvci50eXBlID09IFwiZW1haWxcIikge1xyXG4gICAgICAgICAgICAgIHRlbXBWYWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5lbWFpbClcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxpZGF0b3IudHlwZSA9PSBcIm1heGxlbmd0aFwiKSB7XHJcbiAgICAgICAgICAgICAgdGVtcFZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aCh2YWxpZGF0b3IubWF4bGVuZ3RoID8gdmFsaWRhdG9yLm1heGxlbmd0aCA6IDEpKVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbGlkYXRvci50eXBlID09IFwibWlubGVuZ3RoXCIpIHtcclxuICAgICAgICAgICAgICB0ZW1wVmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKHZhbGlkYXRvci5taW5sZW5ndGggPyB2YWxpZGF0b3IubWlubGVuZ3RoIDogMSkpXHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsaWRhdG9yLnR5cGUgPT0gXCJ0ZWxwaG9uZVwiKSB7XHJcbiAgICAgICAgICAgICAgdGVtcFZhbGlkYXRvcnMucHVzaCh0ZWxwaG9uZVZhbGlkYXRvcigpKVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbGlkYXRvci50eXBlID09IFwicGF0dGVyblwiKSB7XHJcbiAgICAgICAgICAgICAgdGVtcFZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4odmFsaWRhdG9yLnBhdHRlcm5WYWx1ZSkpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGRlZmF1bHRWYWx1ZSA9IHt2YWx1ZTogdmFsdWUgIT0gdW5kZWZpbmVkID8gdmFsdWUgOiBudWxsLCBkaXNhYmxlZDogaXRlbS5kaXNhYmxlID8gaXRlbS5kaXNhYmxlIDogZmFsc2V9XHJcbiAgICAgICAgaWYgKHRlbXBWYWxpZGF0b3JzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuYXRyRm9ybS5hZGRDb250cm9sKGl0ZW0ua2V5LCBuZXcgRm9ybUNvbnRyb2woZGVmYXVsdFZhbHVlLCB0ZW1wVmFsaWRhdG9ycykpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmF0ckZvcm0uYWRkQ29udHJvbChpdGVtLmtleSwgbmV3IEZvcm1Db250cm9sKGRlZmF1bHRWYWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZyhcIiB0aGlzLmF0ckZvcm1cIiwgdGhpcy5hdHJGb3JtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcGFyZSh2YWx1ZTphbnksIG9wZXJhdG9yOmFueSwgdGFyZ2V0OmFueSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzUmlnaHQgPSBmYWxzZTtcclxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcclxuICAgICAgY2FzZSAnZXEnIDpcclxuICAgICAgICBpZiAodmFsdWUgPT0gdGFyZ2V0KSB7XHJcbiAgICAgICAgICBpc1JpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2doJyA6XHJcbiAgICAgICAgaWYgKHZhbHVlID49IHRhcmdldCkge1xyXG4gICAgICAgICAgaXNSaWdodCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdub3RFbXB0eSc6XHJcbiAgICAgICAgaXNSaWdodCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgaXNSaWdodCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdlbXB0eSc6XHJcbiAgICAgICAgaXNSaWdodCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgIGlzUmlnaHQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdCA6XHJcbiAgICAgICAgaXNSaWdodCA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzUmlnaHQ7XHJcbiAgfVxyXG5cclxuICBjaGVja0lzU2hvd0Jhc2Uob3A6YW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaXNTaG93ID0gZmFsc2U7XHJcbiAgICBpZiAob3AubGVuZ3RoID4gMSkge1xyXG4gICAgICBsZXQgdmFsdWUgPSB0aGlzLmF0ckZvcm0uZ2V0KG9wWzBdKS52YWx1ZTtcclxuICAgICAgaXNTaG93ID0gdGhpcy5jb21wYXJlKHZhbHVlLCBvcFsxXSwgb3BbMl0pXHJcbiAgICB9IGVsc2VcclxuICAgICAgaXNTaG93ID0gZmFsc2U7XHJcblxyXG4gICAgcmV0dXJuIGlzU2hvdztcclxuICB9XHJcbiAgaXNSZXF1aXJlZChpdGVtOkF0ckZvcm1EZXRhaWwpe1xyXG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xyXG4gICAgbGV0IGlzUmVxdWlyZWQgPSBpdGVtLmlzUmVxdWlyZWQ7XHJcbiAgICBsZXQgdHlwZSA9IHR5cGVvZiAgaXNSZXF1aXJlZDtcclxuICAgIGlmKHR5cGUgPT0gXCJib29sZWFuXCIpe1xyXG4gICAgICByZXR1cm4gaXNSZXF1aXJlZFxyXG4gICAgfSBlbHNlIGlmKHR5cGUgPT0gXCJzdHJpbmdcIil7XHJcblxyXG4gICAgICByZXN1bHQgPSB0aGlzLmlzU2hvdyhmYWxzZSxpc1JlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKFwiaXNSZXF1aXJlZFwiLHJlc3VsdCk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICBpc1Nob3coaXNIaWRkZW46YW55LG9wZXJhdG9yOmFueSkge1xyXG4gICAgaWYgKGlzSGlkZGVuKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGxldCBpc1Nob3cgPSBmYWxzZTtcclxuICAgIGlmICghb3BlcmF0b3IgfHwgb3BlcmF0b3IgPT0gbnVsbCB8fCBvcGVyYXRvciA9PSBcIlwiKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChvcGVyYXRvci5pbmRleE9mKCcmJicpID4gMCkge1xyXG4gICAgICAvLyBhfGVxfGIgJiZjfGVxfGRcclxuICAgICAgY29uc3Qgb3BzID0gb3BlcmF0b3Iuc3BsaXQoJyYmJyk7XHJcbiAgICAgIGlmIChvcHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItZm9yLW9mXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlzU2hvdyA9IHRydWVcclxuICAgICAgICAgIGlmICghdGhpcy5jaGVja0lzU2hvd0Jhc2Uob3BzW2ldLnNwbGl0KCd8JykpKSB7XHJcbiAgICAgICAgICAgIGlzU2hvdyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAob3BlcmF0b3IuaW5kZXhPZignfHwnKSA+IDApIHtcclxuICAgICAgLy8gYXxlcXxifHxjfGVxfGRcclxuICAgICAgY29uc3Qgb3BzID0gb3BlcmF0b3Iuc3BsaXQoJyYmJyk7XHJcbiAgICAgIGlmIChvcHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3BzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh0aGlzLmNoZWNrSXNTaG93QmFzZShvcHNbaV0uc3BsaXQoJ3wnKSkpIHtcclxuICAgICAgICAgICAgaXNTaG93ID0gdHJ1ZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3AgPSBvcGVyYXRvci5zcGxpdChcInxcIik7XHJcbiAgICAgIGlzU2hvdyA9IHRoaXMuY2hlY2tJc1Nob3dCYXNlKG9wKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpc1Nob3c7XHJcbiAgfVxyXG5cclxuICBnZXREaWN0VmFsdWUoY29kZTogc3RyaW5nKSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcIjk5OTlcIik7XHJcbiAgICB0aGlzLmRpY3RTZXJ2aWNlLmdldERpY3RCeWNvZGUoY29kZSkuc3Vic2NyaWJlKFxyXG4gICAgICByZXN1bHQgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0ICE9IG51bGwpXHJcbiAgICAgICAgICB0aGlzLmRpY3RzW2NvZGVdID0gcmVzdWx0LmRpY3RzO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5kaWN0c1tjb2RlXSA9IFtdO1xyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBpbWFnZVVwbG9hZENoYW5nZShlOiBhbnkpIHtcclxuICAgIGlmIChlLmtleSkge1xyXG4gICAgICB0aGlzLmF0ckZvcm0uZ2V0KGUua2V5KS5zZXRWYWx1ZShlLnZhbHVlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldEZvcm0oKSB7XHJcbiAgICAvLyB0aGlzLmF0ckZvcm0ucmVzZXQoKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwiZWRpdG9yIHJlc2V0XCIpXHJcbiAgICBpZiAodGhpcy5mb3JtT3B0cyAmJiB0aGlzLmZvcm1PcHRzLml0ZW1zKSB7XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5mb3JtT3B0cy5pdGVtcykge1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IHRoaXMuZm9ybU9wdHMudHlwZSA9PSAnYWRkJyA/IGl0ZW0uZGVmYXVsdFZhbHVlIDogaXRlbS52YWx1ZTtcclxuICAgICAgICBpZiAoaXRlbS50eXBlID09IFwiaW1hZ2VcIikge1xyXG4gICAgICAgICAgaXRlbS5pbWFnZU9wdHMua2V5ID0gaXRlbS5rZXlcclxuICAgICAgICAgIGxldCBpbWFnZXM6YW55ID0gW107XHJcbiAgICAgICAgICBpZiAoIXZhbHVlKSB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICBsZXQgbGlzdCA9IHZhbHVlLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIGZvciAobGV0IGtleSBvZiBsaXN0KSB7XHJcbiAgICAgICAgICAgIGlmIChrZXkgIT0gXCJcIikge1xyXG4gICAgICAgICAgICAgIGltYWdlcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGtleToga2V5LFxyXG4gICAgICAgICAgICAgICAgdWlkOiBcIi0xXCIsXHJcbiAgICAgICAgICAgICAgICB1cmw6IGF0cl9zdGF0aWNfZGF0YXMuT1NTX1VSTCArIGtleVxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGl0ZW0uaW1hZ2VPcHRzLmltYWdlTGlzdCA9IGltYWdlcztcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGltYWdlcylcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udHlwZSA9PSBcImVkaXRvclwiKSB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcImVkaXRvclwiKVxyXG4gICAgICAgICAgaWYgKCF2YWx1ZSkgdmFsdWUgPSBcIlwiXHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLnR5cGUgPT0gXCJzZWxlY3RcIiAmJiB2YWx1ZSA9PSBcIlwiKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmF0ckZvcm0uZ2V0KGl0ZW0ua2V5KS5zZXRWYWx1ZSh2YWx1ZSAhPSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGwpXHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBpIGluIHRoaXMuYXRyRm9ybS5jb250cm9scykge1xyXG4gICAgICAgIHRoaXMuYXRyRm9ybS5jb250cm9sc1tpXS5tYXJrQXNVbnRvdWNoZWQoKTtcclxuICAgICAgICB0aGlzLmF0ckZvcm0uY29udHJvbHNbaV0ubWFya0FzUHJpc3RpbmUoKTtcclxuICAgICAgICB0aGlzLmF0ckZvcm0uY29udHJvbHNbaV0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybVZhaWxkKCk6IGFueSB7XHJcbiAgICBsZXQgb2JqOmFueSA9IHtcclxuICAgICAgaXNWYWxpZDogZmFsc2UsXHJcbiAgICAgIG1vZGU6IHRoaXMuZm9ybU9wdHMudHlwZSxcclxuICAgICAgdmFsdWU6IHt9XHJcbiAgICB9O1xyXG4gICAgZm9yIChjb25zdCBpIGluIHRoaXMuYXRyRm9ybS5jb250cm9scykge1xyXG4gICAgICB0aGlzLmF0ckZvcm0uY29udHJvbHNbaV0ubWFya0FzRGlydHkoKTtcclxuICAgICAgdGhpcy5hdHJGb3JtLmNvbnRyb2xzW2ldLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH1cclxuICAgIG9iai5pc1ZhbGlkID0gdGhpcy5hdHJGb3JtLnZhbGlkXHJcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmF0ckZvcm0udmFsdWU7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZSkpIHtcclxuICAgICAgY29uc29sZS5sb2coa2V5KTtcclxuICAgICAgaWYgKHZhbHVlLmhhc093blByb3BlcnR5KGtleSkgJiYgdmFsdWVba2V5XSAhPSBudWxsICYmIHZhbHVlW2tleV0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlW2tleV0gaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZm9ybU9wdHMuaXRlbXMpIHtcclxuICAgICAgICAgICAgaWYoaXRlbS5rZXkgIT0ga2V5KXtcclxuICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpdGVtLmRhdGVGb3JtYXQpe1xyXG4gICAgICAgICAgICAgIG9iai52YWx1ZVtrZXldID0gZm9ybWF0RGF0ZSgodmFsdWVba2V5XSBhcyBEYXRlKSwgaXRlbS5kYXRlRm9ybWF0LCB0aGlzLmxvY2FsZSk7XHJcbiAgICAgICAgICAgIH1lbHNlIGlmIChpdGVtLnR5cGUgPT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgICAgICAgb2JqLnZhbHVlW2tleV0gPSBmb3JtYXREYXRlKCh2YWx1ZVtrZXldIGFzIERhdGUpLCAneXl5eS1NTS1kZCAwMDowMDowMCcsIHRoaXMubG9jYWxlKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLnR5cGUgPT0gJ2RhdGVUaW1lJykge1xyXG4gICAgICAgICAgICAgIG9iai52YWx1ZVtrZXldID0gZm9ybWF0RGF0ZSgodmFsdWVba2V5XSBhcyBEYXRlKSwgJ3l5eXktTU0tZGQgSEg6bW06c3MnLCB0aGlzLmxvY2FsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBlbHNlIGlmKHZhbHVlW2tleV0gaW5zdGFuY2VvZiBBcnJheSl7XHJcbiAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZm9ybU9wdHMuaXRlbXMpIHtcclxuICAgICAgICAgICAgaWYoaXRlbS5rZXkgIT0ga2V5KXtcclxuICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZGF0ZUZvcm1hdCA9IGl0ZW0uZGF0ZUZvcm1hdCA/IGl0ZW0uZGF0ZUZvcm1hdCA6ICd5eXl5LU1NLWRkIDAwOjAwOjAwJztcclxuICAgICAgICAgICAgaWYoaXRlbS50eXBlID09ICdkYXRlUmFuZ2UnKXtcclxuICAgICAgICAgICAgICBsZXQgZGF0ZUFycjphbnkgPSBbXTtcclxuICAgICAgICAgICAgICBmb3IgKGxldCBkIG9mIHZhbHVlW2tleV0pIHtcclxuICAgICAgICAgICAgICAgIGRhdGVBcnIucHVzaChmb3JtYXREYXRlKChkIGFzIERhdGUpLCBkYXRlRm9ybWF0LCB0aGlzLmxvY2FsZSkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBvYmoudmFsdWVba2V5XSA9IGRhdGVBcnI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JqLnZhbHVlW2tleV0gPSB2YWx1ZVtrZXldXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIH1cclxuICBzaG93VGltZShpdGVtOmFueSl7XHJcbiAgICBpZighaXRlbS5kYXRlRm9ybWF0IHx8IGl0ZW0uZGF0ZUZvcm1hdCA9PSBcInl5eXktTU0tZGRcIil7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gICAgbGV0IGZvcm1hdCA9IGl0ZW0uZGF0ZUZvcm1hdDtcclxuICAgIGlmKGZvcm1hdC5pbmRleE9mKFwiSEhcIikpe1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmKGZvcm1hdC5pbmRleE9mKFwibW1cIikpe1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmKGZvcm1hdC5pbmRleE9mKFwic3NcIikpe1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gbnotZm9ybSBbZm9ybUdyb3VwXT1cImF0ckZvcm1cIj5cclxuICA8ZGl2IG56LXJvdyBuekd1dHRlcj1cIjhcIiBuelR5cGU9XCJmbGV4XCIgbnpBbGlnbj1cInRvcFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmb3JtT3B0cy5pdGVtc1wiPlxyXG4gICAgICA8ZGl2IG56LWNvbCBuelNwYW49XCIyNFwiIGNsYXNzPVwiZm9ybS10aXRsZVwiICpuZ0lmPVwiaXRlbS50eXBlID09ICd0aXRsZSdcIiA+XHJcbiAgICAgICAge3tpdGVtLmxhYmVsfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgbnotY29sIFtuelNwYW5dPVwiaXRlbS5zcGFuXCIgKm5nSWY9XCJpc1Nob3coaXRlbS5pc0hpZGRlbixpdGVtLm9wZXJhdG9yKVwiPlxyXG5cclxuICAgICAgICA8bnotZm9ybS1pdGVtICpuZ0lmPVwiaXRlbS50eXBlICE9ICd0aXRsZSdcIj5cclxuICAgICAgICAgIDxuei1mb3JtLWxhYmVsIFtuelNtXT1cIml0ZW0ubHNwYW5cIiBbbnpYc109XCIyNFwiIFtuelJlcXVpcmVkXT1cImlzUmVxdWlyZWQoaXRlbSlcIj57e2l0ZW0ubGFiZWx9fTwvbnotZm9ybS1sYWJlbD5cclxuICAgICAgICAgIDxuei1mb3JtLWNvbnRyb2wgW256U21dPVwiaXRlbS5jc3BhblwiIFtuelhzXT1cIjI0XCI+XHJcbiAgICAgICAgICAgIDxuei10cmVlLXNlbGVjdCAqbmdJZj1cIml0ZW0udHlwZSA9PSAndHJlZVNlbGVjdCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbnpOb2Rlc109XCJpdGVtLnRyZWVMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbnpTaG93U2VhcmNoPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG56SGlkZVVuTWF0Y2hlZD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuelBsYWNlSG9sZGVyPVwie3tpdGVtLnBsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbnpTaG93U2VhcmNoXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0ua2V5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW256QWxsb3dDbGVhcl09XCIhaXRlbS5ub3ROdWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW256TXVsdGlwbGVdPVwiaXRlbS5zZWxlY3RVcmwuaXNNdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuekRpc2FibGVkXT1cIml0ZW0ucmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImZsZXg6IDFcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvbnotdHJlZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIml0ZW0udHlwZSA9PSAndGV4dCdcIiBuei1pbnB1dCBwbGFjZWhvbGRlcj1cInt7aXRlbS5wbGFjZWhvbGRlcn19XCJcclxuICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJpdGVtLnJlYWRvbmx5IHx8IGZvcm1PcHRzLnR5cGUgPT0gJ3ZpZXcnXCJcclxuICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIi8+XHJcbiAgICAgICAgICAgIDx0ZXh0YXJlYSAqbmdJZj1cIml0ZW0udHlwZSA9PSAndGV4dGFyZWEnXCIgbnotaW5wdXQgW3Jvd3NdPVwiaXRlbS5yb3dzXCIgcGxhY2Vob2xkZXI9XCJ7e2l0ZW0ucGxhY2Vob2xkZXJ9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0ua2V5XCIgW3JlYWRvbmx5XT1cIml0ZW0ucmVhZG9ubHl8fCBmb3JtT3B0cy50eXBlID09ICd2aWV3J1wiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgIDxuei1pbnB1dC1udW1iZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT0gJ251bWJlcidcIiBuelBsYWNlSG9sZGVyPVwie3tpdGVtLnBsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIj48L256LWlucHV0LW51bWJlcj5cclxuICAgICAgICAgICAgPG56LXJhZGlvLWdyb3VwICpuZ0lmPVwiaXRlbS50eXBlID09ICdyYWRpbydcIiBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0ua2V5XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIG56LXJhZGlvICpuZ0Zvcj1cImxldCBvIG9mIGl0ZW0uZGljdExpc3RcIiBbbnpWYWx1ZV09XCJvLnZhbHVlXCIgPnt7by5sYWJlbH19PC9sYWJlbD5cclxuICAgICAgICAgICAgPC9uei1yYWRpby1ncm91cD5cclxuICAgICAgICAgICAgPG56LXNlbGVjdFxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS50eXBlID09ICdzZWxlY3QnXCJcclxuICAgICAgICAgICAgICBuelBsYWNlSG9sZGVyPVwie3tpdGVtLnBsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICAgICAgIG56QWxsb3dDbGVhcj1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIlxyXG4gICAgICAgICAgICAgIG56U2VydmVyU2VhcmNoXHJcbiAgICAgICAgICAgICAgbnpEaXNhYmxlZD1cInt7aXRlbS5yZWFkb25seXx8IGZvcm1PcHRzLnR5cGUgPT0gJ3ZpZXcnfX1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBkaWN0c1tpdGVtLmRpY3RDb2RlXVwiIFtuekxhYmVsXT1cIm8udHlwZU5hbWVcIiBbbnpWYWx1ZV09XCJvLmlkXCI+PC9uei1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbnotc2VsZWN0PlxyXG4gICAgICAgICAgICA8bnotc2VsZWN0XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnR5cGUgPT0gJ3NlbGVjdGMnXCJcclxuICAgICAgICAgICAgICBuelBsYWNlSG9sZGVyPVwie3tpdGVtLnBsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICAgICAgIG56QWxsb3dDbGVhcj1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIlxyXG4gICAgICAgICAgICAgIG56U2VydmVyU2VhcmNoXHJcbiAgICAgICAgICAgICAgbnpEaXNhYmxlZD1cInt7aXRlbS5yZWFkb25seXx8IGZvcm1PcHRzLnR5cGUgPT0gJ3ZpZXcnfX1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBpdGVtLmRpY3RMaXN0XCIgW256TGFiZWxdPVwiby5sYWJlbFwiIFtuelZhbHVlXT1cIm8udmFsdWVcIiA+IDwvbnotb3B0aW9uPlxyXG4gICAgICAgICAgICA8L256LXNlbGVjdD5cclxuICAgICAgICAgICAgPG56LWNhc2NhZGVyIFtuekRpc2FibGVkXT1cIml0ZW0ucmVhZG9ubHlcIiBzdHlsZT1cImZsZXg6IDFcIiBbbnpBbGxvd0NsZWFyXT1cIiFpdGVtLm5vdE51bGxcIlxyXG4gICAgICAgICAgICAgICAgW256VmFsdWVQcm9wZXJ0eV09XCInbnpWYWx1ZVByb3BlcnR5J1wiXHJcbiAgICAgICAgICAgICAgICBbbnpTaG93U2VhcmNoXT1cInRydWVcIiAqbmdJZj1cIml0ZW0udHlwZSA9PSAnY2FzY2FkZXInXCJcclxuICAgICAgICAgICAgICAgIFtuek9wdGlvbnNdPVwiaXRlbS5kaWN0TGlzdFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIiA+PC9uei1jYXNjYWRlcj5cclxuICAgICAgICAgICAgPG56LWRhdGUtcGlja2VyICpuZ0lmPVwiaXRlbS50eXBlID09ICdkYXRlJ1wiIFtuekZvcm1hdF09XCJpdGVtLmRhdGVGb3JtYXQgPyBpdGVtLmRhdGVGb3JtYXQgOiAneXl5eS1NTS1kZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW256U2hvd1RpbWVdPVwic2hvd1RpbWUoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW256RGlzYWJsZWRdPVwiZm9ybU9wdHMudHlwZSA9PSAndmlldycgfHwgaXRlbS5yZWFkb25seSBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiPjwvbnotZGF0ZS1waWNrZXI+XHJcbiAgICAgICAgICAgIDxuei1yYW5nZS1waWNrZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT0gJ2RhdGVSYW5nZSdcIiBbbnpGb3JtYXRdPVwiJ3l5eXktTU0tZGQnXCIgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW256UGxhY2VIb2xkZXJdPVwiWyflvIDlp4vml7bpl7QnLCAn57uT5p2f5pe26Ze0J11cIj48L256LXJhbmdlLXBpY2tlcj5cclxuXHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIml0ZW0udHlwZSA9PSAnaW1hZ2UnXCIgbnotaW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiIFtoaWRkZW5dPVwidHJ1ZVwiLz5cclxuICAgICAgICAgICAgPGF0ci1pbWctdXBsb2FkICpuZ0lmPVwiaXRlbS50eXBlID09ICdpbWFnZSdcIiBbKG9wdHMpXT1cIml0ZW0uaW1hZ2VPcHRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhZnRlckNoYW5nZSk9XCJpbWFnZVVwbG9hZENoYW5nZSgkZXZlbnQpXCI+PC9hdHItaW1nLXVwbG9hZD5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgPGVkaXRvciAqbmdJZj1cIml0ZW0udHlwZSA9PSAnZWRpdG9yJ1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIiBbY29uZmlnXT1cIntpbml0aWFsRnJhbWVIZWlnaHQ6aXRlbS5oZWlnaHR9XCIgPjwvZWRpdG9yPi0tPlxyXG4gICAgICAgICAgICA8YXBwLXF1aWxsLWVkaXRvciAqbmdJZj1cIml0ZW0udHlwZSA9PSAnZWRpdG9yJ1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVzXT1cIntoZWlnaHQ6aXRlbS5oZWlnaHQgPiAwID8gaXRlbS5oZWlnaHQgKyAncHgnIDogJzI1MHB4J31cIj48L2FwcC1xdWlsbC1lZGl0b3I+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZCBvZiBpdGVtLnZhbGlkYXRvcnNcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXRyRm9ybS5nZXQoaXRlbS5rZXkpLmhhc0Vycm9yKHZhbGlkLnR5cGUpICYmIChhdHJGb3JtLmdldChpdGVtLmtleSkuZGlydHkgKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImNvbG9yOnJlZDsgICAgaGVpZ2h0OiAxNXB4O21hcmdpbjogMDtsaW5lLWhlaWdodDogMTVweDtcIj57e3ZhbGlkLmVycm9yTGFiZWx9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpdGVtLmJ1dHRvbj8uaXNTaG93XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYW50LWJ0biBhbnQtYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb0FjdGlvbihpdGVtLmJ1dHRvbiwkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLmJ1dHRvbi5uYW1lfX08L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICA8L256LWZvcm0tY29udHJvbD5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtLnRlbXBcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L256LWZvcm0taXRlbT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZm9ybT5cclxuIl19
376
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL2Zvcm0vZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBWSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUF5QixXQUFXLEVBQUUsVUFBVSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBb0QsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUWxILE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0IsMkNBQTJDO0lBQzNDLFlBQXFCLFlBQXlCLEVBQ3BDLEVBQWUsRUFBVSxXQUF3QixFQUFVLFFBQWtCLEVBQTZCLE1BQWM7UUFEN0csaUJBQVksR0FBWixZQUFZLENBQWE7UUFDcEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUE2QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBUGxJLFVBQUssR0FBTyxFQUFFLENBQUM7UUFHTCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUtwRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxD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Q0FBQzs2QkFDaEU7NEJBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7eUJBQzFCO3FCQUNGO2lCQUNGO3FCQUFNO29CQUNMLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2lCQUM1QjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxRQUFRLENBQUMsSUFBUTtRQUNmLElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksWUFBWSxFQUFDO1lBQ3JELE9BQU8sS0FBSyxDQUFBO1NBQ2I7UUFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzdCLElBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQztZQUN0QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OEdBcFZVLGdCQUFnQiw0SEFTc0UsU0FBUztrR0FUL0YsZ0JBQWdCLHlIQ2Q3Qix1M0xBK0ZBOzRGRGpGYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsVUFBVTs7MEJBYXNFLE1BQU07MkJBQUMsU0FBUzs0Q0FMakcsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEluamVjdG9yLCBJbmplY3QsIExPQ0FMRV9JRCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge3RlbHBob25lVmFsaWRhdG9yfSBmcm9tICcuLi92YWxpZGF0b3JzL2F0ci12YWxpZHRvcnMnO1xyXG5pbXBvcnQge2Zvcm1hdERhdGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNoYXJlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlLnNlcnZpY2UnO1xyXG5pbXBvcnQge2Vudmlyb25tZW50fSBmcm9tIFwibmctem9ycm8tYW50ZC9jb3JlL2Vudmlyb25tZW50c1wiO1xyXG5pbXBvcnQge2F0cl9zdGF0aWNfZGF0YXMsIEF0ckZvcm1EZXRhaWwsIEF0ckZvcm1PcHQsIEZvcm1BY3Rpb24sIGZvcm1CdXR0b259IGZyb20gXCIuLi8uLi8uLi9jb3JlL2Jhc2UvYXRyLWNvbW1vblwiO1xyXG5pbXBvcnQge0RpY3RTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9kaWN0L2RpY3Quc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhdHItZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXRyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGRpY3RzOmFueSA9IHt9O1xyXG4gIGF0ckZvcm06IEZvcm1Hcm91cCB8IGFueTtcclxuICBASW5wdXQoKSBmb3JtT3B0czogQXRyRm9ybU9wdHxhbnk7XHJcbiAgQE91dHB1dCgpIGZvcm1BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1BY3Rpb24+KCk7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBzaGFyZVNlcnZpY2U6U2hhcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgZGljdFNlcnZpY2U6IERpY3RTZXJ2aWNlLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYXRyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe30pO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRMYXlvdXQoaXRlbTphbnkpIHtcclxuICAgIGlmICghaXRlbS5sc3Bhbikge1xyXG4gICAgICBpdGVtLmxzcGFuID0gMjQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIWl0ZW0uY3NwYW4pIHtcclxuICAgICAgaXRlbS5jc3BhbiA9IDI0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZG9BY3Rpb24oaXRlbTogZm9ybUJ1dHRvbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBpZiAoZXZlbnQuc3RvcFByb3BhZ2F0aW9uKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXHJcbiAgICB9XHJcbiAgICBsZXQgYWN0aW9uOiBGb3JtQWN0aW9uID0ge1xyXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgIGNvZGU6IGl0ZW0uY29kZSxcclxuICAgIH07XHJcbiAgICB0aGlzLmZvcm1BY3Rpb24uZW1pdChhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWUoa2V5OnN0cmluZywgdmFsdWU6YW55KSB7XHJcbiAgICB0aGlzLmF0ckZvcm0uZ2V0KGtleSk/LnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG5cclxuICBnZXREaWNMaXN0KGl0ZW06YW55KSB7XHJcbiAgICB0aGlzLnNoYXJlU2VydmljZS5nZXREaWNMaXN0KGl0ZW0pLnN1YnNjcmliZShyZXMgPT57XHJcbiAgICAgICAgaWYocmVzLnN0YXR1cyA9PSAyMDAgJiYgcmVzLml0ZW0pe1xyXG4gICAgICAgICAgICBpdGVtID0gcmVzLml0ZW1cclxuICAgICAgICAgICAgdGhpcy5yZXNldEZvcm0oKTtcclxuICAgICAgICB9XHJcbiAgICB9KVxyXG5cclxuIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtT3B0cyAmJiB0aGlzLmZvcm1PcHRzLml0ZW1zKSB7XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5mb3JtT3B0cy5pdGVtcykge1xyXG4gICAgICAgIC8vIHRoaXMuYXRyRm9ybS5hZGRDb250cm9sKGl0ZW0ua2V5LCBuZXcgRm9ybUNvbnRyb2woKSk7XHJcbiAgICAgICAgdGhpcy5yZXNldExheW91dChpdGVtKVxyXG4gICAgICAgIGxldCB2YWx1ZSA9IHRoaXMuZm9ybU9wdHMudHlwZSA9PSAnYWRkJyA/IGl0ZW0uZGVmYXVsdFZhbHVlIDogaXRlbS52YWx1ZTtcclxuICAgICAgICBjb25zb2xlLmxvZyh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PSBcInNlbGVjdFwiKSB7XHJcbiAgICAgICAgICB0aGlzLmdldERpY3RWYWx1ZShpdGVtLmRpY3RDb2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PSAnc2VsZWN0YycpIHtcclxuICAgICAgICAgIGlmICghaXRlbS5kaWN0TGlzdCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0RGljTGlzdChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PSBcInRleHRhcmVhXCIgJiYgIWl0ZW0ucm93cylcclxuICAgICAgICAgIGl0ZW0ucm93cyA9IDU7XHJcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PSBcImltYWdlXCIpIHtcclxuICAgICAgICAgIGl0ZW0uaW1hZ2VPcHRzLmtleSA9IGl0ZW0ua2V5XHJcbiAgICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgbGV0IGltYWdlczphbnkgPSBbXTtcclxuICAgICAgICAgICAgbGV0IGxpc3QgPSB2YWx1ZS5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBvZiBsaXN0KSB7XHJcbiAgICAgICAgICAgICAgaW1hZ2VzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAga2V5OiBrZXksXHJcbiAgICAgICAgICAgICAgICB1aWQ6IFwiLTFcIixcclxuICAgICAgICAgICAgICAgIHVybDogYXRyX3N0YXRpY19kYXRhcy5PU1NfVVJMICsga2V5XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpdGVtLmltYWdlT3B0cy5pbWFnZUxpc3QgPSBpbWFnZXM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT0gJ2VkaXRvcicpIHtcclxuICAgICAgICAgIGlmICghdmFsdWUpIHZhbHVlID0gXCJcIlxyXG4gICAgICAgICAgaWYgKCFpdGVtLmhlaWdodClcclxuICAgICAgICAgICAgaXRlbS5oZWlnaHQgPSAzMDBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghaXRlbS5zcGFuKVxyXG4gICAgICAgICAgaXRlbS5zcGFuID0gOFxyXG4gICAgICAgIGlmKHR5cGVvZiBpdGVtLmlzUmVxdWlyZWQgIT0gJ3N0cmluZycpe1xyXG4gICAgICAgICAgaXRlbS5pc1JlcXVpcmVkID0gZmFsc2VcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRlbXBWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICAgICAgaWYgKGl0ZW0udmFsaWRhdG9ycykge1xyXG4gICAgICAgICAgZm9yIChsZXQgdmFsaWRhdG9yIG9mIGl0ZW0udmFsaWRhdG9ycykge1xyXG4gICAgICAgICAgICBpZiAodmFsaWRhdG9yLnR5cGUgPT0gXCJyZXF1aXJlZFwiKSB7XHJcbiAgICAgICAgICAgICAgaXRlbS5pc1JlcXVpcmVkID0gdHJ1ZVxyXG4gICAgICAgICAgICAgIHRlbXBWYWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxpZGF0b3IudHlwZSA9PSBcImVtYWlsXCIpIHtcclxuICAgICAgICAgICAgICB0ZW1wVmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMuZW1haWwpXHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsaWRhdG9yLnR5cGUgPT0gXCJtYXhsZW5ndGhcIikge1xyXG4gICAgICAgICAgICAgIHRlbXBWYWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5tYXhMZW5ndGgodmFsaWRhdG9yLm1heGxlbmd0aCA/IHZhbGlkYXRvci5tYXhsZW5ndGggOiAxKSlcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxpZGF0b3IudHlwZSA9PSBcIm1pbmxlbmd0aFwiKSB7XHJcbiAgICAgICAgICAgICAgdGVtcFZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1pbkxlbmd0aCh2YWxpZGF0b3IubWlubGVuZ3RoID8gdmFsaWRhdG9yLm1pbmxlbmd0aCA6IDEpKVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbGlkYXRvci50eXBlID09IFwidGVscGhvbmVcIikge1xyXG4gICAgICAgICAgICAgIHRlbXBWYWxpZGF0b3JzLnB1c2godGVscGhvbmVWYWxpZGF0b3IoKSlcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWxpZGF0b3IudHlwZSA9PSBcInBhdHRlcm5cIikge1xyXG4gICAgICAgICAgICAgIHRlbXBWYWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHZhbGlkYXRvci5wYXR0ZXJuVmFsdWUpKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkZWZhdWx0VmFsdWUgPSB7dmFsdWU6IHZhbHVlICE9IHVuZGVmaW5lZCA/IHZhbHVlIDogbnVsbCwgZGlzYWJsZWQ6IGl0ZW0uZGlzYWJsZSA/IGl0ZW0uZGlzYWJsZSA6IGZhbHNlfVxyXG4gICAgICAgIGlmICh0ZW1wVmFsaWRhdG9ycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmF0ckZvcm0uYWRkQ29udHJvbChpdGVtLmtleSwgbmV3IEZvcm1Db250cm9sKGRlZmF1bHRWYWx1ZSwgdGVtcFZhbGlkYXRvcnMpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5hdHJGb3JtLmFkZENvbnRyb2woaXRlbS5rZXksIG5ldyBGb3JtQ29udHJvbChkZWZhdWx0VmFsdWUpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5sb2coXCIgdGhpcy5hdHJGb3JtXCIsIHRoaXMuYXRyRm9ybSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBhcmUodmFsdWU6YW55LCBvcGVyYXRvcjphbnksIHRhcmdldDphbnkpOiBib29sZWFuIHtcclxuICAgIGxldCBpc1JpZ2h0ID0gZmFsc2U7XHJcbiAgICBzd2l0Y2ggKG9wZXJhdG9yKSB7XHJcbiAgICAgIGNhc2UgJ2VxJyA6XHJcbiAgICAgICAgaWYgKHZhbHVlID09IHRhcmdldCkge1xyXG4gICAgICAgICAgaXNSaWdodCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdnaCcgOlxyXG4gICAgICAgIGlmICh2YWx1ZSA+PSB0YXJnZXQpIHtcclxuICAgICAgICAgIGlzUmlnaHQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbm90RW1wdHknOlxyXG4gICAgICAgIGlzUmlnaHQgPSBmYWxzZTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGlzUmlnaHQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZW1wdHknOlxyXG4gICAgICAgIGlzUmlnaHQgPSBmYWxzZTtcclxuICAgICAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgICAgICBpc1JpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQgOlxyXG4gICAgICAgIGlzUmlnaHQgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBpc1JpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY2hlY2tJc1Nob3dCYXNlKG9wOmFueSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzU2hvdyA9IGZhbHNlO1xyXG4gICAgaWYgKG9wLmxlbmd0aCA+IDEpIHtcclxuICAgICAgbGV0IHZhbHVlID0gdGhpcy5hdHJGb3JtLmdldChvcFswXSkudmFsdWU7XHJcbiAgICAgIGlzU2hvdyA9IHRoaXMuY29tcGFyZSh2YWx1ZSwgb3BbMV0sIG9wWzJdKVxyXG4gICAgfSBlbHNlXHJcbiAgICAgIGlzU2hvdyA9IGZhbHNlO1xyXG5cclxuICAgIHJldHVybiBpc1Nob3c7XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQoaXRlbTpBdHJGb3JtRGV0YWlsKXtcclxuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcclxuICAgIGxldCBpc1JlcXVpcmVkID0gaXRlbS5pc1JlcXVpcmVkO1xyXG4gICAgbGV0IHR5cGUgPSB0eXBlb2YgIGlzUmVxdWlyZWQ7XHJcbiAgICBpZih0eXBlID09IFwiYm9vbGVhblwiKXtcclxuICAgICAgcmV0dXJuIGlzUmVxdWlyZWRcclxuICAgIH0gZWxzZSBpZih0eXBlID09IFwic3RyaW5nXCIpe1xyXG5cclxuICAgICAgcmVzdWx0ID0gdGhpcy5pc1Nob3coZmFsc2UsaXNSZXF1aXJlZCk7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhcImlzUmVxdWlyZWRcIixyZXN1bHQpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgaXNTaG93KGlzSGlkZGVuOmFueSxvcGVyYXRvcjphbnkpIHtcclxuICAgIGlmIChpc0hpZGRlbikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBsZXQgaXNTaG93ID0gZmFsc2U7XHJcbiAgICBpZiAoIW9wZXJhdG9yIHx8IG9wZXJhdG9yID09IG51bGwgfHwgb3BlcmF0b3IgPT0gXCJcIikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSBpZiAob3BlcmF0b3IuaW5kZXhPZignJiYnKSA+IDApIHtcclxuICAgICAgLy8gYXxlcXxiICYmY3xlcXxkXHJcbiAgICAgIGNvbnN0IG9wcyA9IG9wZXJhdG9yLnNwbGl0KCcmJicpO1xyXG4gICAgICBpZiAob3BzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3BzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpc1Nob3cgPSB0cnVlXHJcbiAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tJc1Nob3dCYXNlKG9wc1tpXS5zcGxpdCgnfCcpKSkge1xyXG4gICAgICAgICAgICBpc1Nob3cgPSBmYWxzZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG9wZXJhdG9yLmluZGV4T2YoJ3x8JykgPiAwKSB7XHJcbiAgICAgIC8vIGF8ZXF8Ynx8Y3xlcXxkXHJcbiAgICAgIGNvbnN0IG9wcyA9IG9wZXJhdG9yLnNwbGl0KCcmJicpO1xyXG4gICAgICBpZiAob3BzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaXNTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgICBpZiAodGhpcy5jaGVja0lzU2hvd0Jhc2Uob3BzW2ldLnNwbGl0KCd8JykpKSB7XHJcbiAgICAgICAgICAgIGlzU2hvdyA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IG9wID0gb3BlcmF0b3Iuc3BsaXQoXCJ8XCIpO1xyXG4gICAgICBpc1Nob3cgPSB0aGlzLmNoZWNrSXNTaG93QmFzZShvcCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNTaG93O1xyXG4gIH1cclxuXHJcbiAgZ2V0RGljdFZhbHVlKGNvZGU6IHN0cmluZykge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCI5OTk5XCIpO1xyXG4gICAgdGhpcy5kaWN0U2VydmljZS5nZXREaWN0Qnljb2RlKGNvZGUpLnN1YnNjcmliZShcclxuICAgICAgcmVzdWx0ID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdCAhPSBudWxsKVxyXG4gICAgICAgICAgdGhpcy5kaWN0c1tjb2RlXSA9IHJlc3VsdC5kaWN0cztcclxuICAgICAgfSxcclxuICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuZGljdHNbY29kZV0gPSBbXTtcclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgaW1hZ2VVcGxvYWRDaGFuZ2UoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXkpIHtcclxuICAgICAgdGhpcy5hdHJGb3JtLmdldChlLmtleSkuc2V0VmFsdWUoZS52YWx1ZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRGb3JtKCkge1xyXG4gICAgLy8gdGhpcy5hdHJGb3JtLnJlc2V0KCk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImVkaXRvciByZXNldFwiKVxyXG4gICAgaWYgKHRoaXMuZm9ybU9wdHMgJiYgdGhpcy5mb3JtT3B0cy5pdGVtcykge1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZm9ybU9wdHMuaXRlbXMpIHtcclxuICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmZvcm1PcHRzLnR5cGUgPT0gJ2FkZCcgPyBpdGVtLmRlZmF1bHRWYWx1ZSA6IGl0ZW0udmFsdWU7XHJcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PSBcImltYWdlXCIpIHtcclxuICAgICAgICAgIGl0ZW0uaW1hZ2VPcHRzLmtleSA9IGl0ZW0ua2V5XHJcbiAgICAgICAgICBsZXQgaW1hZ2VzOmFueSA9IFtdO1xyXG4gICAgICAgICAgaWYgKCF2YWx1ZSkgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgbGV0IGxpc3QgPSB2YWx1ZS5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICBmb3IgKGxldCBrZXkgb2YgbGlzdCkge1xyXG4gICAgICAgICAgICBpZiAoa2V5ICE9IFwiXCIpIHtcclxuICAgICAgICAgICAgICBpbWFnZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBrZXk6IGtleSxcclxuICAgICAgICAgICAgICAgIHVpZDogXCItMVwiLFxyXG4gICAgICAgICAgICAgICAgdXJsOiBhdHJfc3RhdGljX2RhdGFzLk9TU19VUkwgKyBrZXlcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpdGVtLmltYWdlT3B0cy5pbWFnZUxpc3QgPSBpbWFnZXM7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhpbWFnZXMpXHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLnR5cGUgPT0gXCJlZGl0b3JcIikge1xyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coXCJlZGl0b3JcIilcclxuICAgICAgICAgIGlmICghdmFsdWUpIHZhbHVlID0gXCJcIlxyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS50eXBlID09IFwic2VsZWN0XCIgJiYgdmFsdWUgPT0gXCJcIikge1xyXG4gICAgICAgICAgdmFsdWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hdHJGb3JtLmdldChpdGVtLmtleSkuc2V0VmFsdWUodmFsdWUgIT0gdW5kZWZpbmVkID8gdmFsdWUgOiBudWxsKVxyXG4gICAgICB9XHJcbiAgICAgIGZvciAoY29uc3QgaSBpbiB0aGlzLmF0ckZvcm0uY29udHJvbHMpIHtcclxuICAgICAgICB0aGlzLmF0ckZvcm0uY29udHJvbHNbaV0ubWFya0FzVW50b3VjaGVkKCk7XHJcbiAgICAgICAgdGhpcy5hdHJGb3JtLmNvbnRyb2xzW2ldLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgdGhpcy5hdHJGb3JtLmNvbnRyb2xzW2ldLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGdldEZvcm1WYWlsZCgpOiBhbnkge1xyXG4gICAgbGV0IG9iajphbnkgPSB7XHJcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxyXG4gICAgICBtb2RlOiB0aGlzLmZvcm1PcHRzLnR5cGUsXHJcbiAgICAgIHZhbHVlOiB7fVxyXG4gICAgfTtcclxuICAgIGZvciAoY29uc3QgaSBpbiB0aGlzLmF0ckZvcm0uY29udHJvbHMpIHtcclxuICAgICAgdGhpcy5hdHJGb3JtLmNvbnRyb2xzW2ldLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgIHRoaXMuYXRyRm9ybS5jb250cm9sc1tpXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgICBvYmouaXNWYWxpZCA9IHRoaXMuYXRyRm9ybS52YWxpZFxyXG4gICAgbGV0IHZhbHVlID0gdGhpcy5hdHJGb3JtLnZhbHVlO1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModmFsdWUpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGtleSk7XHJcbiAgICAgIGlmICh2YWx1ZS5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHZhbHVlW2tleV0gIT0gbnVsbCAmJiB2YWx1ZVtrZXldICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmICh2YWx1ZVtrZXldIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmZvcm1PcHRzLml0ZW1zKSB7XHJcbiAgICAgICAgICAgIGlmKGl0ZW0ua2V5ICE9IGtleSl7XHJcbiAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaXRlbS5kYXRlRm9ybWF0KXtcclxuICAgICAgICAgICAgICBvYmoudmFsdWVba2V5XSA9IGZvcm1hdERhdGUoKHZhbHVlW2tleV0gYXMgRGF0ZSksIGl0ZW0uZGF0ZUZvcm1hdCwgdGhpcy5sb2NhbGUpO1xyXG4gICAgICAgICAgICB9ZWxzZSBpZiAoaXRlbS50eXBlID09ICdkYXRlJykge1xyXG4gICAgICAgICAgICAgIG9iai52YWx1ZVtrZXldID0gZm9ybWF0RGF0ZSgodmFsdWVba2V5XSBhcyBEYXRlKSwgJ3l5eXktTU0tZGQgMDA6MDA6MDAnLCB0aGlzLmxvY2FsZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS50eXBlID09ICdkYXRlVGltZScpIHtcclxuICAgICAgICAgICAgICBvYmoudmFsdWVba2V5XSA9IGZvcm1hdERhdGUoKHZhbHVlW2tleV0gYXMgRGF0ZSksICd5eXl5LU1NLWRkIEhIOm1tOnNzJywgdGhpcy5sb2NhbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gZWxzZSBpZih2YWx1ZVtrZXldIGluc3RhbmNlb2YgQXJyYXkpe1xyXG4gICAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmZvcm1PcHRzLml0ZW1zKSB7XHJcbiAgICAgICAgICAgIGlmKGl0ZW0ua2V5ICE9IGtleSl7XHJcbiAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGRhdGVGb3JtYXQgPSBpdGVtLmRhdGVGb3JtYXQgPyBpdGVtLmRhdGVGb3JtYXQgOiAneXl5eS1NTS1kZCAwMDowMDowMCc7XHJcbiAgICAgICAgICAgIGlmKGl0ZW0udHlwZSA9PSAnZGF0ZVJhbmdlJyl7XHJcbiAgICAgICAgICAgICAgbGV0IGRhdGVBcnI6YW55ID0gW107XHJcbiAgICAgICAgICAgICAgZm9yIChsZXQgZCBvZiB2YWx1ZVtrZXldKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRlQXJyLnB1c2goZm9ybWF0RGF0ZSgoZCBhcyBEYXRlKSwgZGF0ZUZvcm1hdCwgdGhpcy5sb2NhbGUpKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgb2JqLnZhbHVlW2tleV0gPSBkYXRlQXJyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9iai52YWx1ZVtrZXldID0gdmFsdWVba2V5XVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcbiAgc2hvd1RpbWUoaXRlbTphbnkpe1xyXG4gICAgaWYoIWl0ZW0uZGF0ZUZvcm1hdCB8fCBpdGVtLmRhdGVGb3JtYXQgPT0gXCJ5eXl5LU1NLWRkXCIpe1xyXG4gICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuICAgIGxldCBmb3JtYXQgPSBpdGVtLmRhdGVGb3JtYXQ7XHJcbiAgICBpZihmb3JtYXQuaW5kZXhPZihcIkhIXCIpKXtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBpZihmb3JtYXQuaW5kZXhPZihcIm1tXCIpKXtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBpZihmb3JtYXQuaW5kZXhPZihcInNzXCIpKXtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIG56LWZvcm0gW2Zvcm1Hcm91cF09XCJhdHJGb3JtXCI+XHJcbiAgPGRpdiBuei1yb3cgbnpHdXR0ZXI9XCI4XCIgbnpUeXBlPVwiZmxleFwiIG56QWxpZ249XCJ0b3BcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZm9ybU9wdHMuaXRlbXNcIj5cclxuICAgICAgPGRpdiBuei1jb2wgbnpTcGFuPVwiMjRcIiBjbGFzcz1cImZvcm0tdGl0bGVcIiAqbmdJZj1cIml0ZW0udHlwZSA9PSAndGl0bGUnXCIgPlxyXG4gICAgICAgIHt7aXRlbS5sYWJlbH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IG56LWNvbCBbbnpTcGFuXT1cIml0ZW0uc3BhblwiICpuZ0lmPVwiaXNTaG93KGl0ZW0uaXNIaWRkZW4saXRlbS5vcGVyYXRvcilcIj5cclxuXHJcbiAgICAgICAgPG56LWZvcm0taXRlbSAqbmdJZj1cIml0ZW0udHlwZSAhPSAndGl0bGUnXCI+XHJcbiAgICAgICAgICA8bnotZm9ybS1sYWJlbCBbbnpTbV09XCJpdGVtLmxzcGFuXCIgW256WHNdPVwiMjRcIiBbbnpSZXF1aXJlZF09XCJpc1JlcXVpcmVkKGl0ZW0pXCI+e3tpdGVtLmxhYmVsfX08L256LWZvcm0tbGFiZWw+XHJcbiAgICAgICAgICA8bnotZm9ybS1jb250cm9sIFtuelNtXT1cIml0ZW0uY3NwYW5cIiBbbnpYc109XCIyNFwiPlxyXG4gICAgICAgICAgICA8bnotdHJlZS1zZWxlY3QgKm5nSWY9XCJpdGVtLnR5cGUgPT0gJ3RyZWVTZWxlY3QnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW256Tm9kZXNdPVwiaXRlbS50cmVlTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG56U2hvd1NlYXJjaD1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuekhpZGVVbk1hdGNoZWQ9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbnpQbGFjZUhvbGRlcj1cInt7aXRlbS5wbGFjZWhvbGRlcn19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW256U2hvd1NlYXJjaF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuekFsbG93Q2xlYXJdPVwiIWl0ZW0ubm90TnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuek11bHRpcGxlXT1cIml0ZW0uc2VsZWN0VXJsLmlzTXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbnpEaXNhYmxlZF09XCJpdGVtLnJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJmbGV4OiAxXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L256LXRyZWUtc2VsZWN0PlxyXG4gICAgICAgICAgICA8YXBwLXNlbGVjdC1pY29ucyAqbmdJZj1cIml0ZW0udHlwZSA9PSAnc2VsZWN0SWNvbidcIiBuei1pbnB1dCBwbGFjZWhvbGRlcj1cInt7aXRlbS5wbGFjZWhvbGRlcn19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIml0ZW0ucmVhZG9ubHkgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJmbGV4OiAxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiPlxyXG4gICAgICAgICAgICA8L2FwcC1zZWxlY3QtaWNvbnM+XHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIml0ZW0udHlwZSA9PSAndGV4dCdcIiBuei1pbnB1dCBwbGFjZWhvbGRlcj1cInt7aXRlbS5wbGFjZWhvbGRlcn19XCJcclxuICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJpdGVtLnJlYWRvbmx5IHx8IGZvcm1PcHRzLnR5cGUgPT0gJ3ZpZXcnXCJcclxuICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIi8+XHJcbiAgICAgICAgICAgIDx0ZXh0YXJlYSAqbmdJZj1cIml0ZW0udHlwZSA9PSAndGV4dGFyZWEnXCIgbnotaW5wdXQgW3Jvd3NdPVwiaXRlbS5yb3dzXCIgcGxhY2Vob2xkZXI9XCJ7e2l0ZW0ucGxhY2Vob2xkZXJ9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0ua2V5XCIgW3JlYWRvbmx5XT1cIml0ZW0ucmVhZG9ubHl8fCBmb3JtT3B0cy50eXBlID09ICd2aWV3J1wiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgIDxuei1pbnB1dC1udW1iZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT0gJ251bWJlcidcIiBuelBsYWNlSG9sZGVyPVwie3tpdGVtLnBsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIj48L256LWlucHV0LW51bWJlcj5cclxuICAgICAgICAgICAgPG56LXJhZGlvLWdyb3VwICpuZ0lmPVwiaXRlbS50eXBlID09ICdyYWRpbydcIiBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0ua2V5XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIG56LXJhZGlvICpuZ0Zvcj1cImxldCBvIG9mIGl0ZW0uZGljdExpc3RcIiBbbnpWYWx1ZV09XCJvLnZhbHVlXCIgPnt7by5sYWJlbH19PC9sYWJlbD5cclxuICAgICAgICAgICAgPC9uei1yYWRpby1ncm91cD5cclxuICAgICAgICAgICAgPG56LXNlbGVjdFxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS50eXBlID09ICdzZWxlY3QnXCJcclxuICAgICAgICAgICAgICBuelBsYWNlSG9sZGVyPVwie3tpdGVtLnBsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICAgICAgIG56QWxsb3dDbGVhcj1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIlxyXG4gICAgICAgICAgICAgIG56U2VydmVyU2VhcmNoXHJcbiAgICAgICAgICAgICAgbnpEaXNhYmxlZD1cInt7aXRlbS5yZWFkb25seXx8IGZvcm1PcHRzLnR5cGUgPT0gJ3ZpZXcnfX1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBkaWN0c1tpdGVtLmRpY3RDb2RlXVwiIFtuekxhYmVsXT1cIm8udHlwZU5hbWVcIiBbbnpWYWx1ZV09XCJvLmlkXCI+PC9uei1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbnotc2VsZWN0PlxyXG4gICAgICAgICAgICA8bnotc2VsZWN0XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnR5cGUgPT0gJ3NlbGVjdGMnXCJcclxuICAgICAgICAgICAgICBuelBsYWNlSG9sZGVyPVwie3tpdGVtLnBsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICAgICAgIG56QWxsb3dDbGVhcj1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIlxyXG4gICAgICAgICAgICAgIG56U2VydmVyU2VhcmNoXHJcbiAgICAgICAgICAgICAgbnpEaXNhYmxlZD1cInt7aXRlbS5yZWFkb25seXx8IGZvcm1PcHRzLnR5cGUgPT0gJ3ZpZXcnfX1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG56LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBpdGVtLmRpY3RMaXN0XCIgW256TGFiZWxdPVwiby5sYWJlbFwiIFtuelZhbHVlXT1cIm8udmFsdWVcIiA+IDwvbnotb3B0aW9uPlxyXG4gICAgICAgICAgICA8L256LXNlbGVjdD5cclxuICAgICAgICAgICAgPG56LWNhc2NhZGVyIFtuekRpc2FibGVkXT1cIml0ZW0ucmVhZG9ubHlcIiBzdHlsZT1cImZsZXg6IDFcIiBbbnpBbGxvd0NsZWFyXT1cIiFpdGVtLm5vdE51bGxcIlxyXG4gICAgICAgICAgICAgICAgW256VmFsdWVQcm9wZXJ0eV09XCInbnpWYWx1ZVByb3BlcnR5J1wiXHJcbiAgICAgICAgICAgICAgICBbbnpTaG93U2VhcmNoXT1cInRydWVcIiAqbmdJZj1cIml0ZW0udHlwZSA9PSAnY2FzY2FkZXInXCJcclxuICAgICAgICAgICAgICAgIFtuek9wdGlvbnNdPVwiaXRlbS5kaWN0TGlzdFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIiA+PC9uei1jYXNjYWRlcj5cclxuICAgICAgICAgICAgPG56LWRhdGUtcGlja2VyICpuZ0lmPVwiaXRlbS50eXBlID09ICdkYXRlJ1wiIFtuekZvcm1hdF09XCJpdGVtLmRhdGVGb3JtYXQgPyBpdGVtLmRhdGVGb3JtYXQgOiAneXl5eS1NTS1kZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW256U2hvd1RpbWVdPVwic2hvd1RpbWUoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW256RGlzYWJsZWRdPVwiZm9ybU9wdHMudHlwZSA9PSAndmlldycgfHwgaXRlbS5yZWFkb25seSBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiPjwvbnotZGF0ZS1waWNrZXI+XHJcbiAgICAgICAgICAgIDxuei1yYW5nZS1waWNrZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT0gJ2RhdGVSYW5nZSdcIiBbbnpGb3JtYXRdPVwiJ3l5eXktTU0tZGQnXCIgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW256UGxhY2VIb2xkZXJdPVwiWyflvIDlp4vml7bpl7QnLCAn57uT5p2f5pe26Ze0J11cIj48L256LXJhbmdlLXBpY2tlcj5cclxuXHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIml0ZW0udHlwZSA9PSAnaW1hZ2UnXCIgbnotaW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiIFtoaWRkZW5dPVwidHJ1ZVwiLz5cclxuICAgICAgICAgICAgPGF0ci1pbWctdXBsb2FkICpuZ0lmPVwiaXRlbS50eXBlID09ICdpbWFnZSdcIiBbKG9wdHMpXT1cIml0ZW0uaW1hZ2VPcHRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhZnRlckNoYW5nZSk9XCJpbWFnZVVwbG9hZENoYW5nZSgkZXZlbnQpXCI+PC9hdHItaW1nLXVwbG9hZD5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgPGVkaXRvciAqbmdJZj1cIml0ZW0udHlwZSA9PSAnZWRpdG9yJ1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIiBbY29uZmlnXT1cIntpbml0aWFsRnJhbWVIZWlnaHQ6aXRlbS5oZWlnaHR9XCIgPjwvZWRpdG9yPi0tPlxyXG4gICAgICAgICAgICA8YXBwLXF1aWxsLWVkaXRvciAqbmdJZj1cIml0ZW0udHlwZSA9PSAnZWRpdG9yJ1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5rZXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVzXT1cIntoZWlnaHQ6aXRlbS5oZWlnaHQgPiAwID8gaXRlbS5oZWlnaHQgKyAncHgnIDogJzI1MHB4J31cIj48L2FwcC1xdWlsbC1lZGl0b3I+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZCBvZiBpdGVtLnZhbGlkYXRvcnNcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXRyRm9ybS5nZXQoaXRlbS5rZXkpLmhhc0Vycm9yKHZhbGlkLnR5cGUpICYmIChhdHJGb3JtLmdldChpdGVtLmtleSkuZGlydHkgKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImNvbG9yOnJlZDsgICAgaGVpZ2h0OiAxNXB4O21hcmdpbjogMDtsaW5lLWhlaWdodDogMTVweDtcIj57e3ZhbGlkLmVycm9yTGFiZWx9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJpdGVtLmJ1dHRvbj8uaXNTaG93XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYW50LWJ0biBhbnQtYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb0FjdGlvbihpdGVtLmJ1dHRvbiwkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3tpdGVtLmJ1dHRvbi5uYW1lfX08L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICA8L256LWZvcm0tY29udHJvbD5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtLnRlbXBcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L256LWZvcm0taXRlbT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZm9ybT5cclxuIl19