master-control 0.2.23 → 0.2.25

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.
@@ -67,32 +67,48 @@ export class MasterControlService {
67
67
  "matIconName": "edit",
68
68
  "displayTitle": "Edit",
69
69
  "toolTip": "Edit",
70
- "isSelected": true
70
+ "isSelected": false
71
71
  },
72
72
  {
73
73
  "matIconName": "info",
74
74
  "displayTitle": "Info",
75
75
  "toolTip": "Information",
76
- "isSelected": true
76
+ "isSelected": false
77
77
  },
78
78
  {
79
79
  "matIconName": "download",
80
80
  "displayTitle": "Download Documents",
81
81
  "toolTip": "Download Document",
82
- "isSelected": true
82
+ "isSelected": false
83
83
  },
84
84
  {
85
85
  "matIconName": "notifications_active",
86
86
  "displayTitle": "Send Reminder",
87
87
  "toolTip": "Send Reminder",
88
- "isSelected": true
88
+ "isSelected": false
89
89
  },
90
90
  {
91
91
  "matIconName": "link",
92
92
  "displayTitle": "Send Payment Link",
93
93
  "toolTip": "Payment Link",
94
- "isSelected": true
94
+ "isSelected": false
95
95
  },
96
+ {
97
+ "matIconName": "download",
98
+ "displayTitle": "Download Policy Document",
99
+ "toolTip": "Download Policy",
100
+ "isSelected": false
101
+ }, {
102
+ "matIconName": "visibility",
103
+ "displayTitle": "View Policy Document",
104
+ "toolTip": "View Policy",
105
+ "isSelected": false
106
+ }, {
107
+ "matIconName": "visibility",
108
+ "displayTitle": "View new BI",
109
+ "toolTip": "View new BI",
110
+ "isSelected": false
111
+ }
96
112
  ],
97
113
  "userSelectedOptions": {},
98
114
  "showPagination": "Y",
@@ -209,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
209
225
  providedIn: 'root'
210
226
  }]
211
227
  }], ctorParameters: () => [] });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvbWFzdGVyLWNvbnRyb2wuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFVBQVUsR0FBUTtRQUNkLFFBQVEsRUFBRTtZQUNSLGNBQWMsRUFBRSxHQUFHO1NBQ3BCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsVUFBVSxFQUFFLEVBQUU7WUFDZCxjQUFjLEVBQUUsRUFBRTtZQUNsQixNQUFNLEVBQUUsRUFBRTtZQUNWLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsRUFBRTtnQkFDWixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsV0FBVyxFQUFFLEVBQUU7YUFDaEI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLGlCQUFpQixFQUFFLFNBQVM7Z0JBQzVCLGNBQWMsRUFBRSxLQUFLO2dCQUNyQixXQUFXLEVBQUUsa0NBQWtDO2dCQUMvQyxZQUFZLEVBQUUsUUFBUTthQUN2QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsRUFBRTtnQkFDZCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxXQUFXLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsRUFBRTthQUNqQjtZQUNILFdBQVcsRUFBRTtnQkFDWCxTQUFTLEVBQUUsTUFBTTtnQkFDakIsZ0JBQWdCLEVBQUUsUUFBUTtnQkFDMUIsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUU7b0JBQ0wsT0FBTyxFQUFFLE1BQU07b0JB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O1lBQzlCLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sQ0FDTCxLQUFLLEtBQUssU0FBUztZQUNuQixLQUFLLEtBQUssSUFBSTtZQUNkLEtBQUssS0FBSyxFQUFFO1lBQ1osQ0FBQyxLQUFLLFlBQVksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLFVBQWUsRUFBRSxNQUFXLFlBQVk7UUFDMUQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxNQUFXLFlBQVk7UUFDNUMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hDLENBQUM7d0dBL01VLG9CQUFvQjs0R0FBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXN0ZXJDb250cm9sU2VydmljZSB7XHJcblxyXG4gIGNvbmZpZ0RhdGE6IGFueSA9IHtcclxuICAgICAgXCJpZnJhbWVcIjoge1xyXG4gICAgICAgIFwiVVJMRm9ySWZyYW1lXCI6IFwiTlwiXHJcbiAgICAgIH0sXHJcbiAgICAgIFwibG9hZGVyXCI6IHtcclxuICAgICAgICBcImltYWdlVVJMXCI6IFwiXCIsXHJcbiAgICAgICAgXCJpbWFnZUFsdFRleHRcIjogXCJcIixcclxuICAgICAgICBcInRleHRcIjogXCJcIixcclxuICAgICAgICBcImltYWdlQ1NTXCI6IHtcclxuICAgICAgICAgIFwid2lkdGhcIjogXCJcIixcclxuICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiXCIsXHJcbiAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBcIlwiLFxyXG4gICAgICAgICAgXCJib3hTaGFkb3dcIjogXCJcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJjYXJkQ1NTXCI6IHtcclxuICAgICAgICAgIFwid2lkdGhcIjogXCIxMDAlXCIsXHJcbiAgICAgICAgICBcImhlaWdodFwiOiBcIjEwMCVcIixcclxuICAgICAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2ZmZmZmZlwiLFxyXG4gICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogXCIwcHhcIixcclxuICAgICAgICAgIFwiYm94U2hhZG93XCI6IFwiMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMClcIixcclxuICAgICAgICAgIFwiYWxpZ25JdGVtc1wiOiBcImNlbnRlclwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcInRleHRDU1NcIjoge1xyXG4gICAgICAgICAgXCJmb250U2l6ZVwiOiBcIlwiLFxyXG4gICAgICAgICAgXCJjb2xvclwiOiBcIlwiLFxyXG4gICAgICAgICAgXCJ0ZXh0QWxpZ25cIjogXCJcIixcclxuICAgICAgICAgIFwiZm9udFdlaWdodFwiOiBcIlwiXHJcbiAgICAgICAgfSxcclxuICAgICAgXCJsb2FkZXJDU1NcIjoge1xyXG4gICAgICAgIFwiZGlzcGxheVwiOiBcImZsZXhcIixcclxuICAgICAgICBcImp1c3RpZnlDb250ZW50XCI6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgXCJhbGlnbkl0ZW1zXCI6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgXCJoZWlnaHRcIjogXCI2MHB4XCIsXHJcbiAgICAgICAgXCJnYXBcIjogXCI4cHhcIixcclxuICAgICAgICBcImRvdFwiOiB7XHJcbiAgICAgICAgICBcIndpZHRoXCI6IFwiMTZweFwiLFxyXG4gICAgICAgICAgXCJoZWlnaHRcIjogXCIxNnB4XCIsXHJcbiAgICAgICAgICBcImJhY2tncm91bmRcIjogXCIjMTk3NmQyXCIsXHJcbiAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBcIjUwJVwiLFxyXG4gICAgICAgICAgXCJkaXNwbGF5XCI6IFwiaW5saW5lLWJsb2NrXCIsXHJcbiAgICAgICAgICBcImFuaW1hdGlvblwiOiBcImJvdW5jZSAwLjZzIGluZmluaXRlIGFsdGVybmF0ZVwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcImRvdDJcIjoge1xyXG4gICAgICAgICAgXCJhbmltYXRpb25EZWxheVwiOiBcIjAuMnNcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJkb3QzXCI6IHtcclxuICAgICAgICAgIFwiYW5pbWF0aW9uRGVsYXlcIjogXCIwLjRzXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwiQGtleWZyYW1lcyBib3VuY2VcIjoge1xyXG4gICAgICAgICAgXCJ0b1wiOiB7XHJcbiAgICAgICAgICAgIFwib3BhY2l0eVwiOiAwLjMsXHJcbiAgICAgICAgICAgIFwidHJhbnNmb3JtXCI6IFwidHJhbnNsYXRlWSgtMTZweClcIlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBcInRhYmxlXCI6IHtcclxuICAgICAgICBcInNob3dDaGVja0JveFwiOiB0cnVlLFxyXG4gICAgICAgIFwidGFibGVIZWFkZXJzXCI6IFtdLFxyXG4gICAgICAgIFwidGREYXRhXCI6IFtdLFxyXG4gICAgICAgIFwic2hvd0FjdGlvbnNcIjogdHJ1ZSxcclxuICAgICAgICBcImFjdGlvbk9wdGlvbnNcIjogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwiZWRpdFwiLFxyXG4gICAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIkVkaXRcIixcclxuICAgICAgICAgICAgXCJ0b29sVGlwXCI6IFwiRWRpdFwiLFxyXG4gICAgICAgICAgICBcImlzU2VsZWN0ZWRcIjp0cnVlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwiaW5mb1wiLFxyXG4gICAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIkluZm9cIixcclxuICAgICAgICAgICAgXCJ0b29sVGlwXCI6IFwiSW5mb3JtYXRpb25cIixcclxuICAgICAgICAgICAgXCJpc1NlbGVjdGVkXCI6dHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcImRvd25sb2FkXCIsXHJcbiAgICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiRG93bmxvYWQgRG9jdW1lbnRzXCIsXHJcbiAgICAgICAgICAgIFwidG9vbFRpcFwiOiBcIkRvd25sb2FkIERvY3VtZW50XCIsXHJcbiAgICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOnRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwibWF0SWNvbk5hbWVcIjogXCJub3RpZmljYXRpb25zX2FjdGl2ZVwiLFxyXG4gICAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIlNlbmQgUmVtaW5kZXJcIixcclxuICAgICAgICAgICAgXCJ0b29sVGlwXCI6IFwiU2VuZCBSZW1pbmRlclwiLFxyXG4gICAgICAgICAgICBcImlzU2VsZWN0ZWRcIjp0cnVlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwibGlua1wiLFxyXG4gICAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIlNlbmQgUGF5bWVudCBMaW5rXCIsXHJcbiAgICAgICAgICAgIFwidG9vbFRpcFwiOiBcIlBheW1lbnQgTGlua1wiLFxyXG4gICAgICAgICAgICBcImlzU2VsZWN0ZWRcIjp0cnVlXHJcbiAgICAgICAgICB9LFxyXG5cclxuICAgICAgICBdLFxyXG4gICAgICAgIFwidXNlclNlbGVjdGVkT3B0aW9uc1wiOiB7fSxcclxuICAgICAgICBcInNob3dQYWdpbmF0aW9uXCI6IFwiWVwiLFxyXG4gICAgICAgIFwicm93bGVuZ3RoXCI6IDMsXHJcbiAgICAgICAgXCJjb2x1bW5sZW5ndGhcIjogNCxcclxuICAgICAgfSxcclxuICAgICAgXCJzdGVwcGVyXCI6e1xyXG4gICAgICAgIFwic3RlcHBlckRhdGFcIjpbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJkZWZhdWx0SWRcIjoxLFxyXG4gICAgICAgICAgXCJkaXNwbGF5TGFiZWxcIjpcInN0ZXBwZXItMVwiLFxyXG4gICAgICAgICAgXCJpbWdJY29uVXJsXCI6J2h0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9yZXRhaWwtbGlmZS1pY29uL3N2Z2ljb24vY2hlY2tfY2lyY2xlLnN2ZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiZGVmYXVsdElkXCI6MixcclxuICAgICAgICAgIFwiZGlzcGxheUxhYmVsXCI6XCJzdGVwcGVyLTJcIixcclxuICAgICAgICAgIFwiaW1nSWNvblVybFwiOidodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jaGVja19jaXJjbGVfRW5kb3JzbWVudC5zdmcnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImRlZmF1bHRJZFwiOjMsXHJcbiAgICAgICAgICBcImRpc3BsYXlMYWJlbFwiOlwic3RlcHBlci0zXCIsXHJcbiAgICAgICAgICBcImltZ0ljb25VcmxcIjonaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvRW5kb3JzZW1lbnRfcGVuZGluZy5zdmcnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgICB9XHJcblxyXG4gIHNuYWNrYmFyczogYW55ID0gW1xyXG4gICAge1xyXG4gICAgICBcInR5cGVcIjogXCJFcnJvclwiLFxyXG4gICAgICBcImltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvYWxlcnQtaWNvbi1saWIuc3ZnXCIsXHJcbiAgICAgIFwiaW1hZ2VDU1NcIjogXCJ0b2FzdGVyLWltZ1wiLFxyXG4gICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXHJcbiAgICAgIFwibGFiZWxDU1NcIjogXCJ0b2FzdGVyLWxhYmVsXCIsXHJcbiAgICAgIFwibWVzc2FnZUNTU1wiOiBcInRvYXN0ZXItbXNnXCIsXHJcbiAgICAgIFwiaG9yaXpvbnRhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwidmVydGljYWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcImR1cmF0aW9uXCI6IDMwMDAsXHJcbiAgICAgIFwiY2xvc2VJY29uSW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvcmV0YWlsLWxpZmUtaWNvbi9zdmdpY29uL2Nyb3NzLnN2Z1wiLFxyXG4gICAgICBcImNsb3NlSWNvbkNTU1wiOiBcImNyb3NzXCIsXHJcbiAgICAgIFwibGFiZWxUZXh0XCI6XCJBIGVycm9yIHRvYXN0XCIsXHJcbiAgICAgIFwibWVzc2FnZVRleHRcIjpcIkVycm9yIG1lc3NhZ2UgaGVyZVwiLFxyXG4gICAgICAndG9hc3RlckNTUyc6XCJlcnJvci1zbmFja2Jhci1jYXJkXCJcclxuICAgIH0se1xyXG4gICAgICBcInR5cGVcIjogXCJXYXJuaW5nXCIsXHJcbiAgICAgIFwiaW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9udWRnZS1pY29uLWxpYi5zdmdcIixcclxuICAgICAgXCJpbWFnZUNTU1wiOiBcInRvYXN0ZXItaW1nXCIsXHJcbiAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcclxuICAgICAgXCJsYWJlbENTU1wiOiBcInRvYXN0ZXItbGFiZWxcIixcclxuICAgICAgXCJtZXNzYWdlQ1NTXCI6IFwidG9hc3Rlci1tc2dcIixcclxuICAgICAgXCJob3Jpem9udGFsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJ2ZXJ0aWNhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwiZHVyYXRpb25cIjogMzAwMCxcclxuICAgICAgXCJjbG9zZUljb25JbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9yZXRhaWwtbGlmZS1pY29uL3N2Z2ljb24vY3Jvc3Muc3ZnXCIsXHJcbiAgICAgIFwiY2xvc2VJY29uQ1NTXCI6IFwiY3Jvc3NcIixcclxuICAgICAgXCJsYWJlbFRleHRcIjpcIkEgd2FybmluZyB0b2FzdFwiLFxyXG4gICAgICBcIm1lc3NhZ2VUZXh0XCI6XCJXYXJuaW5nIG1lc3NhZ2UgaGVyZVwiLFxyXG4gICAgICBcInRvYXN0ZXJDU1NcIjpcIndhcm5pbmctc25hY2tiYXItY2FyZFwiXHJcbiAgICB9LHtcclxuICAgICAgXCJ0eXBlXCI6IFwiU3VjY2Vzc1wiLFxyXG4gICAgICBcImltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvc3VjY2Vzcy1pbmZvLWxpYi5zdmdcIixcclxuICAgICAgXCJpbWFnZUNTU1wiOiBcInRvYXN0ZXItaW1nXCIsXHJcbiAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcclxuICAgICAgXCJsYWJlbENTU1wiOiBcInRvYXN0ZXItbGFiZWxcIixcclxuICAgICAgXCJtZXNzYWdlQ1NTXCI6IFwidG9hc3Rlci1tc2dcIixcclxuICAgICAgXCJob3Jpem9udGFsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJ2ZXJ0aWNhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwiZHVyYXRpb25cIjogMzAwMCxcclxuICAgICAgXCJjbG9zZUljb25JbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9yZXRhaWwtbGlmZS1pY29uL3N2Z2ljb24vY3Jvc3Muc3ZnXCIsXHJcbiAgICAgIFwiY2xvc2VJY29uQ1NTXCI6IFwiY3Jvc3NcIixcclxuICAgICAgXCJsYWJlbFRleHRcIjpcIkEgc3VjY2VzcyB0b2FzdFwiLFxyXG4gICAgICBcIm1lc3NhZ2VUZXh0XCI6XCJTdWNjZXNzIG1lc3NhZ2UgaGVyZVwiLFxyXG4gICAgICBcInRvYXN0ZXJDU1NcIjpcInN1Y2Nlc3Mtc25hY2tiYXItY2FyZFwiXHJcbiAgICB9LHtcclxuICAgICAgXCJ0eXBlXCI6IFwiTmV1dHJhbFwiLFxyXG4gICAgICBcImltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvbmV1dHJhbC1zdGFyLWxpYi1pY29uLnN2Z1wiLFxyXG4gICAgICBcImltYWdlQ1NTXCI6IFwibmV1dHJhbC1pbWFnZVwiLFxyXG4gICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXHJcbiAgICAgIFwibGFiZWxDU1NcIjogXCJuZXV0cmFsLXRvYXN0ZXItbGFiZWxcIixcclxuICAgICAgXCJtZXNzYWdlQ1NTXCI6IFwibmV1dHJhbC10b2FzdGVyLW1zZ1wiLFxyXG4gICAgICBcImhvcml6b250YWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcInZlcnRpY2FsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJkdXJhdGlvblwiOiAzMDAwLFxyXG4gICAgICBcImNsb3NlSWNvbkltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvbmV1dHJhbC1jcm9zcy1saWItaWNvbi5zdmdcIixcclxuICAgICAgXCJjbG9zZUljb25DU1NcIjogXCJjcm9zc1wiLFxyXG4gICAgICBcImxhYmVsVGV4dFwiOlwiQSBuZXV0cmFsIHRvYXN0XCIsXHJcbiAgICAgIFwibWVzc2FnZVRleHRcIjpcIk5ldXRyYWwgbWVzc2FnZSBoZXJlXCIsXHJcbiAgICAgIFwidG9hc3RlckNTU1wiOlwibmV1dHJhbC1zbmFja2Jhci1jYXJkXCJcclxuICAgIH1cclxuICBdO1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGNoZWNrSWZWYWx1ZUlzRW1wdHkodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZS50cmltKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIHZhbHVlID09PSBudWxsIHx8XHJcbiAgICAgIHZhbHVlID09PSAnJyB8fFxyXG4gICAgICAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHx8XHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KHZhbHVlKSA9PT0gJ3t9J1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNhdmVUYWJsZUZpZWxkU3RhdGUodGFibGVGaWVsZDogYW55LCBrZXk6IGFueSA9ICd0YWJsZUZpZWxkJykge1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh0YWJsZUZpZWxkKSk7XHJcbiAgfVxyXG5cclxuICByZXN0b3JlVGFibGVGaWVsZFN0YXRlKGtleTogYW55ID0gJ3RhYmxlRmllbGQnKTogYW55IHwgbnVsbCB7XHJcbiAgICBjb25zdCBkYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgIHJldHVybiBkYXRhID8gSlNPTi5wYXJzZShkYXRhKSA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvbWFzdGVyLWNvbnRyb2wuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFVBQVUsR0FBUTtRQUNkLFFBQVEsRUFBRTtZQUNSLGNBQWMsRUFBRSxHQUFHO1NBQ3BCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsVUFBVSxFQUFFLEVBQUU7WUFDZCxjQUFjLEVBQUUsRUFBRTtZQUNsQixNQUFNLEVBQUUsRUFBRTtZQUNWLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsRUFBRTtnQkFDWixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsV0FBVyxFQUFFLEVBQUU7YUFDaEI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLGlCQUFpQixFQUFFLFNBQVM7Z0JBQzVCLGNBQWMsRUFBRSxLQUFLO2dCQUNyQixXQUFXLEVBQUUsa0NBQWtDO2dCQUMvQyxZQUFZLEVBQUUsUUFBUTthQUN2QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsRUFBRTtnQkFDZCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxXQUFXLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsRUFBRTthQUNqQjtZQUNILFdBQVcsRUFBRTtnQkFDWCxTQUFTLEVBQUUsTUFBTTtnQkFDakIsZ0JBQWdCLEVBQUUsUUFBUTtnQkFDMUIsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUU7b0JBQ0wsT0FBTyxFQUFFLE1BQU07b0JB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RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFzdGVyQ29udHJvbFNlcnZpY2Uge1xyXG5cclxuICBjb25maWdEYXRhOiBhbnkgPSB7XHJcbiAgICAgIFwiaWZyYW1lXCI6IHtcclxuICAgICAgICBcIlVSTEZvcklmcmFtZVwiOiBcIk5cIlxyXG4gICAgICB9LFxyXG4gICAgICBcImxvYWRlclwiOiB7XHJcbiAgICAgICAgXCJpbWFnZVVSTFwiOiBcIlwiLFxyXG4gICAgICAgIFwiaW1hZ2VBbHRUZXh0XCI6IFwiXCIsXHJcbiAgICAgICAgXCJ0ZXh0XCI6IFwiXCIsXHJcbiAgICAgICAgXCJpbWFnZUNTU1wiOiB7XHJcbiAgICAgICAgICBcIndpZHRoXCI6IFwiXCIsXHJcbiAgICAgICAgICBcImhlaWdodFwiOiBcIlwiLFxyXG4gICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogXCJcIixcclxuICAgICAgICAgIFwiYm94U2hhZG93XCI6IFwiXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwiY2FyZENTU1wiOiB7XHJcbiAgICAgICAgICBcIndpZHRoXCI6IFwiMTAwJVwiLFxyXG4gICAgICAgICAgXCJoZWlnaHRcIjogXCIxMDAlXCIsXHJcbiAgICAgICAgICBcImJhY2tncm91bmRDb2xvclwiOiBcIiNmZmZmZmZcIixcclxuICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IFwiMHB4XCIsXHJcbiAgICAgICAgICBcImJveFNoYWRvd1wiOiBcIjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApXCIsXHJcbiAgICAgICAgICBcImFsaWduSXRlbXNcIjogXCJjZW50ZXJcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJ0ZXh0Q1NTXCI6IHtcclxuICAgICAgICAgIFwiZm9udFNpemVcIjogXCJcIixcclxuICAgICAgICAgIFwiY29sb3JcIjogXCJcIixcclxuICAgICAgICAgIFwidGV4dEFsaWduXCI6IFwiXCIsXHJcbiAgICAgICAgICBcImZvbnRXZWlnaHRcIjogXCJcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgIFwibG9hZGVyQ1NTXCI6IHtcclxuICAgICAgICBcImRpc3BsYXlcIjogXCJmbGV4XCIsXHJcbiAgICAgICAgXCJqdXN0aWZ5Q29udGVudFwiOiBcImNlbnRlclwiLFxyXG4gICAgICAgIFwiYWxpZ25JdGVtc1wiOiBcImNlbnRlclwiLFxyXG4gICAgICAgIFwiaGVpZ2h0XCI6IFwiNjBweFwiLFxyXG4gICAgICAgIFwiZ2FwXCI6IFwiOHB4XCIsXHJcbiAgICAgICAgXCJkb3RcIjoge1xyXG4gICAgICAgICAgXCJ3aWR0aFwiOiBcIjE2cHhcIixcclxuICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiMTZweFwiLFxyXG4gICAgICAgICAgXCJiYWNrZ3JvdW5kXCI6IFwiIzE5NzZkMlwiLFxyXG4gICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogXCI1MCVcIixcclxuICAgICAgICAgIFwiZGlzcGxheVwiOiBcImlubGluZS1ibG9ja1wiLFxyXG4gICAgICAgICAgXCJhbmltYXRpb25cIjogXCJib3VuY2UgMC42cyBpbmZpbml0ZSBhbHRlcm5hdGVcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJkb3QyXCI6IHtcclxuICAgICAgICAgIFwiYW5pbWF0aW9uRGVsYXlcIjogXCIwLjJzXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwiZG90M1wiOiB7XHJcbiAgICAgICAgICBcImFuaW1hdGlvbkRlbGF5XCI6IFwiMC40c1wiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcIkBrZXlmcmFtZXMgYm91bmNlXCI6IHtcclxuICAgICAgICAgIFwidG9cIjoge1xyXG4gICAgICAgICAgICBcIm9wYWNpdHlcIjogMC4zLFxyXG4gICAgICAgICAgICBcInRyYW5zZm9ybVwiOiBcInRyYW5zbGF0ZVkoLTE2cHgpXCJcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgXCJ0YWJsZVwiOiB7XHJcbiAgICAgICAgXCJzaG93Q2hlY2tCb3hcIjogdHJ1ZSxcclxuICAgICAgICBcInRhYmxlSGVhZGVyc1wiOiBbXSxcclxuICAgICAgICBcInRkRGF0YVwiOiBbXSxcclxuICAgICAgICBcInNob3dBY3Rpb25zXCI6IHRydWUsXHJcbiAgICAgICAgXCJhY3Rpb25PcHRpb25zXCI6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcImVkaXRcIixcclxuICAgICAgICAgICAgXCJkaXNwbGF5VGl0bGVcIjogXCJFZGl0XCIsXHJcbiAgICAgICAgICAgIFwidG9vbFRpcFwiOiBcIkVkaXRcIixcclxuICAgICAgICAgICAgXCJpc1NlbGVjdGVkXCI6ZmFsc2VcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwibWF0SWNvbk5hbWVcIjogXCJpbmZvXCIsXHJcbiAgICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiSW5mb1wiLFxyXG4gICAgICAgICAgICBcInRvb2xUaXBcIjogXCJJbmZvcm1hdGlvblwiLFxyXG4gICAgICAgICAgICBcImlzU2VsZWN0ZWRcIjpmYWxzZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcImRvd25sb2FkXCIsXHJcbiAgICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiRG93bmxvYWQgRG9jdW1lbnRzXCIsXHJcbiAgICAgICAgICAgIFwidG9vbFRpcFwiOiBcIkRvd25sb2FkIERvY3VtZW50XCIsXHJcbiAgICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOmZhbHNlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwibm90aWZpY2F0aW9uc19hY3RpdmVcIixcclxuICAgICAgICAgICAgXCJkaXNwbGF5VGl0bGVcIjogXCJTZW5kIFJlbWluZGVyXCIsXHJcbiAgICAgICAgICAgIFwidG9vbFRpcFwiOiBcIlNlbmQgUmVtaW5kZXJcIixcclxuICAgICAgICAgICAgXCJpc1NlbGVjdGVkXCI6ZmFsc2VcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwibWF0SWNvbk5hbWVcIjogXCJsaW5rXCIsXHJcbiAgICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiU2VuZCBQYXltZW50IExpbmtcIixcclxuICAgICAgICAgICAgXCJ0b29sVGlwXCI6IFwiUGF5bWVudCBMaW5rXCIsXHJcbiAgICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOmZhbHNlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgIHtcclxuICAgICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcImRvd25sb2FkXCIsXHJcbiAgICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiRG93bmxvYWQgUG9saWN5IERvY3VtZW50XCIsXHJcbiAgICAgICAgICAgIFwidG9vbFRpcFwiOiBcIkRvd25sb2FkIFBvbGljeVwiLFxyXG4gICAgICAgICAgICBcImlzU2VsZWN0ZWRcIjpmYWxzZVxyXG4gICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwidmlzaWJpbGl0eVwiLFxyXG4gICAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIlZpZXcgUG9saWN5IERvY3VtZW50XCIsXHJcbiAgICAgICAgICAgIFwidG9vbFRpcFwiOiBcIlZpZXcgUG9saWN5XCIsXHJcbiAgICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOmZhbHNlXHJcbiAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIFwibWF0SWNvbk5hbWVcIjogXCJ2aXNpYmlsaXR5XCIsXHJcbiAgICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiVmlldyBuZXcgQklcIixcclxuICAgICAgICAgICAgXCJ0b29sVGlwXCI6IFwiVmlldyBuZXcgQklcIixcclxuICAgICAgICAgICAgXCJpc1NlbGVjdGVkXCI6ZmFsc2VcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgXSxcclxuICAgICAgICBcInVzZXJTZWxlY3RlZE9wdGlvbnNcIjoge30sXHJcbiAgICAgICAgXCJzaG93UGFnaW5hdGlvblwiOiBcIllcIixcclxuICAgICAgICBcInJvd2xlbmd0aFwiOiAzLFxyXG4gICAgICAgIFwiY29sdW1ubGVuZ3RoXCI6IDQsXHJcbiAgICAgIH0sXHJcbiAgICAgIFwic3RlcHBlclwiOntcclxuICAgICAgICBcInN0ZXBwZXJEYXRhXCI6W1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiZGVmYXVsdElkXCI6MSxcclxuICAgICAgICAgIFwiZGlzcGxheUxhYmVsXCI6XCJzdGVwcGVyLTFcIixcclxuICAgICAgICAgIFwiaW1nSWNvblVybFwiOidodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvcmV0YWlsLWxpZmUtaWNvbi9zdmdpY29uL2NoZWNrX2NpcmNsZS5zdmcnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImRlZmF1bHRJZFwiOjIsXHJcbiAgICAgICAgICBcImRpc3BsYXlMYWJlbFwiOlwic3RlcHBlci0yXCIsXHJcbiAgICAgICAgICBcImltZ0ljb25VcmxcIjonaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvY2hlY2tfY2lyY2xlX0VuZG9yc21lbnQuc3ZnJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJkZWZhdWx0SWRcIjozLFxyXG4gICAgICAgICAgXCJkaXNwbGF5TGFiZWxcIjpcInN0ZXBwZXItM1wiLFxyXG4gICAgICAgICAgXCJpbWdJY29uVXJsXCI6J2h0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL0VuZG9yc2VtZW50X3BlbmRpbmcuc3ZnJ1xyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfVxyXG4gICAgfVxyXG5cclxuICBzbmFja2JhcnM6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgXCJ0eXBlXCI6IFwiRXJyb3JcIixcclxuICAgICAgXCJpbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL2FsZXJ0LWljb24tbGliLnN2Z1wiLFxyXG4gICAgICBcImltYWdlQ1NTXCI6IFwidG9hc3Rlci1pbWdcIixcclxuICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxyXG4gICAgICBcImxhYmVsQ1NTXCI6IFwidG9hc3Rlci1sYWJlbFwiLFxyXG4gICAgICBcIm1lc3NhZ2VDU1NcIjogXCJ0b2FzdGVyLW1zZ1wiLFxyXG4gICAgICBcImhvcml6b250YWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcInZlcnRpY2FsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJkdXJhdGlvblwiOiAzMDAwLFxyXG4gICAgICBcImNsb3NlSWNvbkltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL3JldGFpbC1saWZlLWljb24vc3ZnaWNvbi9jcm9zcy5zdmdcIixcclxuICAgICAgXCJjbG9zZUljb25DU1NcIjogXCJjcm9zc1wiLFxyXG4gICAgICBcImxhYmVsVGV4dFwiOlwiQSBlcnJvciB0b2FzdFwiLFxyXG4gICAgICBcIm1lc3NhZ2VUZXh0XCI6XCJFcnJvciBtZXNzYWdlIGhlcmVcIixcclxuICAgICAgJ3RvYXN0ZXJDU1MnOlwiZXJyb3Itc25hY2tiYXItY2FyZFwiXHJcbiAgICB9LHtcclxuICAgICAgXCJ0eXBlXCI6IFwiV2FybmluZ1wiLFxyXG4gICAgICBcImltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvbnVkZ2UtaWNvbi1saWIuc3ZnXCIsXHJcbiAgICAgIFwiaW1hZ2VDU1NcIjogXCJ0b2FzdGVyLWltZ1wiLFxyXG4gICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXHJcbiAgICAgIFwibGFiZWxDU1NcIjogXCJ0b2FzdGVyLWxhYmVsXCIsXHJcbiAgICAgIFwibWVzc2FnZUNTU1wiOiBcInRvYXN0ZXItbXNnXCIsXHJcbiAgICAgIFwiaG9yaXpvbnRhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwidmVydGljYWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcImR1cmF0aW9uXCI6IDMwMDAsXHJcbiAgICAgIFwiY2xvc2VJY29uSW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvcmV0YWlsLWxpZmUtaWNvbi9zdmdpY29uL2Nyb3NzLnN2Z1wiLFxyXG4gICAgICBcImNsb3NlSWNvbkNTU1wiOiBcImNyb3NzXCIsXHJcbiAgICAgIFwibGFiZWxUZXh0XCI6XCJBIHdhcm5pbmcgdG9hc3RcIixcclxuICAgICAgXCJtZXNzYWdlVGV4dFwiOlwiV2FybmluZyBtZXNzYWdlIGhlcmVcIixcclxuICAgICAgXCJ0b2FzdGVyQ1NTXCI6XCJ3YXJuaW5nLXNuYWNrYmFyLWNhcmRcIlxyXG4gICAgfSx7XHJcbiAgICAgIFwidHlwZVwiOiBcIlN1Y2Nlc3NcIixcclxuICAgICAgXCJpbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL3N1Y2Nlc3MtaW5mby1saWIuc3ZnXCIsXHJcbiAgICAgIFwiaW1hZ2VDU1NcIjogXCJ0b2FzdGVyLWltZ1wiLFxyXG4gICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXHJcbiAgICAgIFwibGFiZWxDU1NcIjogXCJ0b2FzdGVyLWxhYmVsXCIsXHJcbiAgICAgIFwibWVzc2FnZUNTU1wiOiBcInRvYXN0ZXItbXNnXCIsXHJcbiAgICAgIFwiaG9yaXpvbnRhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwidmVydGljYWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcImR1cmF0aW9uXCI6IDMwMDAsXHJcbiAgICAgIFwiY2xvc2VJY29uSW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvcmV0YWlsLWxpZmUtaWNvbi9zdmdpY29uL2Nyb3NzLnN2Z1wiLFxyXG4gICAgICBcImNsb3NlSWNvbkNTU1wiOiBcImNyb3NzXCIsXHJcbiAgICAgIFwibGFiZWxUZXh0XCI6XCJBIHN1Y2Nlc3MgdG9hc3RcIixcclxuICAgICAgXCJtZXNzYWdlVGV4dFwiOlwiU3VjY2VzcyBtZXNzYWdlIGhlcmVcIixcclxuICAgICAgXCJ0b2FzdGVyQ1NTXCI6XCJzdWNjZXNzLXNuYWNrYmFyLWNhcmRcIlxyXG4gICAgfSx7XHJcbiAgICAgIFwidHlwZVwiOiBcIk5ldXRyYWxcIixcclxuICAgICAgXCJpbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL25ldXRyYWwtc3Rhci1saWItaWNvbi5zdmdcIixcclxuICAgICAgXCJpbWFnZUNTU1wiOiBcIm5ldXRyYWwtaW1hZ2VcIixcclxuICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxyXG4gICAgICBcImxhYmVsQ1NTXCI6IFwibmV1dHJhbC10b2FzdGVyLWxhYmVsXCIsXHJcbiAgICAgIFwibWVzc2FnZUNTU1wiOiBcIm5ldXRyYWwtdG9hc3Rlci1tc2dcIixcclxuICAgICAgXCJob3Jpem9udGFsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJ2ZXJ0aWNhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwiZHVyYXRpb25cIjogMzAwMCxcclxuICAgICAgXCJjbG9zZUljb25JbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL25ldXRyYWwtY3Jvc3MtbGliLWljb24uc3ZnXCIsXHJcbiAgICAgIFwiY2xvc2VJY29uQ1NTXCI6IFwiY3Jvc3NcIixcclxuICAgICAgXCJsYWJlbFRleHRcIjpcIkEgbmV1dHJhbCB0b2FzdFwiLFxyXG4gICAgICBcIm1lc3NhZ2VUZXh0XCI6XCJOZXV0cmFsIG1lc3NhZ2UgaGVyZVwiLFxyXG4gICAgICBcInRvYXN0ZXJDU1NcIjpcIm5ldXRyYWwtc25hY2tiYXItY2FyZFwiXHJcbiAgICB9XHJcbiAgXTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBjaGVja0lmVmFsdWVJc0VtcHR5KHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxyXG4gICAgICB2YWx1ZSA9PT0gJycgfHxcclxuICAgICAgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB8fFxyXG4gICAgICBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgPT09ICd7fSdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzYXZlVGFibGVGaWVsZFN0YXRlKHRhYmxlRmllbGQ6IGFueSwga2V5OiBhbnkgPSAndGFibGVGaWVsZCcpIHtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodGFibGVGaWVsZCkpO1xyXG4gIH1cclxuXHJcbiAgcmVzdG9yZVRhYmxlRmllbGRTdGF0ZShrZXk6IGFueSA9ICd0YWJsZUZpZWxkJyk6IGFueSB8IG51bGwge1xyXG4gICAgY29uc3QgZGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgICByZXR1cm4gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, input } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
5
+ import { MatOptionModule } from '@angular/material/core';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { MatSelectModule } from '@angular/material/select';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ export class MenuComponent {
12
+ constructor() { }
13
+ showProfileMenu = false;
14
+ field = input.required();
15
+ inputValue = null;
16
+ onChange = () => { };
17
+ onTouched = () => { };
18
+ writeValue(value) {
19
+ this.inputValue = value;
20
+ }
21
+ registerOnChange(fn) {
22
+ this.onChange = fn;
23
+ }
24
+ registerOnTouched(fn) {
25
+ this.onTouched = fn;
26
+ }
27
+ onValueChange(newValue) {
28
+ this.inputValue = newValue;
29
+ this.onChange(newValue);
30
+ this.onTouched();
31
+ }
32
+ selectionChanged(event) {
33
+ this.inputValue = event.value;
34
+ this.onChange(event.value);
35
+ this.onTouched();
36
+ }
37
+ // onSelectOpened(opened: boolean) {
38
+ // const css = this.field()?.controlStyle;
39
+ // if (opened) {
40
+ // document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');
41
+ // document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');
42
+ // document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');
43
+ // document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');
44
+ // document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');
45
+ // document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');
46
+ // document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');
47
+ // document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');
48
+ // } else {
49
+ // document.body.style.removeProperty('--custom-select-option-background-color');
50
+ // document.body.style.removeProperty('--custom-select-option-font-color');
51
+ // document.body.style.removeProperty('--custom-select-option-font-weight');
52
+ // document.body.style.removeProperty('--custom-select-option-background-color-focus');
53
+ // document.body.style.removeProperty('--custom-select-option-font-color-focus');
54
+ // document.body.style.removeProperty('--custom-select-option-font-weight-focus');
55
+ // document.body.style.removeProperty('--custom-select-option-border-left-focus');
56
+ // document.body.style.removeProperty('--custom-select-option-border-radius-focus');
57
+ // }
58
+ // }
59
+ toggleProfileMenu() {
60
+ this.showProfileMenu = !this.showProfileMenu;
61
+ }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: MenuComponent, isStandalone: true, selector: "lib-menu", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div\r\n (click)=\"toggleProfileMenu()\"\r\n class=\"menu-container d-flex align-items-center\"\r\n role=\"button\"\r\n>\r\n<!-- [src]=\"field()?.configData?.prefixImage\" -->\r\n <img\r\n [src]=\"field()?.configData?.prefixImage\"\r\n alt=\"Profile\"\r\n class=\"rounded-circle me-2\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n <span class=\"menu-main-text ps-1 pe-2\">{{field()?.configData?.maintext}}</span>\r\n <span *ngIf=\"field()?.configData?.isShowDropdownArrow\" class=\"arrow\"></span>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"showProfileMenu\"\r\n class=\"profile-menu top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\"\r\n>\r\n <div class=\"profile-menu-caret\"></div>\r\n <ul class=\"list-unstyled m-0 py-2\">\r\n <li\r\n class=\"px-3 py-2 text-nowrap\"\r\n *ngFor=\"let singleOption of field()?.options\"\r\n >\r\n {{singleOption['label']}}\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".menu-container{display:flex;justify-content:space-between;align-items:center;background:#f5f5f5;padding:6px 12px;border:1px solid #F5F5F5;border-radius:25px}.profile-menu-caret{position:relative;top:-11px;right:-50%;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:11px solid #fa0;z-index:1}.profile-menu-caret:after{content:\"\";position:absolute;left:-9.8px;top:1.7px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #fff;z-index:2}.arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}.menu-main-text{font-size:16px;font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'lib-menu', standalone: true, imports: [
68
+ MatSelectModule,
69
+ MatFormFieldModule,
70
+ MatAutocompleteModule,
71
+ MatInputModule,
72
+ FormsModule,
73
+ MatOptionModule,
74
+ CommonModule,
75
+ ReactiveFormsModule,
76
+ ], template: "<div\r\n (click)=\"toggleProfileMenu()\"\r\n class=\"menu-container d-flex align-items-center\"\r\n role=\"button\"\r\n>\r\n<!-- [src]=\"field()?.configData?.prefixImage\" -->\r\n <img\r\n [src]=\"field()?.configData?.prefixImage\"\r\n alt=\"Profile\"\r\n class=\"rounded-circle me-2\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n <span class=\"menu-main-text ps-1 pe-2\">{{field()?.configData?.maintext}}</span>\r\n <span *ngIf=\"field()?.configData?.isShowDropdownArrow\" class=\"arrow\"></span>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"showProfileMenu\"\r\n class=\"profile-menu top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\"\r\n>\r\n <div class=\"profile-menu-caret\"></div>\r\n <ul class=\"list-unstyled m-0 py-2\">\r\n <li\r\n class=\"px-3 py-2 text-nowrap\"\r\n *ngFor=\"let singleOption of field()?.options\"\r\n >\r\n {{singleOption['label']}}\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".menu-container{display:flex;justify-content:space-between;align-items:center;background:#f5f5f5;padding:6px 12px;border:1px solid #F5F5F5;border-radius:25px}.profile-menu-caret{position:relative;top:-11px;right:-50%;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:11px solid #fa0;z-index:1}.profile-menu-caret:after{content:\"\";position:absolute;left:-9.8px;top:1.7px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #fff;z-index:2}.arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}.menu-main-text{font-size:16px;font-weight:700}\n"] }]
77
+ }], ctorParameters: () => [] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUF3QixXQUFXLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFrQjVFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLGdCQUFlLENBQUM7SUFDaEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixLQUFLLEdBQVMsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ3BDLFVBQVUsR0FBUSxJQUFJLENBQUM7SUFFdkIsUUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUN6QixTQUFTLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRTFCLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhLENBQUMsUUFBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBc0I7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLDRDQUE0QztJQUM1QyxrQkFBa0I7SUFDbEIsd0hBQXdIO0lBQ3hILGdIQUFnSDtJQUNoSCxxSEFBcUg7SUFDckgsbUlBQW1JO0lBQ25JLDJIQUEySDtJQUMzSCxnSUFBZ0k7SUFDaEksb0lBQW9JO0lBQ3BJLHdJQUF3STtJQUN4SSxhQUFhO0lBQ2IscUZBQXFGO0lBQ3JGLCtFQUErRTtJQUMvRSxnRkFBZ0Y7SUFDaEYsMkZBQTJGO0lBQzNGLHFGQUFxRjtJQUNyRixzRkFBc0Y7SUFDdEYsc0ZBQXNGO0lBQ3RGLHdGQUF3RjtJQUN4RixNQUFNO0lBQ04sSUFBSTtJQUVOLGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQy9DLENBQUM7d0dBMURZLGFBQWE7NEZBQWIsYUFBYSx1TUMxQjFCLDg3QkErQkEsMDhCRGpCSSxlQUFlLDhCQUNmLGtCQUFrQiw4QkFDbEIscUJBQXFCLDhCQUNyQixjQUFjLDhCQUNkLFdBQVcsOEJBQ1gsZUFBZSw4QkFDZixZQUFZLCtQQUNaLG1CQUFtQjs7NEZBS1YsYUFBYTtrQkFoQnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixZQUFZO3dCQUNaLG1CQUFtQjtxQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSwgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW1lbnUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdE9wdGlvbk1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL21lbnUuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIHNob3dQcm9maWxlTWVudSA9IGZhbHNlO1xyXG4gIGZpZWxkIDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xyXG4gIGlucHV0VmFsdWU6IGFueSA9IG51bGw7XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShuZXdWYWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGlvbkNoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSkge1xyXG4gICAgdGhpcy5pbnB1dFZhbHVlID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LnZhbHVlKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvLyBvblNlbGVjdE9wZW5lZChvcGVuZWQ6IGJvb2xlYW4pIHtcclxuICAvLyAgIGNvbnN0IGNzcyA9IHRoaXMuZmllbGQoKT8uY29udHJvbFN0eWxlO1xyXG4gIC8vICAgaWYgKG9wZW5lZCkge1xyXG4gIC8vICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3InLCBjc3M/LmRyb3Bkb3duT3B0aW9uQmdDb2xvciB8fCAnI2ZmZicpO1xyXG4gIC8vICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtY29sb3InLCBjc3M/LmRyb3Bkb3duT3B0aW9uQ29sb3IgfHwgJyM0NDQnKTtcclxuICAvLyAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1mb250LXdlaWdodCcsIGNzcz8uZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0IHx8ICc0MDAnKTtcclxuICAvLyAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWZvY3VzJywgY3NzPy5mb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvciB8fCAnI2ZmZicpO1xyXG4gIC8vICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtY29sb3ItZm9jdXMnLCBjc3M/LmZvY3VzRHJvcGRvd25PcHRpb25Db2xvciB8fCAnIzQ0NCcpO1xyXG4gIC8vICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtd2VpZ2h0LWZvY3VzJywgY3NzPy5mb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodCB8fCAnNDAwJyk7XHJcbiAgLy8gICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tYm9yZGVyLWxlZnQtZm9jdXMnLCBjc3M/LmZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0IHx8ICcjZmZiYjAwJyk7XHJcbiAgLy8gICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tYm9yZGVyLXJhZGl1cy1mb2N1cycsIGNzcz8uZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1cyB8fCAnI2ZmYmIwMCcpO1xyXG4gIC8vICAgfSBlbHNlIHtcclxuICAvLyAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG9yJyk7XHJcbiAgLy8gICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tZm9udC1jb2xvcicpO1xyXG4gIC8vICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtd2VpZ2h0Jyk7XHJcbiAgLy8gICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvci1mb2N1cycpO1xyXG4gIC8vICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWZvbnQtY29sb3ItZm9jdXMnKTtcclxuICAvLyAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1jdXN0b20tc2VsZWN0LW9wdGlvbi1mb250LXdlaWdodC1mb2N1cycpO1xyXG4gIC8vICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWN1c3RvbS1zZWxlY3Qtb3B0aW9uLWJvcmRlci1sZWZ0LWZvY3VzJyk7XHJcbiAgLy8gICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tY3VzdG9tLXNlbGVjdC1vcHRpb24tYm9yZGVyLXJhZGl1cy1mb2N1cycpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbnRvZ2dsZVByb2ZpbGVNZW51KCkge1xyXG4gIHRoaXMuc2hvd1Byb2ZpbGVNZW51ID0gIXRoaXMuc2hvd1Byb2ZpbGVNZW51O1xyXG59XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2XHJcbiAgKGNsaWNrKT1cInRvZ2dsZVByb2ZpbGVNZW51KClcIlxyXG4gIGNsYXNzPVwibWVudS1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgcm9sZT1cImJ1dHRvblwiXHJcbj5cclxuPCEtLSBbc3JjXT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LnByZWZpeEltYWdlXCIgLS0+XHJcbiAgPGltZ1xyXG4gICAgW3NyY109XCJmaWVsZCgpPy5jb25maWdEYXRhPy5wcmVmaXhJbWFnZVwiXHJcbiAgICBhbHQ9XCJQcm9maWxlXCJcclxuICAgIGNsYXNzPVwicm91bmRlZC1jaXJjbGUgbWUtMlwiXHJcbiAgICB3aWR0aD1cIjM2XCJcclxuICAgIGhlaWdodD1cIjM2XCJcclxuICAvPlxyXG4gIDxzcGFuIGNsYXNzPVwibWVudS1tYWluLXRleHQgcHMtMSBwZS0yXCI+e3tmaWVsZCgpPy5jb25maWdEYXRhPy5tYWludGV4dH19PC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uaXNTaG93RHJvcGRvd25BcnJvd1wiIGNsYXNzPVwiYXJyb3dcIj48L3NwYW4+XHJcbjwvZGl2PlxyXG5cclxuPGRpdlxyXG4gICpuZ0lmPVwic2hvd1Byb2ZpbGVNZW51XCJcclxuICBjbGFzcz1cInByb2ZpbGUtbWVudSB0b3AtMTAwIGVuZC0wIGJnLXdoaXRlIGJvcmRlciBib3JkZXItd2FybmluZyByb3VuZGVkLTMgc2hhZG93LXNtIG10LTJcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cInByb2ZpbGUtbWVudS1jYXJldFwiPjwvZGl2PlxyXG4gIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbS0wIHB5LTJcIj5cclxuICAgIDxsaVxyXG4gICAgICBjbGFzcz1cInB4LTMgcHktMiB0ZXh0LW5vd3JhcFwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCBzaW5nbGVPcHRpb24gb2YgZmllbGQoKT8ub3B0aW9uc1wiXHJcbiAgICA+XHJcbiAgICAgIHt7c2luZ2xlT3B0aW9uWydsYWJlbCddfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -21,12 +21,12 @@ export class TabComponent {
21
21
  this.field().selectedIndex = this.selectedIndex;
22
22
  }
23
23
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TabComponent, isStandalone: true, selector: "lib-tab", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selectedIndexChange: "selectedIndexChange" }, ngImport: i0, template: "<mat-tab-group *ngIf=\"field() && field()?.isVisible\" class=\"vertical-tab-indicator\"\r\n[ngClass]=\"{'vertical-class': field()?.configData?.isVerticalTab && field()?.configData?.isVerticalTab === 'true'}\"\r\n[ngStyle]=\"{\r\n '--tab-border-color': field()?.controlStyle?.borderColor ,\r\n '--tab-border-width': field()?.controlStyle?.borderWidth,\r\n '--tab-font-size': field()?.controlStyle?.fontSize,\r\n '--tab-font-weight': field()?.controlStyle?.fontWeight,\r\n '--tab-font-color': field()?.controlStyle?.color,\r\n }\"\r\n[(selectedIndex)]=\"selectedIndex\" (selectedIndexChange)=\"onTabChange($event)\">\r\n <mat-tab *ngFor=\"let data of field()?.options; let i = index\">\r\n <ng-template mat-tab-label>\r\n <img [src]=\"data.value\" alt=\"\" class=\"mx-2\">\r\n {{ data.label }}\r\n </ng-template>\r\n <ng-content select=\"tab[i]\"></ng-content>\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: ["*{font-family:mulish!important}::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{font-weight:var(--tab-font-weight, 800)!important}::ng-deep .mdc-tab__text-label{font-size:var(--tab-font-size, 16px)!important;color:var(--tab-font-color, #444)!important}::ng-deep .mat-mdc-tab-group .mdc-tab-indicator__content--underline{border-color:var(--tab-border-color, #FFBB00)!important;border-width:var(--tab-border-width, 3px)!important;border-top-left-radius:6px!important;border-top-right-radius:6px!important}::ng-deep .mat-mdc-tab-label-container{border-bottom:1px solid #dadada!important}::ng-deep .vertical-class .mdc-tab-indicator .mdc-tab-indicator__content{border:none!important}::ng-deep .vertical-class .mat-mdc-tab.mdc-tab--active .mat-mdc-tab-ripple{border-right:var(--tab-border-width, 4px) solid var(--tab-border-color, #ffbb00)!important;box-shadow:0 2px 4px #00000015;border-left:1px solid #DDDDDD;border-top:1px solid #DDDDDD;border-bottom:1px solid #DDDDDD}::ng-deep .vertical-class .mdc-tab-indicator__content .mdc-tab-indicator__content--underline{border:none!important}::ng-deep .vertical-class .mat-mdc-tab-labels{display:table-row!important}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TabComponent, isStandalone: true, selector: "lib-tab", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selectedIndexChange: "selectedIndexChange" }, ngImport: i0, template: "<mat-tab-group *ngIf=\"field() && field()?.isVisible\" class=\"vertical-tab-indicator\"\r\n[ngClass]=\"{'vertical-class': field()?.configData?.isVerticalTab && field()?.configData?.isVerticalTab === 'true'}\"\r\n[ngStyle]=\"{\r\n '--tab-border-color': field()?.controlStyle?.borderColor ,\r\n '--tab-border-width': field()?.controlStyle?.borderWidth,\r\n '--tab-font-size': field()?.controlStyle?.fontSize,\r\n '--tab-font-weight': field()?.controlStyle?.fontWeight,\r\n '--tab-font-color': field()?.controlStyle?.color,\r\n }\"\r\n[(selectedIndex)]=\"selectedIndex\" (selectedIndexChange)=\"onTabChange($event)\">\r\n <mat-tab *ngFor=\"let data of field()?.options; let i = index\">\r\n <ng-template mat-tab-label>\r\n <img [src]=\"data.value\" alt=\"\" class=\"mx-2\">\r\n {{ data.label }}\r\n </ng-template>\r\n <ng-content select=\"tab[i]\"></ng-content>\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: ["*{font-family:mulish!important}::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{font-weight:var(--tab-font-weight, 800)!important}::ng-deep .mdc-tab__text-label{font-size:var(--tab-font-size, 16px)!important;color:var(--tab-font-color, #444)!important}::ng-deep .mat-mdc-tab-group .mdc-tab-indicator__content--underline{border-color:var(--tab-border-color, #FFBB00)!important;border-width:var(--tab-border-width, 3px)!important;border-top-left-radius:6px!important;border-top-right-radius:6px!important}::ng-deep .mat-mdc-tab-label-container{border-bottom:1px solid #dadada!important}::ng-deep .vertical-class .mdc-tab-indicator .mdc-tab-indicator__content{border:none!important}::ng-deep .vertical-class .mat-mdc-tab.mdc-tab--active .mat-mdc-tab-ripple{border-right:var(--tab-border-width, 4px) solid var(--tab-border-color, #ffbb00)!important;box-shadow:0 2px 4px #00000015;border-left:1px solid #DDDDDD;border-top:1px solid #DDDDDD;border-bottom:1px solid #DDDDDD;background:#fff!important}::ng-deep .vertical-class .mdc-tab-indicator__content .mdc-tab-indicator__content--underline{border:none!important}::ng-deep .vertical-class .mat-mdc-tab-labels{display:table-row!important;background:#fafafa!important}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i2.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'lib-tab', standalone: true, imports: [MatTabsModule, CommonModule], template: "<mat-tab-group *ngIf=\"field() && field()?.isVisible\" class=\"vertical-tab-indicator\"\r\n[ngClass]=\"{'vertical-class': field()?.configData?.isVerticalTab && field()?.configData?.isVerticalTab === 'true'}\"\r\n[ngStyle]=\"{\r\n '--tab-border-color': field()?.controlStyle?.borderColor ,\r\n '--tab-border-width': field()?.controlStyle?.borderWidth,\r\n '--tab-font-size': field()?.controlStyle?.fontSize,\r\n '--tab-font-weight': field()?.controlStyle?.fontWeight,\r\n '--tab-font-color': field()?.controlStyle?.color,\r\n }\"\r\n[(selectedIndex)]=\"selectedIndex\" (selectedIndexChange)=\"onTabChange($event)\">\r\n <mat-tab *ngFor=\"let data of field()?.options; let i = index\">\r\n <ng-template mat-tab-label>\r\n <img [src]=\"data.value\" alt=\"\" class=\"mx-2\">\r\n {{ data.label }}\r\n </ng-template>\r\n <ng-content select=\"tab[i]\"></ng-content>\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: ["*{font-family:mulish!important}::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{font-weight:var(--tab-font-weight, 800)!important}::ng-deep .mdc-tab__text-label{font-size:var(--tab-font-size, 16px)!important;color:var(--tab-font-color, #444)!important}::ng-deep .mat-mdc-tab-group .mdc-tab-indicator__content--underline{border-color:var(--tab-border-color, #FFBB00)!important;border-width:var(--tab-border-width, 3px)!important;border-top-left-radius:6px!important;border-top-right-radius:6px!important}::ng-deep .mat-mdc-tab-label-container{border-bottom:1px solid #dadada!important}::ng-deep .vertical-class .mdc-tab-indicator .mdc-tab-indicator__content{border:none!important}::ng-deep .vertical-class .mat-mdc-tab.mdc-tab--active .mat-mdc-tab-ripple{border-right:var(--tab-border-width, 4px) solid var(--tab-border-color, #ffbb00)!important;box-shadow:0 2px 4px #00000015;border-left:1px solid #DDDDDD;border-top:1px solid #DDDDDD;border-bottom:1px solid #DDDDDD}::ng-deep .vertical-class .mdc-tab-indicator__content .mdc-tab-indicator__content--underline{border:none!important}::ng-deep .vertical-class .mat-mdc-tab-labels{display:table-row!important}\n"] }]
28
+ args: [{ selector: 'lib-tab', standalone: true, imports: [MatTabsModule, CommonModule], template: "<mat-tab-group *ngIf=\"field() && field()?.isVisible\" class=\"vertical-tab-indicator\"\r\n[ngClass]=\"{'vertical-class': field()?.configData?.isVerticalTab && field()?.configData?.isVerticalTab === 'true'}\"\r\n[ngStyle]=\"{\r\n '--tab-border-color': field()?.controlStyle?.borderColor ,\r\n '--tab-border-width': field()?.controlStyle?.borderWidth,\r\n '--tab-font-size': field()?.controlStyle?.fontSize,\r\n '--tab-font-weight': field()?.controlStyle?.fontWeight,\r\n '--tab-font-color': field()?.controlStyle?.color,\r\n }\"\r\n[(selectedIndex)]=\"selectedIndex\" (selectedIndexChange)=\"onTabChange($event)\">\r\n <mat-tab *ngFor=\"let data of field()?.options; let i = index\">\r\n <ng-template mat-tab-label>\r\n <img [src]=\"data.value\" alt=\"\" class=\"mx-2\">\r\n {{ data.label }}\r\n </ng-template>\r\n <ng-content select=\"tab[i]\"></ng-content>\r\n </mat-tab>\r\n</mat-tab-group>\r\n", styles: ["*{font-family:mulish!important}::ng-deep .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{font-weight:var(--tab-font-weight, 800)!important}::ng-deep .mdc-tab__text-label{font-size:var(--tab-font-size, 16px)!important;color:var(--tab-font-color, #444)!important}::ng-deep .mat-mdc-tab-group .mdc-tab-indicator__content--underline{border-color:var(--tab-border-color, #FFBB00)!important;border-width:var(--tab-border-width, 3px)!important;border-top-left-radius:6px!important;border-top-right-radius:6px!important}::ng-deep .mat-mdc-tab-label-container{border-bottom:1px solid #dadada!important}::ng-deep .vertical-class .mdc-tab-indicator .mdc-tab-indicator__content{border:none!important}::ng-deep .vertical-class .mat-mdc-tab.mdc-tab--active .mat-mdc-tab-ripple{border-right:var(--tab-border-width, 4px) solid var(--tab-border-color, #ffbb00)!important;box-shadow:0 2px 4px #00000015;border-left:1px solid #DDDDDD;border-top:1px solid #DDDDDD;border-bottom:1px solid #DDDDDD;background:#fff!important}::ng-deep .vertical-class .mdc-tab-indicator__content .mdc-tab-indicator__content--underline{border:none!important}::ng-deep .vertical-class .mat-mdc-tab-labels{display:table-row!important;background:#fafafa!important}\n"] }]
29
29
  }], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { selectedIndexChange: [{
30
30
  type: Output
31
31
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvdGFiL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3RhYi90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFxQixhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFVMUUsTUFBTSxPQUFPLFlBQVk7SUFLTjtJQUpuQixLQUFLLEdBQVMsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzFCLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDM0QsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUVsQixZQUFtQixhQUFvQztRQUFwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFBRSxDQUFDO0lBRTFELFFBQVE7UUFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDcEQsQ0FBQztJQUNDLFdBQVcsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDO3dHQWJZLFlBQVk7NEZBQVosWUFBWSwrUENaekIsMDVCQWtCQSwwc0NEVlksYUFBYSxxdUJBQUMsWUFBWTs7NEZBSXpCLFlBQVk7a0JBUHhCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBQyxZQUFZLENBQUM7eUZBTTdCLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYkNoYW5nZUV2ZW50LCBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdFRhYnNNb2R1bGUsQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFiLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQge1xyXG5maWVsZCA6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcclxuQE91dHB1dCgpIHNlbGVjdGVkSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuc2VsZWN0ZWRJbmRleCA9IDA7XHJcblxyXG5jb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKXt9XHJcblxyXG5uZ09uSW5pdCgpe1xyXG4gICAgdGhpcy5maWVsZCgpLnNlbGVjdGVkSW5kZXggPSB0aGlzLnNlbGVjdGVkSW5kZXg7XHJcbn1cclxuICBvblRhYkNoYW5nZShldmVudDogbnVtYmVyKSB7XHJcbiAgdGhpcy5zZWxlY3RlZEluZGV4ID0gZXZlbnQ7XHJcbiAgdGhpcy5maWVsZCgpLnNlbGVjdGVkSW5kZXggPSB0aGlzLnNlbGVjdGVkSW5kZXg7XHJcbn1cclxufVxyXG4iLCI8bWF0LXRhYi1ncm91cCAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCIgY2xhc3M9XCJ2ZXJ0aWNhbC10YWItaW5kaWNhdG9yXCJcclxuW25nQ2xhc3NdPVwieyd2ZXJ0aWNhbC1jbGFzcyc6IGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzVmVydGljYWxUYWIgJiYgZmllbGQoKT8uY29uZmlnRGF0YT8uaXNWZXJ0aWNhbFRhYiA9PT0gJ3RydWUnfVwiXHJcbltuZ1N0eWxlXT1cIntcclxuICctLXRhYi1ib3JkZXItY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlckNvbG9yICxcclxuICctLXRhYi1ib3JkZXItd2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoLFxyXG4gICctLXRhYi1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplLFxyXG4gJy0tdGFiLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxyXG4gJy0tdGFiLWZvbnQtY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmNvbG9yLFxyXG4gfVwiXHJcblsoc2VsZWN0ZWRJbmRleCldPVwic2VsZWN0ZWRJbmRleFwiIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cIm9uVGFiQ2hhbmdlKCRldmVudClcIj5cclxuICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IGRhdGEgb2YgZmllbGQoKT8ub3B0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XHJcbiAgICAgIDxpbWcgW3NyY109XCJkYXRhLnZhbHVlXCIgYWx0PVwiXCIgY2xhc3M9XCJteC0yXCI+XHJcbiAgICAgIHt7IGRhdGEubGFiZWwgfX1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0YWJbaV1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9tYXQtdGFiPlxyXG48L21hdC10YWItZ3JvdXA+XHJcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvdGFiL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3RhYi90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFxQixhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFVMUUsTUFBTSxPQUFPLFlBQVk7SUFLTjtJQUpuQixLQUFLLEdBQVMsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQzFCLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDM0QsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUVsQixZQUFtQixhQUFvQztRQUFwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFBRSxDQUFDO0lBRTFELFFBQVE7UUFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDcEQsQ0FBQztJQUNDLFdBQVcsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDO3dHQWJZLFlBQVk7NEZBQVosWUFBWSwrUENaekIsMDVCQWtCQSxpd0NEVlksYUFBYSxxdUJBQUMsWUFBWTs7NEZBSXpCLFlBQVk7a0JBUHhCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBQyxZQUFZLENBQUM7eUZBTTdCLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYkNoYW5nZUV2ZW50LCBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdFRhYnNNb2R1bGUsQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFiLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQge1xyXG5maWVsZCA6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcclxuQE91dHB1dCgpIHNlbGVjdGVkSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuc2VsZWN0ZWRJbmRleCA9IDA7XHJcblxyXG5jb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKXt9XHJcblxyXG5uZ09uSW5pdCgpe1xyXG4gICAgdGhpcy5maWVsZCgpLnNlbGVjdGVkSW5kZXggPSB0aGlzLnNlbGVjdGVkSW5kZXg7XHJcbn1cclxuICBvblRhYkNoYW5nZShldmVudDogbnVtYmVyKSB7XHJcbiAgdGhpcy5zZWxlY3RlZEluZGV4ID0gZXZlbnQ7XHJcbiAgdGhpcy5maWVsZCgpLnNlbGVjdGVkSW5kZXggPSB0aGlzLnNlbGVjdGVkSW5kZXg7XHJcbn1cclxufVxyXG4iLCI8bWF0LXRhYi1ncm91cCAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCIgY2xhc3M9XCJ2ZXJ0aWNhbC10YWItaW5kaWNhdG9yXCJcclxuW25nQ2xhc3NdPVwieyd2ZXJ0aWNhbC1jbGFzcyc6IGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzVmVydGljYWxUYWIgJiYgZmllbGQoKT8uY29uZmlnRGF0YT8uaXNWZXJ0aWNhbFRhYiA9PT0gJ3RydWUnfVwiXHJcbltuZ1N0eWxlXT1cIntcclxuICctLXRhYi1ib3JkZXItY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlckNvbG9yICxcclxuICctLXRhYi1ib3JkZXItd2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoLFxyXG4gICctLXRhYi1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplLFxyXG4gJy0tdGFiLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxyXG4gJy0tdGFiLWZvbnQtY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmNvbG9yLFxyXG4gfVwiXHJcblsoc2VsZWN0ZWRJbmRleCldPVwic2VsZWN0ZWRJbmRleFwiIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cIm9uVGFiQ2hhbmdlKCRldmVudClcIj5cclxuICAgPG1hdC10YWIgKm5nRm9yPVwibGV0IGRhdGEgb2YgZmllbGQoKT8ub3B0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XHJcbiAgICAgIDxpbWcgW3NyY109XCJkYXRhLnZhbHVlXCIgYWx0PVwiXCIgY2xhc3M9XCJteC0yXCI+XHJcbiAgICAgIHt7IGRhdGEubGFiZWwgfX1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0YWJbaV1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9tYXQtdGFiPlxyXG48L21hdC10YWItZ3JvdXA+XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, HostListener, input } from '@angular/core';
1
+ import { Component, EventEmitter, HostListener, input, Output } from '@angular/core';
2
2
  import { CommonModule, NgFor, NgIf } from '@angular/common';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { MatIconModule } from '@angular/material/icon';
@@ -21,6 +21,7 @@ export class TableComponent {
21
21
  paginationSize = 10;
22
22
  pageNumber = 0;
23
23
  pageSize = 10;
24
+ actionItemClicked = new EventEmitter();
24
25
  constructor(masterControlService) {
25
26
  this.masterControlService = masterControlService;
26
27
  }
@@ -68,6 +69,9 @@ export class TableComponent {
68
69
  }
69
70
  closeActionsPopup() {
70
71
  this.showActionsPopup = false;
72
+ this.field().tableData.userSelectedOptions[this.selectedRow].forEach((checkIcon) => {
73
+ checkIcon.isSelected = false;
74
+ });
71
75
  this.selectedRow = 0;
72
76
  this.highlightedIndex = -1;
73
77
  }
@@ -79,14 +83,29 @@ export class TableComponent {
79
83
  this.pageSize = event.pageSize;
80
84
  console.log(this.pageNumber, this.pageSize);
81
85
  }
86
+ actionClicked(actionSelected, actionIndex) {
87
+ this.field()?.tableData?.userSelectedOptions[this.selectedRow]?.forEach((checkIcon, selectedIndex) => {
88
+ if (checkIcon.matIconName === actionSelected.matIconName && actionIndex === selectedIndex) {
89
+ checkIcon.isSelected = true;
90
+ }
91
+ });
92
+ let emitOBJ = {
93
+ userSelectedOptions: this.field()?.tableData?.userSelectedOptions,
94
+ selectedRowIndex: this.selectedRow,
95
+ selectedActionsIndex: actionIndex,
96
+ };
97
+ this.actionItemClicked.emit(emitOBJ);
98
+ }
82
99
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
83
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "lib-table", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:keydown.escape": "onEscKey($event)" } }, ngImport: i0, template: "<div class=\"styled-table-container\">\r\n<table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container *ngIf=\"!readonly(); else headerText\">{{header.columnName}}\r\n <!-- <input type=\"text\" [(ngModel)]=\"header.columnName\" (ngModelChange)=\"renameHeader(i, $event)\"\r\n [disabled]=\"readonly()\" class=\"custom_input\" [matTooltip]=\"header.toolTip\" matTooltipPosition=\"above\"> -->\r\n </ng-container>\r\n <ng-template #headerText>{{ header?.columnName }}</ng-template>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n <mat-paginator class=\"custom-paginator\"\r\n [length]=\"field()?.tableData?.tdData?.length\"\r\n [pageSize]=\"paginationSize\"\r\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\"\r\n aria-label=\"Select page\">\r\n </mat-paginator>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow]\" [matTooltip]=\"actionData?.displayTitle\"\r\n matTooltipPosition=\"above\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] });
100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "lib-table", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionItemClicked: "actionItemClicked" }, host: { listeners: { "document:keydown.escape": "onEscKey($event)" } }, ngImport: i0, template: "<div class=\"styled-table-container\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container *ngIf=\"!readonly(); else headerText\">{{header.columnName}}\r\n <!-- <input type=\"text\" [(ngModel)]=\"header.columnName\" (ngModelChange)=\"renameHeader(i, $event)\"\r\n [disabled]=\"readonly()\" class=\"custom_input\" [matTooltip]=\"header.toolTip\" matTooltipPosition=\"above\"> -->\r\n </ng-container>\r\n <ng-template #headerText>{{ header?.columnName }}</ng-template>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.tdData?.length\" [pageSize]=\"paginationSize\"\r\n [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] });
84
101
  }
85
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
86
103
  type: Component,
87
- args: [{ selector: 'lib-table', standalone: true, imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule], template: "<div class=\"styled-table-container\">\r\n<table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container *ngIf=\"!readonly(); else headerText\">{{header.columnName}}\r\n <!-- <input type=\"text\" [(ngModel)]=\"header.columnName\" (ngModelChange)=\"renameHeader(i, $event)\"\r\n [disabled]=\"readonly()\" class=\"custom_input\" [matTooltip]=\"header.toolTip\" matTooltipPosition=\"above\"> -->\r\n </ng-container>\r\n <ng-template #headerText>{{ header?.columnName }}</ng-template>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n <mat-paginator class=\"custom-paginator\"\r\n [length]=\"field()?.tableData?.tdData?.length\"\r\n [pageSize]=\"paginationSize\"\r\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\"\r\n aria-label=\"Select page\">\r\n </mat-paginator>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow]\" [matTooltip]=\"actionData?.displayTitle\"\r\n matTooltipPosition=\"above\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}\n"] }]
88
- }], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { onEscKey: [{
104
+ args: [{ selector: 'lib-table', standalone: true, imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule], template: "<div class=\"styled-table-container\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container *ngIf=\"!readonly(); else headerText\">{{header.columnName}}\r\n <!-- <input type=\"text\" [(ngModel)]=\"header.columnName\" (ngModelChange)=\"renameHeader(i, $event)\"\r\n [disabled]=\"readonly()\" class=\"custom_input\" [matTooltip]=\"header.toolTip\" matTooltipPosition=\"above\"> -->\r\n </ng-container>\r\n <ng-template #headerText>{{ header?.columnName }}</ng-template>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.tdData?.length\" [pageSize]=\"paginationSize\"\r\n [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}\n"] }]
105
+ }], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { actionItemClicked: [{
106
+ type: Output
107
+ }], onEscKey: [{
89
108
  type: HostListener,
90
109
  args: ['document:keydown.escape', ['$event']]
91
110
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBUTVFLE1BQU0sT0FBTyxjQUFjO0lBVU47SUFUbkIsS0FBSyxHQUFRLEtBQUssQ0FBQyxRQUFRLEVBQU8sQ0FBQztJQUNuQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixhQUFhLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNwQyxXQUFXLEdBQVEsQ0FBQyxDQUFDO0lBQ3JCLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLGNBQWMsR0FBUSxFQUFFLENBQUM7SUFDekIsVUFBVSxHQUFRLENBQUMsQ0FBQztJQUNwQixRQUFRLEdBQVEsRUFBRSxDQUFDO0lBQ25CLFlBQW1CLG9CQUEyQztRQUEzQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXVCO0lBQUksQ0FBQztJQUVuRSxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxZQUFZLENBQUMsS0FBVSxFQUFFLElBQVM7UUFDaEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDOUMsSUFBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7UUFDL0QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUgsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNwRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2pGLElBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFDLENBQUM7b0JBQzNDLElBQUksU0FBUyxHQUFHO3dCQUNkLFlBQVksRUFBRSxHQUFHLFNBQVMsR0FBRyxDQUFDLEVBQUU7d0JBQ2hDLGlCQUFpQixFQUFFLEdBQUc7d0JBQ3RCLFNBQVMsRUFBRSxHQUFHLFlBQVksR0FBRyxDQUFDLEVBQUU7cUJBQ2pDLENBQUE7b0JBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNyRCxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsVUFBVSxDQUM1RCxDQUFDO29CQUNGLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUNwSCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3RELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUN2SCxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLGFBQWEsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQ3RILENBQUM7WUFFRixJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFBO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBaUIsRUFBRSxRQUFnQjtRQUNsRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sSUFBSSxHQUFJLEtBQUssQ0FBQyxNQUFzQixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLEVBQUU7WUFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHO1NBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUdELFFBQVEsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUEsV0FBVyxDQUFDLEtBQWdCO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO3dHQTdFVSxjQUFjOzRGQUFkLGNBQWMsaVpDZDNCLDYyRUFpREEsbTFERHZDWSxJQUFJLDZGQUFFLEtBQUssa0hBQUUsV0FBVyw4QkFBRSxZQUFZLG1IQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLDRUQUFDLGtCQUFrQjs7NEZBSXpGLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUMsa0JBQWtCLENBQUM7eUZBeUVyRyxRQUFRO3NCQURQLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWJsZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsTWF0UGFnaW5hdG9yTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQge1xyXG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgcmVhZG9ubHkgPSBpbnB1dChmYWxzZSk7XHJcbiAgc2hvd0FjdGlvbnNQb3B1cCA9IGZhbHNlO1xyXG4gIHBvcHVwUG9zaXRpb24gPSB7IHRvcDogMCwgbGVmdDogMCB9O1xyXG4gIHNlbGVjdGVkUm93OiBhbnkgPSAwO1xyXG4gIGhpZ2hsaWdodGVkSW5kZXggPSAtMTtcclxuICBwYWdpbmF0aW9uU2l6ZTogYW55ID0gMTA7XHJcbiAgcGFnZU51bWJlcjogYW55ID0gMDtcclxuICBwYWdlU2l6ZTogYW55ID0gMTA7XHJcbiAgY29uc3RydWN0b3IocHVibGljIG1hc3RlckNvbnRyb2xTZXJ2aWNlIDogTWFzdGVyQ29udHJvbFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q29sdW1ucygpO1xyXG4gIH1cclxuICB0cmFja0J5SW5kZXgoaW5kZXg6IGFueSwgaXRlbTogYW55KSB7XHJcbiAgICByZXR1cm4gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5zKCkge1xyXG4gICAgbGV0IGNoZWNrQ29uZmlnRGF0YSA9IHRoaXMuZmllbGQoKS5jb25maWdEYXRhO1xyXG4gICAgaWYoT2JqZWN0LmtleXMoY2hlY2tDb25maWdEYXRhKS5sZW5ndGggPiAwKXtcclxuICAgICAgdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5jb25maWdEYXRhLnRhYmxlID0gY2hlY2tDb25maWdEYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5yb3dsZW5ndGggPiAwICYmIHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5jb2x1bW5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZmllbGQoKS50YWJsZURhdGEgPSB0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGU7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5jb25maWdEYXRhLnRhYmxlLmNvbHVtbmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYoT2JqZWN0LmtleXMoY2hlY2tDb25maWdEYXRhKS5sZW5ndGggPD0gMCl7XHJcbiAgICAgICAgICBsZXQgaGVhZGVyT2JqID0ge1xyXG4gICAgICAgICAgICBcImNvbHVtbk5hbWVcIjogYCR7J05hbWUgLSAnICsgaX1gLFxyXG4gICAgICAgICAgICBcImlzU29ydGluZ05lZWRlZFwiOiBcIllcIixcclxuICAgICAgICAgICAgXCJ0b29sVGlwXCI6IGAkeyd0b29sdGlwIC0gJyArIGl9YFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgZXhpc3RzID0gdGhpcy5maWVsZCgpLnRhYmxlRGF0YS50YWJsZUhlYWRlcnMuc29tZShcclxuICAgICAgICAgICAgKGhlYWRlcjogYW55KSA9PiBoZWFkZXIuY29sdW1uTmFtZSA9PT0gaGVhZGVyT2JqLmNvbHVtbk5hbWVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoIWV4aXN0cyAmJiB0aGlzLmZpZWxkKCkudGFibGVEYXRhLnRhYmxlSGVhZGVycy5sZW5ndGggPCB0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUuY29sdW1ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGQoKS50YWJsZURhdGEudGFibGVIZWFkZXJzLnB1c2goaGVhZGVyT2JqKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWVsZCgpLnRhYmxlRGF0YS50ZERhdGEgPSBBcnJheSh0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUucm93bGVuZ3RoKS5maWxsKG51bGwpLm1hcCgoXywgcm93SWR4KSA9PlxyXG4gICAgICAgIEFycmF5KHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5jb2x1bW5sZW5ndGgpLmZpbGwoJycpLm1hcCgoXywgY29sSWR4KSA9PiBgRHVtbXkgUm93ICR7cm93SWR4ICsgMX1gKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5zYXZlVGFibGVGaWVsZFN0YXRlKHRoaXMuZmllbGQoKSk7XHJcbiAgICAgIHRoaXMuZmllbGQoKS5jb25maWdEYXRhID0gdGhpcy5maWVsZCgpLnRhYmxlRGF0YVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkFjdGlvbnNQb3B1cChldmVudDogTW91c2VFdmVudCwgcm93SW5kZXg6IG51bWJlcikge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93ID0gcm93SW5kZXg7XHJcbiAgICB0aGlzLnNob3dBY3Rpb25zUG9wdXAgPSB0cnVlO1xyXG4gICAgdGhpcy5oaWdobGlnaHRlZEluZGV4ID0gMTtcclxuICAgIGNvbnN0IHJlY3QgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMucG9wdXBQb3NpdGlvbiA9IHtcclxuICAgICAgdG9wOiByZWN0LmJvdHRvbSArIHdpbmRvdy5zY3JvbGxZIC0gMzAsXHJcbiAgICAgIGxlZnQ6IHJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYIC0gMjgwLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNsb3NlQWN0aW9uc1BvcHVwKCkge1xyXG4gICAgdGhpcy5zaG93QWN0aW9uc1BvcHVwID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93ICA9IDA7XHJcbiAgICB0aGlzLmhpZ2hsaWdodGVkSW5kZXggPSAtMTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcclxuICBvbkVzY0tleShldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgdGhpcy5jbG9zZUFjdGlvbnNQb3B1cCgpO1xyXG4gIH1cclxuXHJcbiAgIHBhZ2VDaGFuZ2VkKGV2ZW50OiBQYWdlRXZlbnQpIHtcclxuICAgIHRoaXMucGFnZU51bWJlciA9IGV2ZW50LnBhZ2VJbmRleDtcclxuICAgIHRoaXMucGFnZVNpemUgPSBldmVudC5wYWdlU2l6ZTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMucGFnZU51bWJlciwgdGhpcy5wYWdlU2l6ZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzdHlsZWQtdGFibGUtY29udGFpbmVyXCI+XHJcbjx0YWJsZSAqbmdJZj1cImZpZWxkKCk/LnRhYmxlRGF0YT8uY29sdW1ubGVuZ3RoICYmIGZpZWxkKCk/LnRhYmxlRGF0YT8ucm93bGVuZ3RoXCIgY2xhc3M9XCJzdHlsZWQtdGFibGVcIj5cclxuICA8dGhlYWQ+XHJcbiAgICA8dHI+XHJcbiAgICAgIDx0aCAqbmdJZj1cImZpZWxkKCk/LnRhYmxlRGF0YT8uc2hvd0NoZWNrQm94XCI+PC90aD5cclxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgZmllbGQoKS50YWJsZURhdGE/LnRhYmxlSGVhZGVyczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZWFkb25seSgpOyBlbHNlIGhlYWRlclRleHRcIj57e2hlYWRlci5jb2x1bW5OYW1lfX1cclxuICAgICAgICAgIDwhLS0gPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJoZWFkZXIuY29sdW1uTmFtZVwiIChuZ01vZGVsQ2hhbmdlKT1cInJlbmFtZUhlYWRlcihpLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5KClcIiBjbGFzcz1cImN1c3RvbV9pbnB1dFwiIFttYXRUb29sdGlwXT1cImhlYWRlci50b29sVGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj4gLS0+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZXh0Pnt7IGhlYWRlcj8uY29sdW1uTmFtZSB9fTwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0aCAqbmdJZj1cImZpZWxkKCk/LnRhYmxlRGF0YT8uc2hvd0FjdGlvbnNcIj5BY3Rpb248L3RoPlxyXG4gICAgPC90cj5cclxuICA8L3RoZWFkPlxyXG4gIDx0Ym9keT5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIGZpZWxkKCk/LnRhYmxlRGF0YT8udGREYXRhO2xldCByb3dJbmRleCA9IGluZGV4XCI+XHJcbiAgICAgIDx0ZCAqbmdJZj1cImZpZWxkKCk/LnRhYmxlRGF0YT8uc2hvd0NoZWNrQm94XCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiPjwvdGQ+XHJcbiAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY2VsbCBvZiByb3dcIj57eyBjZWxsIH19PC90ZD5cclxuICAgICAgPHRkICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93QWN0aW9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnRuXCIgKGNsaWNrKT1cIm9wZW5BY3Rpb25zUG9wdXAoJGV2ZW50LCByb3dJbmRleClcIiBbZGlzYWJsZWRdPVwicmVhZG9ubHkoKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvdGFibGU+XHJcbiA8bWF0LXBhZ2luYXRvciBjbGFzcz1cImN1c3RvbS1wYWdpbmF0b3JcIlxyXG4gICAgICBbbGVuZ3RoXT1cImZpZWxkKCk/LnRhYmxlRGF0YT8udGREYXRhPy5sZW5ndGhcIlxyXG4gICAgICBbcGFnZVNpemVdPVwicGFnaW5hdGlvblNpemVcIlxyXG4gICAgICBbcGFnZVNpemVPcHRpb25zXT1cIls1LCAxMCwgMjUsIDEwMF1cIlxyXG4gICAgICAocGFnZSk9XCJwYWdlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgYXJpYS1sYWJlbD1cIlNlbGVjdCBwYWdlXCI+XHJcbiAgICA8L21hdC1wYWdpbmF0b3I+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInNob3dBY3Rpb25zUG9wdXBcIiBjbGFzcz1cImFjdGlvbnMtcG9wdXAtYmFja2Ryb3BcIiAoY2xpY2spPVwiY2xvc2VBY3Rpb25zUG9wdXAoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhY3Rpb25zLXBvcHVwLW1lbnVcIiBbbmdTdHlsZV09XCJ7J3RvcC5weCc6IHBvcHVwUG9zaXRpb24udG9wLCAnbGVmdC5weCc6IHBvcHVwUG9zaXRpb24ubGVmdH1cIlxyXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1ha2VBcnJvd1wiIFtuZ1N0eWxlXT1cInsnbGVmdC5weCc6IHBvcHVwUG9zaXRpb24ubGVmdCsyNX1cIj48L2Rpdj5cclxuICAgIDx1bD5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBhY3Rpb25EYXRhIG9mIGZpZWxkKCkudGFibGVEYXRhPy51c2VyU2VsZWN0ZWRPcHRpb25zW3NlbGVjdGVkUm93XVwiIFttYXRUb29sdGlwXT1cImFjdGlvbkRhdGE/LmRpc3BsYXlUaXRsZVwiXHJcbiAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj5cclxuICAgICAgICA8bWF0LWljb24+e3thY3Rpb25EYXRhPy5tYXRJY29uTmFtZX19PC9tYXQtaWNvbj5cclxuICAgICAgICB7e2FjdGlvbkRhdGE/LmRpc3BsYXlUaXRsZX19XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFhLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFRNUUsTUFBTSxPQUFPLGNBQWM7SUFXTjtJQVZuQixLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ25DLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLGFBQWEsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3BDLFdBQVcsR0FBUSxDQUFDLENBQUM7SUFDckIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEIsY0FBYyxHQUFRLEVBQUUsQ0FBQztJQUN6QixVQUFVLEdBQVEsQ0FBQyxDQUFDO0lBQ3BCLFFBQVEsR0FBUSxFQUFF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RSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQzt5RkFjNUYsaUJBQWlCO3NCQUExQixNQUFNO2dCQStEUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSwgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBNYXRQYWdpbmF0b3JNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XHJcbiAgZmllbGQ6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcclxuICByZWFkb25seSA9IGlucHV0KGZhbHNlKTtcclxuICBzaG93QWN0aW9uc1BvcHVwID0gZmFsc2U7XHJcbiAgcG9wdXBQb3NpdGlvbiA9IHsgdG9wOiAwLCBsZWZ0OiAwIH07XHJcbiAgc2VsZWN0ZWRSb3c6IGFueSA9IDA7XHJcbiAgaGlnaGxpZ2h0ZWRJbmRleCA9IC0xO1xyXG4gIHBhZ2luYXRpb25TaXplOiBhbnkgPSAxMDtcclxuICBwYWdlTnVtYmVyOiBhbnkgPSAwO1xyXG4gIHBhZ2VTaXplOiBhbnkgPSAxMDtcclxuICBAT3V0cHV0KCkgYWN0aW9uSXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyQ29udHJvbFNlcnZpY2U6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENvbHVtbnMoKTtcclxuICB9XHJcbiAgdHJhY2tCeUluZGV4KGluZGV4OiBhbnksIGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1ucygpIHtcclxuICAgIGxldCBjaGVja0NvbmZpZ0RhdGEgPSB0aGlzLmZpZWxkKCkuY29uZmlnRGF0YTtcclxuICAgIGlmIChPYmplY3Qua2V5cyhjaGVja0NvbmZpZ0RhdGEpLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5jb25maWdEYXRhLnRhYmxlID0gY2hlY2tDb25maWdEYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5yb3dsZW5ndGggPiAwICYmIHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5jb2x1bW5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZmllbGQoKS50YWJsZURhdGEgPSB0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGU7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5jb25maWdEYXRhLnRhYmxlLmNvbHVtbmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGNoZWNrQ29uZmlnRGF0YSkubGVuZ3RoIDw9IDApIHtcclxuICAgICAgICAgIGxldCBoZWFkZXJPYmogPSB7XHJcbiAgICAgICAgICAgIFwiY29sdW1uTmFtZVwiOiBgJHsnTmFtZSAtICcgKyBpfWAsXHJcbiAgICAgICAgICAgIFwiaXNTb3J0aW5nTmVlZGVkXCI6IFwiWVwiLFxyXG4gICAgICAgICAgICBcInRvb2xUaXBcIjogYCR7J3Rvb2x0aXAgLSAnICsgaX1gXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCBleGlzdHMgPSB0aGlzLmZpZWxkKCkudGFibGVEYXRhLnRhYmxlSGVhZGVycy5zb21lKFxyXG4gICAgICAgICAgICAoaGVhZGVyOiBhbnkpID0+IGhlYWRlci5jb2x1bW5OYW1lID09PSBoZWFkZXJPYmouY29sdW1uTmFtZVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGlmICghZXhpc3RzICYmIHRoaXMuZmllbGQoKS50YWJsZURhdGEudGFibGVIZWFkZXJzLmxlbmd0aCA8IHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5jb2x1bW5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5maWVsZCgpLnRhYmxlRGF0YS50YWJsZUhlYWRlcnMucHVzaChoZWFkZXJPYmopO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpZWxkKCkudGFibGVEYXRhLnRkRGF0YSA9IEFycmF5KHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5yb3dsZW5ndGgpLmZpbGwobnVsbCkubWFwKChfLCByb3dJZHgpID0+XHJcbiAgICAgICAgQXJyYXkodGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5jb25maWdEYXRhLnRhYmxlLmNvbHVtbmxlbmd0aCkuZmlsbCgnJykubWFwKChfLCBjb2xJZHgpID0+IGBEdW1teSBSb3cgJHtyb3dJZHggKyAxfWApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLnNhdmVUYWJsZUZpZWxkU3RhdGUodGhpcy5maWVsZCgpKTtcclxuICAgICAgdGhpcy5maWVsZCgpLmNvbmZpZ0RhdGEgPSB0aGlzLmZpZWxkKCkudGFibGVEYXRhXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuQWN0aW9uc1BvcHVwKGV2ZW50OiBNb3VzZUV2ZW50LCByb3dJbmRleDogbnVtYmVyKSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRSb3cgPSByb3dJbmRleDtcclxuICAgIHRoaXMuc2hvd0FjdGlvbnNQb3B1cCA9IHRydWU7XHJcbiAgICB0aGlzLmhpZ2hsaWdodGVkSW5kZXggPSAxO1xyXG4gICAgY29uc3QgcmVjdCA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgdGhpcy5wb3B1cFBvc2l0aW9uID0ge1xyXG4gICAgICB0b3A6IHJlY3QuYm90dG9tICsgd2luZG93LnNjcm9sbFkgLSAzMCxcclxuICAgICAgbGVmdDogcmVjdC5sZWZ0ICsgd2luZG93LnNjcm9sbFggLSAyODAsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY2xvc2VBY3Rpb25zUG9wdXAoKSB7XHJcbiAgICB0aGlzLnNob3dBY3Rpb25zUG9wdXAgPSBmYWxzZTtcclxuICAgIHRoaXMuZmllbGQoKS50YWJsZURhdGEudXNlclNlbGVjdGVkT3B0aW9uc1t0aGlzLnNlbGVjdGVkUm93XS5mb3JFYWNoKChjaGVja0ljb246IGFueSkgPT4ge1xyXG4gICAgICBjaGVja0ljb24uaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93ID0gMDtcclxuICAgIHRoaXMuaGlnaGxpZ2h0ZWRJbmRleCA9IC0xO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxyXG4gIG9uRXNjS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLmNsb3NlQWN0aW9uc1BvcHVwKCk7XHJcbiAgfVxyXG5cclxuICBwYWdlQ2hhbmdlZChldmVudDogUGFnZUV2ZW50KSB7XHJcbiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBldmVudC5wYWdlSW5kZXg7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gZXZlbnQucGFnZVNpemU7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLnBhZ2VOdW1iZXIsIHRoaXMucGFnZVNpemUpO1xyXG4gIH1cclxuXHJcbiAgYWN0aW9uQ2xpY2tlZChhY3Rpb25TZWxlY3RlZDogYW55LCBhY3Rpb25JbmRleDogYW55KSB7XHJcbiAgICB0aGlzLmZpZWxkKCk/LnRhYmxlRGF0YT8udXNlclNlbGVjdGVkT3B0aW9uc1t0aGlzLnNlbGVjdGVkUm93XT8uZm9yRWFjaCgoY2hlY2tJY29uOiBhbnksIHNlbGVjdGVkSW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoY2hlY2tJY29uLm1hdEljb25OYW1lID09PSBhY3Rpb25TZWxlY3RlZC5tYXRJY29uTmFtZSAmJiBhY3Rpb25JbmRleCA9PT0gc2VsZWN0ZWRJbmRleCkge1xyXG4gICAgICAgIGNoZWNrSWNvbi5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBsZXQgZW1pdE9CSiA9IHtcclxuICAgICAgdXNlclNlbGVjdGVkT3B0aW9ucyA6IHRoaXMuZmllbGQoKT8udGFibGVEYXRhPy51c2VyU2VsZWN0ZWRPcHRpb25zLFxyXG4gICAgICBzZWxlY3RlZFJvd0luZGV4OiB0aGlzLnNlbGVjdGVkUm93LFxyXG4gICAgICBzZWxlY3RlZEFjdGlvbnNJbmRleDogYWN0aW9uSW5kZXgsXHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGlvbkl0ZW1DbGlja2VkLmVtaXQoZW1pdE9CSik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzdHlsZWQtdGFibGUtY29udGFpbmVyXCI+XHJcbiAgPHRhYmxlICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5jb2x1bW5sZW5ndGggJiYgZmllbGQoKT8udGFibGVEYXRhPy5yb3dsZW5ndGhcIiBjbGFzcz1cInN0eWxlZC10YWJsZVwiPlxyXG4gICAgPHRoZWFkPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93Q2hlY2tCb3hcIj48L3RoPlxyXG4gICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGZpZWxkKCkudGFibGVEYXRhPy50YWJsZUhlYWRlcnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZWFkb25seSgpOyBlbHNlIGhlYWRlclRleHRcIj57e2hlYWRlci5jb2x1bW5OYW1lfX1cclxuICAgICAgICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cImhlYWRlci5jb2x1bW5OYW1lXCIgKG5nTW9kZWxDaGFuZ2UpPVwicmVuYW1lSGVhZGVyKGksICRldmVudClcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHkoKVwiIGNsYXNzPVwiY3VzdG9tX2lucHV0XCIgW21hdFRvb2x0aXBdPVwiaGVhZGVyLnRvb2xUaXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPiAtLT5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZXh0Pnt7IGhlYWRlcj8uY29sdW1uTmFtZSB9fTwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgICA8dGggKm5nSWY9XCJmaWVsZCgpPy50YWJsZURhdGE/LnNob3dBY3Rpb25zXCI+QWN0aW9uPC90aD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGhlYWQ+XHJcbiAgICA8dGJvZHk+XHJcbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIGZpZWxkKCk/LnRhYmxlRGF0YT8udGREYXRhO2xldCByb3dJbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgPHRkICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93Q2hlY2tCb3hcIj48aW5wdXQgdHlwZT1cImNoZWNrYm94XCI+PC90ZD5cclxuICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNlbGwgb2Ygcm93XCI+e3sgY2VsbCB9fTwvdGQ+XHJcbiAgICAgICAgPHRkICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93QWN0aW9uc1wiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idG5cIiAoY2xpY2spPVwib3BlbkFjdGlvbnNQb3B1cCgkZXZlbnQsIHJvd0luZGV4KVwiIFtkaXNhYmxlZF09XCJyZWFkb25seSgpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGJvZHk+XHJcbiAgPC90YWJsZT5cclxuICA8bWF0LXBhZ2luYXRvciBjbGFzcz1cImN1c3RvbS1wYWdpbmF0b3JcIiBbbGVuZ3RoXT1cImZpZWxkKCk/LnRhYmxlRGF0YT8udGREYXRhPy5sZW5ndGhcIiBbcGFnZVNpemVdPVwicGFnaW5hdGlvblNpemVcIlxyXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDI1LCAxMDBdXCIgKHBhZ2UpPVwicGFnZUNoYW5nZWQoJGV2ZW50KVwiIGFyaWEtbGFiZWw9XCJTZWxlY3QgcGFnZVwiPlxyXG4gIDwvbWF0LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwic2hvd0FjdGlvbnNQb3B1cFwiIGNsYXNzPVwiYWN0aW9ucy1wb3B1cC1iYWNrZHJvcFwiIChjbGljayk9XCJjbG9zZUFjdGlvbnNQb3B1cCgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFjdGlvbnMtcG9wdXAtbWVudVwiIFtuZ1N0eWxlXT1cInsndG9wLnB4JzogcG9wdXBQb3NpdGlvbi50b3AsICdsZWZ0LnB4JzogcG9wdXBQb3NpdGlvbi5sZWZ0fVwiXHJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWFrZUFycm93XCIgW25nU3R5bGVdPVwieydsZWZ0LnB4JzogcG9wdXBQb3NpdGlvbi5sZWZ0KzI1fVwiPjwvZGl2PlxyXG4gICAgPHVsPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGFjdGlvbkRhdGEgb2YgZmllbGQoKS50YWJsZURhdGE/LnVzZXJTZWxlY3RlZE9wdGlvbnNbc2VsZWN0ZWRSb3ddO2xldCBhY3Rpb25JbmRleCA9IGluZGV4XCJcclxuICAgICAgICBbbWF0VG9vbHRpcF09XCJhY3Rpb25EYXRhPy5kaXNwbGF5VGl0bGVcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrZWQoYWN0aW9uRGF0YSxhY3Rpb25JbmRleClcIj5cclxuICAgICAgICA8bWF0LWljb24+e3thY3Rpb25EYXRhPy5tYXRJY29uTmFtZX19PC9tYXQtaWNvbj5cclxuICAgICAgICB7e2FjdGlvbkRhdGE/LmRpc3BsYXlUaXRsZX19XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=