@colijnit/sharedcomponents 255.1.22 → 255.1.24
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.
- package/3rdpartylicenses.txt +1405 -0
- package/bundles/colijnit-sharedcomponents.umd.js +237 -30
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/activity-list/activity-list.component.js +11 -3
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +9 -3
- package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +2 -2
- package/esm2015/lib/components/files-upload/files-upload.component.js +1 -1
- package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +9 -2
- package/esm2015/lib/components/preferred-planning/preferred-planning.component.js +210 -0
- package/esm2015/lib/components/preferred-planning/preferred-planning.module.js +25 -0
- package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +9 -13
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +4 -5
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +4 -3
- package/esm2015/lib/components/tab-bar/tab-bar.component.js +11 -4
- package/esm2015/lib/components/task-creator/task-creator.component.js +69 -62
- package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
- package/esm2015/lib/service/stock.service.js +2 -3
- package/esm2015/public-api.js +3 -1
- package/favicon.ico +0 -0
- package/fesm2015/colijnit-sharedcomponents.js +337 -85
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/index.html +12 -0
- package/lib/components/activity-list/activity-list.component.d.ts +10 -1
- package/lib/components/open-activity-list/component-activity-list.component.d.ts +10 -1
- package/lib/components/open-activity-list/style/_layout.scss +3 -1
- package/lib/components/preferred-planning/preferred-planning.component.d.ts +34 -0
- package/lib/components/preferred-planning/preferred-planning.module.d.ts +2 -0
- package/lib/components/preferred-planning/style/_layout.scss +74 -0
- package/lib/components/preferred-planning/style/_material-definition.scss +0 -0
- package/lib/components/preferred-planning/style/_theme.scss +5 -0
- package/lib/components/preferred-planning/style/material.scss +5 -0
- package/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.d.ts +4 -6
- package/lib/components/tab-bar/tab-bar.component.d.ts +4 -1
- package/lib/components/task-creator/style/_layout.scss +3 -1
- package/lib/components/task-creator/task-creator.component.d.ts +10 -2
- package/lib/service/stock.service.d.ts +0 -2
- package/lib/style/sharedcomponents-globals.scss +4 -0
- package/main.fbdbe938084ad6fbf240.js +1 -0
- package/package.json +1 -1
- package/polyfills.907fe9d1887c5de17993.js +1 -0
- package/public-api.d.ts +2 -0
- package/runtime.8aac21847ed3d3829cca.js +1 -0
- package/styles.49bd98bd336b5413992f.css +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { Component, forwardRef, HostBinding, Input, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { Icon } from "../../enum/icon.enum";
|
|
4
4
|
import { RelationKind } from "@colijnit/articleapi/build/enum/relation-kind.enum";
|
|
5
5
|
import { ActivityType } from "@colijnit/mainapi/build/enum/activity-type";
|
|
@@ -7,6 +7,7 @@ import { IconCacheService } from "../../service/icon-cache.service";
|
|
|
7
7
|
import { ALL_MONTHS } from "../../model/constant/all-months";
|
|
8
8
|
import { TimeUtils } from "@colijnit/mainapi/build/utils/time-utils";
|
|
9
9
|
import { SharedComponentsDictionaryService } from '../../translation/shared-components-dictionary.service';
|
|
10
|
+
import { SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME } from "@colijnit/corecomponents_v12";
|
|
10
11
|
export class ActivityListComponent {
|
|
11
12
|
constructor(iconCacheService, _dictionaryService) {
|
|
12
13
|
this.iconCacheService = iconCacheService;
|
|
@@ -150,6 +151,12 @@ ActivityListComponent.decorators = [
|
|
|
150
151
|
</co-files-upload>
|
|
151
152
|
</co-dialog>
|
|
152
153
|
`,
|
|
154
|
+
providers: [
|
|
155
|
+
{
|
|
156
|
+
provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
|
|
157
|
+
useExisting: forwardRef(() => ActivityListComponent)
|
|
158
|
+
}
|
|
159
|
+
],
|
|
153
160
|
encapsulation: ViewEncapsulation.None
|
|
154
161
|
},] }
|
|
155
162
|
];
|
|
@@ -163,6 +170,7 @@ ActivityListComponent.propDecorators = {
|
|
|
163
170
|
remarkIcon: [{ type: Input }],
|
|
164
171
|
workIcon: [{ type: Input }],
|
|
165
172
|
statusIcon: [{ type: Input }],
|
|
166
|
-
taskIcon: [{ type: Input }]
|
|
173
|
+
taskIcon: [{ type: Input }],
|
|
174
|
+
hidden: [{ type: HostBinding, args: ['class.co-shared-hidden',] }]
|
|
167
175
|
};
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0L2FjdGl2aXR5LWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRUwsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFaEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFHbkUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUE2Q3pHLE1BQU0sT0FBTyxxQkFBcUI7SUF3Q2hDLFlBQW1CLGdCQUFrQyxFQUNqQyxrQkFBcUQ7UUFEdEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1DO1FBeEN6RCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQW9CL0IsZUFBVSxHQUFTLElBQUksQ0FBQyxjQUFjLENBQUM7UUFHdkMsYUFBUSxHQUFTLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUczQyxlQUFVLEdB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QUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUNqQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQWtCO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDckQsQ0FBQzs7O1lBdktGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFqRE8sZ0JBQWdCO1lBS2hCLGlDQUFpQzs7O3dCQW1EdEMsV0FBVyxTQUFDLHdCQUF3Qjt5QkFLcEMsS0FBSzt5QkFZTCxLQUFLO3VCQUdMLEtBQUs7eUJBR0wsS0FBSzt1QkFHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS10eXBlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QUxMX01PTlRIU30gZnJvbSBcIi4uLy4uL21vZGVsL2NvbnN0YW50L2FsbC1tb250aHNcIjtcclxuaW1wb3J0IHtUaW1lVXRpbHN9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy90aW1lLXV0aWxzXCI7XHJcbmltcG9ydCB7UmVsYXRpb25TbWFsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWFjdGl2aXR5LWxpc3RcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxpc3Qtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktd3JhcHBlclwiIFtjbGFzcy5jdXN0b21lci1yZXBseS13cmFwcGVyXT1cIihnZXRSZWxhdGlvbktpbmQoYWN0aXZpdHkuYXV0aG9yKSA9PT0gUmVsYXRpb25LaW5kLkN1c3RvbWVyKVwiICpuZ0Zvcj1cImxldCBhY3Rpdml0eSBvZiBhY3Rpdml0aWVzXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktZGlzcGxheS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57e2FjdGl2aXR5LmF1dGhvciAmJiAoYWN0aXZpdHkuYXV0aG9yLmluaXRpYWxzIHx8IGFjdGl2aXR5LmF1dGhvci5mYW1pbHlOYW1lKSA/IChhY3Rpdml0eS5hdXRob3IuaW5pdGlhbHMgfHwgJycpICsgJyAnICsgKGFjdGl2aXR5LmF1dGhvci5mYW1pbHlOYW1lIHx8ICcnKSA6ICcnfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7Z2V0RGF0ZVN0cmluZyhhY3Rpdml0eS5sYXN0QWN0aW9uRGF0ZVRpbWUpfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5KSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5LWNvbnRlbnRcIiBbY2xhc3MuY3VzdG9tZXItcmVwbHktY29udGVudF09XCIoZ2V0UmVsYXRpb25LaW5kKGFjdGl2aXR5LmF1dGhvcikgPT09IFJlbGF0aW9uS2luZC5DdXN0b21lcilcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktYm9keVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aXZpdHkuYWN0aXZpdHlUeXBlICE9PSBBY3Rpdml0eVR5cGUuU3RhdGVDaGFuZ2VcIj57e2FjdGl2aXR5LnN1YkRlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZVwiPnt7YWN0aXZpdHkuYWN0aXZpdHlUaXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktZm9vdGVyXCIgW2NsYXNzLmV4dHJhLWhlaWdodF09XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpIHx8IHNob3dBdHRhY2htZW50cyhhY3Rpdml0eSkgfHwgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJzXCIgKm5nSWY9XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpXCIgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJcIiAqbmdGb3I9XCJsZXQgdHJpZ2dlck5hbWUgb2YgYWN0aXZpdHkuc3RhdGVDaGFuZ2U/LmZpcmVkVHJpZ2dlck5hbWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7dHJpZ2dlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWluZGljYXRvcnNcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5KVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQWN0aXZpdHlQb3B1cChhY3Rpdml0eSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHkpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihJY29uLkVtYWlsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dBdHRhY2htZW50cyhhY3Rpdml0eSlcIj57e2FjdGl2aXR5LmRvY3VtZW50cy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5DbG9ja1JlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93V29ya2VkVGltZShhY3Rpdml0eSlcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAge3tUaW1lVXRpbHMuQ29udmVydFRvRHVyYXRpb24oZ2V0V29ya2VkVGltZShhY3Rpdml0eSkpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0FjdGl2aXR5UG9wdXBcIiAoY2xvc2VDbGljayk9XCJzaG93QWN0aXZpdHlQb3B1cCA9IGZhbHNlXCI+XHJcbiAgICAgIDxjby1maWxlcy11cGxvYWQgW2NhbkFkZF09XCJmYWxzZVwiICBbZG9jdW1lbnRzXT1cImN1cnJlbnRBY3Rpdml0eURvY3VtZW50c1wiPlxyXG4gICAgICA8L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IFJlbGF0aW9uS2luZCA9IFJlbGF0aW9uS2luZDtcclxuICBwdWJsaWMgcmVhZG9ubHkgQWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlO1xyXG4gIHB1YmxpYyByZWFkb25seSBUaW1lVXRpbHMgPSBUaW1lVXRpbHM7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWFjdGl2aXR5LWxpc3RcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYWN0aXZpdGllcyh2YWx1ZTogQWN0aXZpdHlbXSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdmFsdWUuc29ydCgoYTogQWN0aXZpdHksIGI6IEFjdGl2aXR5KSA9PiBhLmxhc3RBY3Rpb25EYXRlVGltZSA8IGIubGFzdEFjdGlvbkRhdGVUaW1lID8gMTogLTEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYWN0aXZpdGllcyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBhY3Rpdml0aWVzKCk6IEFjdGl2aXR5W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2aXRpZXM7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZW1hcmtJY29uOiBJY29uID0gSWNvbi5Db21tZW50UmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd29ya0ljb246IEljb24gPSBJY29uLlBlcnNvbkRpZ2dpbmdSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdGF0dXNJY29uOiBJY29uID0gSWNvbi5EaWFncmFtUHJvamVjdFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRhc2tJY29uOiBJY29uID0gSWNvbi5UYXNrO1xyXG5cclxuICBwdWJsaWMgc2hvd0FjdGl2aXR5UG9wdXA6IEJvb2xlYW47XHJcbiAgcHVibGljIGN1cnJlbnRBY3Rpdml0eURvY3VtZW50czogQ29Eb2N1bWVudFtdO1xyXG5cclxuICBwcml2YXRlIF9hY3Rpdml0aWVzOiBBY3Rpdml0eVtdXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSZWxhdGlvbktpbmQoYXV0aG9yOiBSZWxhdGlvblNtYWxsT2JqZWN0KTogUmVsYXRpb25LaW5kIHtcclxuICAgIGlmIChhdXRob3IpIHtcclxuICAgICAgcmV0dXJuIGF1dGhvci5yZWxhdGlvblR5cGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERhdGVTdHJpbmcoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KEFMTF9NT05USFNbZGF0ZS5nZXRNb250aCgpXSk7XHJcbiAgICBjb25zdCBob3VycyA9IGRhdGUuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCBtaW51dGVzID0gZGF0ZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgcmV0dXJuIGAke2RheX0gJHttb250aH0gJHtob3Vyc306JHttaW51dGVzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5OiBBY3Rpdml0eSk6IEljb24ge1xyXG4gICAgc3dpdGNoIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUpIHtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuUmVtYXJrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbWFya0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLldvcmtmbG93U3RhdHVzOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1Rhc2s6XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLkZvcm06XHJcbiAgICAgICAgcmV0dXJuIHRoaXMud29ya0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlN0YXRlQ2hhbmdlOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1c0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlRhc2s6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ljb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1RyaWdnZXJzKGFjdGl2aXR5OiBBY3Rpdml0eSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9PT0gQWN0aXZpdHlUeXBlLlN0YXRlQ2hhbmdlICYmIGFjdGl2aXR5LnN0YXRlQ2hhbmdlLmZpcmVkVHJpZ2dlck5hbWVzICYmXHJcbiAgICAgICAgICAgICAgICAgIGFjdGl2aXR5LnN0YXRlQ2hhbmdlLmZpcmVkVHJpZ2dlck5hbWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93QXR0YWNobWVudHMoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYWN0aXZpdHkuZG9jdW1lbnRzICYmIGFjdGl2aXR5LmRvY3VtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0VtYWlsSGlzdG9yeShhY3Rpdml0eTogQWN0aXZpdHkpOiBib29sZWFuIHtcclxuICAgIGlmICgoYWN0aXZpdHkucmVtYXJrICYmIGFjdGl2aXR5LnJlbWFyay5lbWFpbEhpc3RvcnkgJiYgYWN0aXZpdHkucmVtYXJrLmVtYWlsSGlzdG9yeS5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgIChhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5LndvcmsuZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LndvcmsuZW1haWxIaXN0b3J5Lmxlbmd0aCA+IDApIHx8XHJcbiAgICAgICAgKGFjdGl2aXR5LnRhc2sgJiYgYWN0aXZpdHkudGFzay5lbWFpbEhpc3RvcnkgJiYgYWN0aXZpdHkudGFzay5lbWFpbEhpc3RvcnkubGVuZ3RoID4gMCkpIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93V29ya2VkVGltZShhY3Rpdml0eTogQWN0aXZpdHkpOiBib29sZWFuIHtcclxuICAgIGlmICgoYWN0aXZpdHkuSXNXb3JrICYmIGFjdGl2aXR5LndvcmsgJiYgYWN0aXZpdHkud29yay53b3JrZWRUaW1lKSB8fFxyXG4gICAgICAoYWN0aXZpdHkuSXNUYXNrICYmIGFjdGl2aXR5LnRhc2sgJiYgYWN0aXZpdHkudGFzay53b3JrZWRUaW1lKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRXb3JrZWRUaW1lKGFjdGl2aXR5OiBBY3Rpdml0eSk6IG51bWJlciB7XHJcbiAgICBpZiAoYWN0aXZpdHkuSXNXb3JrICYmIGFjdGl2aXR5LndvcmsgJiYgYWN0aXZpdHkud29yay53b3JrZWRUaW1lKSB7XHJcbiAgICAgIHJldHVybiBhY3Rpdml0eS53b3JrLndvcmtlZFRpbWU7XHJcbiAgICB9IGVsc2UgaWYgKGFjdGl2aXR5LklzVGFzayAmJiBhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZSkge1xyXG4gICAgICByZXR1cm4gYWN0aXZpdHkudGFzay53b3JrZWRUaW1lO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkFjdGl2aXR5UG9wdXAoYWN0aXZpdHk6IEFjdGl2aXR5KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBY3Rpdml0eVBvcHVwID0gdHJ1ZTtcclxuICAgIHRoaXMuY3VycmVudEFjdGl2aXR5RG9jdW1lbnRzID0gYWN0aXZpdHkuZG9jdW1lbnRzO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0L2FjdGl2aXR5LWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFVBQVUsRUFDckIsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVoRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUduRSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN6RyxPQUFPLEVBQ0wsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFtRHRDLE1BQU0sT0FBTyxxQkFBcUI7SUFrRGhDLFlBQW1CLGdCQUFrQyxFQUNqQyxrQkFBcUQ7UUFEdEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1DO1FBbER6RCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQW9CL0IsZUFBVSxHQUFTLElBQUksQ0FBQyxjQUFj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SUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZFLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDakM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxRQUFrQjtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQ3JELENBQUM7OztZQXZMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztxQkFDckQ7aUJBQ0Y7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTNETyxnQkFBZ0I7WUFLaEIsaUNBQWlDOzs7d0JBNkR0QyxXQUFXLFNBQUMsd0JBQXdCO3lCQUtwQyxLQUFLO3lCQVlMLEtBQUs7dUJBR0wsS0FBSzt5QkFHTCxLQUFLO3VCQUdMLEtBQUs7cUJBSUwsV0FBVyxTQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LCBmb3J3YXJkUmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtXCI7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ib1wiO1xyXG5pbXBvcnQge0FjdGl2aXR5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vYWN0aXZpdHktdHlwZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FMTF9NT05USFN9IGZyb20gXCIuLi8uLi9tb2RlbC9jb25zdGFudC9hbGwtbW9udGhzXCI7XHJcbmltcG9ydCB7VGltZVV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvdXRpbHMvdGltZS11dGlsc1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1zbWFsbC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICBTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWFjdGl2aXR5LWxpc3RcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxpc3Qtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktd3JhcHBlclwiIFtjbGFzcy5jdXN0b21lci1yZXBseS13cmFwcGVyXT1cIihnZXRSZWxhdGlvbktpbmQoYWN0aXZpdHkuYXV0aG9yKSA9PT0gUmVsYXRpb25LaW5kLkN1c3RvbWVyKVwiICpuZ0Zvcj1cImxldCBhY3Rpdml0eSBvZiBhY3Rpdml0aWVzXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktZGlzcGxheS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57e2FjdGl2aXR5LmF1dGhvciAmJiAoYWN0aXZpdHkuYXV0aG9yLmluaXRpYWxzIHx8IGFjdGl2aXR5LmF1dGhvci5mYW1pbHlOYW1lKSA/IChhY3Rpdml0eS5hdXRob3IuaW5pdGlhbHMgfHwgJycpICsgJyAnICsgKGFjdGl2aXR5LmF1dGhvci5mYW1pbHlOYW1lIHx8ICcnKSA6ICcnfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7Z2V0RGF0ZVN0cmluZyhhY3Rpdml0eS5sYXN0QWN0aW9uRGF0ZVRpbWUpfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5KSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5LWNvbnRlbnRcIiBbY2xhc3MuY3VzdG9tZXItcmVwbHktY29udGVudF09XCIoZ2V0UmVsYXRpb25LaW5kKGFjdGl2aXR5LmF1dGhvcikgPT09IFJlbGF0aW9uS2luZC5DdXN0b21lcilcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktYm9keVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aXZpdHkuYWN0aXZpdHlUeXBlICE9PSBBY3Rpdml0eVR5cGUuU3RhdGVDaGFuZ2VcIj57e2FjdGl2aXR5LnN1YkRlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZVwiPnt7YWN0aXZpdHkuYWN0aXZpdHlUaXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktZm9vdGVyXCIgW2NsYXNzLmV4dHJhLWhlaWdodF09XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpIHx8IHNob3dBdHRhY2htZW50cyhhY3Rpdml0eSkgfHwgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJzXCIgKm5nSWY9XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpXCIgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJcIiAqbmdGb3I9XCJsZXQgdHJpZ2dlck5hbWUgb2YgYWN0aXZpdHkuc3RhdGVDaGFuZ2U/LmZpcmVkVHJpZ2dlck5hbWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7dHJpZ2dlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWluZGljYXRvcnNcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5KVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQWN0aXZpdHlQb3B1cChhY3Rpdml0eSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHkpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihJY29uLkVtYWlsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dBdHRhY2htZW50cyhhY3Rpdml0eSlcIj57e2FjdGl2aXR5LmRvY3VtZW50cy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5DbG9ja1JlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93V29ya2VkVGltZShhY3Rpdml0eSlcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAge3tUaW1lVXRpbHMuQ29udmVydFRvRHVyYXRpb24oZ2V0V29ya2VkVGltZShhY3Rpdml0eSkpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0FjdGl2aXR5UG9wdXBcIiAoY2xvc2VDbGljayk9XCJzaG93QWN0aXZpdHlQb3B1cCA9IGZhbHNlXCI+XHJcbiAgICAgIDxjby1maWxlcy11cGxvYWQgW2NhbkFkZF09XCJmYWxzZVwiICBbZG9jdW1lbnRzXT1cImN1cnJlbnRBY3Rpdml0eURvY3VtZW50c1wiPlxyXG4gICAgICA8L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFjdGl2aXR5TGlzdENvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgU2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgcHVibGljIHJlYWRvbmx5IEFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgVGltZVV0aWxzID0gVGltZVV0aWxzO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1hY3Rpdml0eS1saXN0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFjdGl2aXRpZXModmFsdWU6IEFjdGl2aXR5W10pIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhbHVlLnNvcnQoKGE6IEFjdGl2aXR5LCBiOiBBY3Rpdml0eSkgPT4gYS5sYXN0QWN0aW9uRGF0ZVRpbWUgPCBiLmxhc3RBY3Rpb25EYXRlVGltZSA/IDE6IC0xKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2FjdGl2aXRpZXMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZpdGllcygpOiBBY3Rpdml0eVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0aWVzO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVtYXJrSWNvbjogSWNvbiA9IEljb24uQ29tbWVudFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtJY29uOiBJY29uID0gSWNvbi5QZXJzb25EaWdnaW5nUmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdHVzSWNvbjogSWNvbiA9IEljb24uRGlhZ3JhbVByb2plY3RSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YXNrSWNvbjogSWNvbiA9IEljb24uVGFzaztcclxuXHJcbiAgcHVibGljIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNoYXJlZC1oaWRkZW4nKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcclxuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgcHVibGljIHJlZEVycm9yQmFja2dyb3VuZDogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIHNob3dBY3Rpdml0eVBvcHVwOiBCb29sZWFuO1xyXG4gIHB1YmxpYyBjdXJyZW50QWN0aXZpdHlEb2N1bWVudHM6IENvRG9jdW1lbnRbXTtcclxuXHJcbiAgcHJpdmF0ZSBfYWN0aXZpdGllczogQWN0aXZpdHlbXVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogU2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UmVsYXRpb25LaW5kKGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdCk6IFJlbGF0aW9uS2luZCB7XHJcbiAgICBpZiAoYXV0aG9yKSB7XHJcbiAgICAgIHJldHVybiBhdXRob3IucmVsYXRpb25UeXBlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREYXRlU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChBTExfTU9OVEhTW2RhdGUuZ2V0TW9udGgoKV0pO1xyXG4gICAgY29uc3QgaG91cnMgPSBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgY29uc3QgbWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIHJldHVybiBgJHtkYXl9ICR7bW9udGh9ICR7aG91cnN9OiR7bWludXRlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eTogQWN0aXZpdHkpOiBJY29uIHtcclxuICAgIHN3aXRjaCAoYWN0aXZpdHkuYWN0aXZpdHlUeXBlKSB7XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlJlbWFyazpcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1hcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1N0YXR1czpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29yazpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Gb3JtOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXNJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5UYXNrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJY29uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dUcmlnZ2VycyhhY3Rpdml0eTogQWN0aXZpdHkpOiBib29sZWFuIHtcclxuICAgIGlmIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZSAmJiBhY3Rpdml0eS5zdGF0ZUNoYW5nZS5maXJlZFRyaWdnZXJOYW1lcyAmJlxyXG4gICAgICAgICAgICAgICAgICBhY3Rpdml0eS5zdGF0ZUNoYW5nZS5maXJlZFRyaWdnZXJOYW1lcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5OiBBY3Rpdml0eSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGFjdGl2aXR5LmRvY3VtZW50cyAmJiBhY3Rpdml0eS5kb2N1bWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoKGFjdGl2aXR5LnJlbWFyayAmJiBhY3Rpdml0eS5yZW1hcmsuZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LnJlbWFyay5lbWFpbEhpc3RvcnkubGVuZ3RoID4gMCkgfHxcclxuICAgICAgICAoYWN0aXZpdHkud29yayAmJiBhY3Rpdml0eS53b3JrLmVtYWlsSGlzdG9yeSAmJiBhY3Rpdml0eS53b3JrLmVtYWlsSGlzdG9yeS5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgIChhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2suZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LnRhc2suZW1haWxIaXN0b3J5Lmxlbmd0aCA+IDApKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoKGFjdGl2aXR5LklzV29yayAmJiBhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZSkgfHxcclxuICAgICAgKGFjdGl2aXR5LklzVGFzayAmJiBhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZSkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0V29ya2VkVGltZShhY3Rpdml0eTogQWN0aXZpdHkpOiBudW1iZXIge1xyXG4gICAgaWYgKGFjdGl2aXR5LklzV29yayAmJiBhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZSkge1xyXG4gICAgICByZXR1cm4gYWN0aXZpdHkud29yay53b3JrZWRUaW1lO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpdml0eS5Jc1Rhc2sgJiYgYWN0aXZpdHkudGFzayAmJiBhY3Rpdml0eS50YXNrLndvcmtlZFRpbWUpIHtcclxuICAgICAgcmV0dXJuIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5BY3Rpdml0eVBvcHVwKGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93QWN0aXZpdHlQb3B1cCA9IHRydWU7XHJcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eURvY3VtZW50cyA9IGFjdGl2aXR5LmRvY3VtZW50cztcclxuICB9XHJcbn1cclxuIl19
|
package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Component, HostBinding, Input } from "@angular/core";
|
|
2
|
-
import { CoreDialogService } from "@colijnit/corecomponents_v12";
|
|
1
|
+
import { Component, forwardRef, HostBinding, Input } from "@angular/core";
|
|
2
|
+
import { CoreDialogService, FormMasterService, SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME } from "@colijnit/corecomponents_v12";
|
|
3
3
|
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
4
4
|
import { BaseActivityOverviewComponent } from "./components/base-activity-overview.component";
|
|
5
5
|
import { Icon } from "../../enum/icon.enum";
|
|
@@ -170,6 +170,12 @@ ComponentActivityOverviewComponent.decorators = [
|
|
|
170
170
|
animate("200ms ease-in-out")
|
|
171
171
|
])
|
|
172
172
|
])
|
|
173
|
+
], providers: [
|
|
174
|
+
FormMasterService,
|
|
175
|
+
{
|
|
176
|
+
provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
|
|
177
|
+
useExisting: forwardRef(() => ComponentActivityOverviewComponent)
|
|
178
|
+
}
|
|
173
179
|
]
|
|
174
180
|
},] }
|
|
175
181
|
];
|
|
@@ -186,4 +192,4 @@ ComponentActivityOverviewComponent.propDecorators = {
|
|
|
186
192
|
taskIcon: [{ type: Input }],
|
|
187
193
|
showClass: [{ type: HostBinding, args: ["class.co-component-activity-overview",] }]
|
|
188
194
|
};
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzVGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBcUl6RyxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsNkJBQTZCO0lBbUJuRixZQUFtQixnQkFBa0MsRUFDbEMsYUFBZ0MsRUFDaEMsaUJBQW9ELEVBQ2pELGFBQTRCO0lBQ3RDLHlCQUF5QjtRQUNuQyxLQUFLLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQSxVQUFVLENBQUMsQ0FBQztRQUxoRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1DO1FBQ2pELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBckJsQyxTQUFJLEdBQWdCLElBQUksQ0FBQztRQUdsQyxlQUFVLEdBQVMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUd2QyxhQUFRLEdBQVMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBRzNDLGVBQVUsR0FBUyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFHOUMsYUFBUSxHQUFTLElBQUksQ0FBQyxhQUFhLENBQUM7SUFZM0MsQ0FBQztJQVRNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFTTSxlQUFlLENBQUMsUUFBa0I7UUFDdkMsUUFBUSxRQUFRLENBQUMsWUFBWSxFQUFFO1lBQzdCLEtBQUssWUFBWSxDQUFDLE1BQU07Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN6QixLQUFLLFlBQVksQ0FBQyxjQUFjO2dCQUM5QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkIsS0FBSyxZQUFZLENBQUMsSUFBSTtnQkFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3ZCLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLLFlBQVksQ0FBQyxZQUFZLENBQUM7WUFDL0IsS0FBSyxZQUFZLENBQUMsV0FBVztnQkFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3pCLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN4QjtJQUNILENBQUM7OztZQTVLRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBZ0hUO2dCQUNELFVBQVUsRUFBRTtvQkFDUixPQUFPLENBQUMsV0FBVyxFQUFFO3dCQUNuQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNsQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUMvQixVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQzNELENBQUM7b0JBQ0YsT0FBTyxDQUFDLGtCQUFrQixFQUFFO3dCQUN4QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQzt3QkFDaEYsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7d0JBQzdFLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDekIsT0FBTyxDQUFDLG1CQUFtQixDQUFDO3lCQUMvQixDQUFDO3FCQUNMLENBQUM7aUJBQ0w7YUFDSjs7O1lBeElPLGdCQUFnQjtZQUpoQixpQkFBaUI7WUFRakIsaUNBQWlDO1lBSGpDLGFBQWE7Ozt5QkEySWxCLEtBQUs7dUJBR0wsS0FBSzt5QkFHTCxLQUFLO3VCQUdMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29yZURpYWxvZ1NlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge0Jhc2VBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2Jhc2UtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS10eXBlXCI7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3XCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktdGFzay13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXJcIiAqbmdJZj1cIiFpc1Rhc2tcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1jdXJyZW50XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWljb25zXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJ1c2VySXNTdXBlcnZpc29yICYmICghaXNUYXNrIHx8IGZpcnN0VHJpZ2dlclRvQ2xvc2VXRiA9PT0gdW5kZWZpbmVkKVwiIGljb249XCJzdXBlcnZpc29yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cGVydmlzb3ItaWNvbiBiaWcgZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidNWV9UQVNLU19TVVBFUlZJU09SJyB8IHNoYXJlZExvY2FsaXplXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItbGFiZWxzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidDVVJSRU5UX1NUQVRFJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJhY3Rpdml0eVRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPCEtLXNlZW1zIHVuZXNzZWNhcnkgZm9yIGN1cnJlbnQgdXNlY2FzZXMsIGJ1dCBsZWZ0IGluIGNhc2UgdGhpcyBuZWVkcyBhbiBpbnB1dCB0byBzd2l0Y2ggb24gb3Igb2ZmLS0+XHJcbiAgICAgICAgICAgICAgPCEtLTxkaXYgY2xhc3M9XCJhY3Rpdml0eS1jb250ZXh0LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5Q29udGV4dFRpdGxlXCI+PC9kaXY+LS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctbWFpblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtZGF0ZS1hY3Rpdml0eVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInTkVYVF9TVEFURScgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlci1kYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS13cmFwcGVyXCIgW2NsYXNzLm92ZXJkdWVdPVwib3ZlckR1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNhbWVEYXRlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cInRhcmdldERhdGUgfCBkYXRlOidkZC1NTS1ZWVlZJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWRpdmlkZXJcIiBbdGV4dENvbnRlbnRdPVwiJy0nXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiIFt0ZXh0Q29udGVudF09XCJkZWFkbGluZURhdGUgfCBkYXRlOidkZC1NTS1ZWVlZJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFjdGl2aXR5LXR5cGUtaWNvblwiW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihnZXRBY3Rpdml0eUljb24oYWN0aXZpdHkpKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tVE9ETyByZWluc3RhdGUgdGhpcyB3aGVuIHdlIGZpZ3VyZSBvdXQgaG93IHRvIHRyaWdnZXIgYSBzY3JlZW4gY2hhbmdlLiAtLT5cclxuICAgICAgICAgICAgICA8IS0tPG5nLWNvbnRhaW5lciAqbmdJZj1cInVybHMgJiYgdXJscy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b24tY29saWpuICpuZ0Zvcj1cImxldCB1cmwgb2YgdXJsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJhbnMtZ3JlZW4gY3VzdG9tLXRleHQgYnV0dG9uLXRyaWdnZXItaWNvbiBhY3Rpb24taG92ZXIgbm8tbWFyZ2luXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbi5EZXRhaWxWaWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidPUEVOX0xJTksnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT3BlbkxpbmsoJGV2ZW50LCB1cmwpXCI+PC9idXR0b24tY29saWpuPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPi0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUYXNrICYmIGhhc1RyaWdnZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gICAgIGNsYXNzPVwidHJhbnMtZ3JlZW4gY3VzdG9tLXRleHQgYWN0aW9uLWhvdmVyIGJ1dHRvbi10cmlnZ2VyIG5vLW1hcmdpblwiICpuZ0Zvcj1cImxldCB0cmlnZ2VyIG9mIHdvcmtGbG93Lm1hbnVhbEdlbmVyaWNUcmlnZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5idXR0b24tdHJpZ2dlci1pY29uXT1cInRyaWdnZXIuaXNUYXNrVHJpZ2dlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ0cmlnZ2VyLnRyaWdnZXJCdXR0b25OYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cInRyaWdnZXIuaXNUYXNrVHJpZ2dlciA/IGljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkFjY291bnQpOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwiY3VzdG9tIHNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUdlbmVyaWNUcmlnZ2VyQ2xpY2sodHJpZ2dlcilcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gICAgIGNsYXNzPVwidHJhbnMtZ3JlZW4gY3VzdG9tLXRleHQgYWN0aW9uLWhvdmVyIGJ1dHRvbi10cmlnZ2VyIG5vLW1hcmdpblwiICpuZ0Zvcj1cImxldCB0cmlnZ2VyIG9mIHdvcmtGbG93Lm1hbnVhbFRyaWdnZXJzV2l0aG91dFRhc2tUcmlnZ2Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWdoLXByaW9dPVwidHJpZ2dlci5vdmVyRHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ1dHRvbi10cmlnZ2VyLWljb25dPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInRyaWdnZXIudHJpZ2dlckJ1dHRvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyID8gaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uRGV0YWlsVmlldyk6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlVHJpZ2dlckNsaWNrKHRyaWdnZXIpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy10YXNrLXdyYXBwZXJcIiAqbmdJZj1cImlzVGFza1wiIChjbGljayk9XCJoYW5kbGVPcGVuTGluaygkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1ib3hcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhc2stY3VycmVudC1zdGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJhY3Rpdml0eVRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPCEtLXNlZW1zIHVuZXNzZWNhcnkgZm9yIGN1cnJlbnQgdXNlY2FzZXMsIGJ1dCBsZWZ0IGluIGNhc2UgdGhpcyBuZWVkcyBhbiBpbnB1dCB0byBzd2l0Y2ggb24gb3Igb2ZmLS0+XHJcbiAgICAgICAgICAgICAgPCEtLTxkaXYgY2xhc3M9XCJhY3Rpdml0eS1jb250ZXh0LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5Q29udGV4dFRpdGxlXCI+PC9kaXY+LS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlci1kYXRlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtd3JhcHBlclwiIFtjbGFzcy5vdmVyZHVlXT1cIm92ZXJEdWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2FtZURhdGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cInRhcmdldERhdGUgfCBkYXRlOidkZC1NTS1ZWVlZJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1kaXZpZGVyXCIgW3RleHRDb250ZW50XT1cIictJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiIFt0ZXh0Q29udGVudF09XCJkZWFkbGluZURhdGUgfCBkYXRlOidkZC1NTS1ZWVlZJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJhY3Rpdml0eS10eXBlLWljb25cIltpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5MaXN0VWxSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1Rhc2sgJiYgZmlyc3RUcmlnZ2VyVG9DbG9zZVdGICE9PSB1bmRlZmluZWRcIj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwidHJhbnMtZ3JlZW4gY3VzdG9tLXRleHQgYnV0dG9uLXRyaWdnZXIgbm8tbWFyZ2luXCIgW2xhYmVsXT1cImZpcnN0VHJpZ2dlclRvQ2xvc2VXRi5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uRW5kQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPCEtLW5nLWNvbnRhaW5lciAqbmdJZj1cIm9wZW5CdXR0b25MYWJlbFwiPlxyXG4gICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJ0cmFucy1ncmVlbiBkZWZhdWx0LWJnIGN1c3RvbS10ZXh0IGJ1dHRvbi10cmlnZ2VyLWljb24gYWN0aW9uLWhvdmVyIG5vLW1hcmdpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uRGV0YWlsVmlldylcIiBbbGFiZWxdPVwib3BlbkJ1dHRvbkxhYmVsIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9wZW5MaW5rKCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXItLT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLVRPRE8gcmVpbnN0YXRlIHRoaXMgd2hlbiB3ZSBmaWd1cmUgb3V0IGhvdyB0byB0cmlnZ2VyIGEgc2NyZWVuIGNoYW5nZS4gLS0+XHJcbiAgICAgICAgPCEtLSA8Zm9ybWJ1aWxkZXItdXNlci1mb3JtICpuZ0lmPVwic2hvd0NyZWF0ZUZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1BvcHVwXT1cInNob3dDcmVhdGVGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmxlXT1cInRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tleV09XCJrZXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbEZvcm0pPVwiZG9DYW5jZWxGb3JtKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZUZvcm0pPVwiZG9TYXZlRm9ybSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9mb3JtYnVpbGRlci11c2VyLWZvcm0+LS0+XHJcbiAgICAgICAgPGNvLXRhc2stbW9kaWZpZXJcclxuICAgICAgICAgICAgICAgIFt1c2VyR3JvdXBJZF09XCJ1c2VyR3JvdXBJZFwiXHJcbiAgICAgICAgICAgICAgICBbcmVsYXRpb25JZF09XCJ1c2VyUmVsYXRpb25JZFwiXHJcbiAgICAgICAgICAgICAgICAoZWRpdGluZ0NvbXBsZXRlKT1cIm9uU2F2ZUFjdGl2aXR5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGFjdGl2aXR5RGVsZXRlZCk9XCJvbkRlbGV0ZUFjdGl2aXR5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKHNob3dXb3JrTG9nKT1cInNob3dUYXNrRm9ybUFuZFdvcmtMb2coKVwiXHJcbiAgICAgICAgICAgICAgICAodHJpZ2dlckZpcmVkKT1cImhhbmRsZUZvcm1UcmlnZ2VyRmlyZWQoKVwiXHJcbiAgICAgICAgPjwvY28tdGFzay1tb2RpZmllcj5cclxuXHJcbiAgICBgLFxyXG4gICAgYW5pbWF0aW9uczogW1xyXG4gICAgICAgIHRyaWdnZXIoXCJmYWRlSW5PdXRcIiwgW1xyXG4gICAgICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtvcGFjaXR5OiAwfSkpLFxyXG4gICAgICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtvcGFjaXR5OiAxfSkpLFxyXG4gICAgICAgICAgdHJhbnNpdGlvbihcIjplbnRlciwgOmxlYXZlXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICAgICAgXSksXHJcbiAgICAgICAgdHJpZ2dlcihcInNob3dIaWRlRXh0ZW5kZWRcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe1widHJhbnNmb3JtLW9yaWdpblwiOiBcInRvcCBjZW50ZXJcIiwgdHJhbnNmb3JtOiBcInNjYWxlWSgwKVwifSkpLFxyXG4gICAgICAgICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe1widHJhbnNmb3JtLW9yaWdpblwiOiBcInRvcCBjZW50ZXJcIiwgdHJhbnNmb3JtOiBcInNjYWxlWSgxKVwifSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiOmVudGVyLCA6bGVhdmVcIiwgW1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpXHJcbiAgICAgICAgICAgIF0pXHJcbiAgICAgICAgXSlcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQgZXh0ZW5kcyBCYXNlQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb246IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVtYXJrSWNvbjogSWNvbiA9IEljb24uQ29tbWVudFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtJY29uOiBJY29uID0gSWNvbi5QZXJzb25EaWdnaW5nUmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdHVzSWNvbjogSWNvbiA9IEljb24uRGlhZ3JhbVByb2plY3RSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YXNrSWNvbjogSWNvbiA9IEljb24uTGlzdFVsUmVndWxhcjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGRpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICAgICAgICAgICAgICAvKnB1YmxpYyByb3V0ZXI6IFJvdXRlciovKSB7XHJcbiAgICBzdXBlcihkaWFsb2dTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgc2hhcmVkU2VydmljZS8qcm91dGVyKi8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eTogQWN0aXZpdHkpOiBJY29uIHtcclxuICAgIHN3aXRjaCAoYWN0aXZpdHkuYWN0aXZpdHlUeXBlKSB7XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlJlbWFyazpcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1hcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1N0YXR1czpcclxuICAgICAgICByZXR1cm4gdGhpcy53b3JrSWNvbjtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29yazpcclxuICAgICAgICByZXR1cm4gdGhpcy53b3JrSWNvbjtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuRm9ybTpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXNJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5UYXNrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJY29uO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsOENBQThDLEVBQy9DLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQTJJekcsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLDZCQUE2QjtJQW1CbkYsWUFBbUIsZ0JBQWtDLEVBQ2xDLGFBQWdDLEVBQ2hDLGlCQUFvRCxFQUNqRCxhQUE0QjtJQUN0Qyx5QkFBeUI7UUFDbkMsS0FBSyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLENBQUEsVUFBVSxDQUFD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cmRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBDb3JlRGlhbG9nU2VydmljZSxcclxuICBGb3JtTWFzdGVyU2VydmljZSxcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FXHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7QmFzZUFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYmFzZS1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXdcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS10YXNrLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlclwiICpuZ0lmPVwiIWlzVGFza1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWN1cnJlbnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXdyYXBwZXItaWNvbnNcIj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInVzZXJJc1N1cGVydmlzb3IgJiYgKCFpc1Rhc2sgfHwgZmlyc3RUcmlnZ2VyVG9DbG9zZVdGID09PSB1bmRlZmluZWQpXCIgaWNvbj1cInN1cGVydmlzb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VwZXJ2aXNvci1pY29uIGJpZyBkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ01ZX1RBU0tTX1NVUEVSVklTT1InIHwgc2hhcmVkTG9jYWxpemVcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctd3JhcHBlci1sYWJlbHNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0NVUlJFTlRfU1RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5VGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tc2VlbXMgdW5lc3NlY2FyeSBmb3IgY3VycmVudCB1c2VjYXNlcywgYnV0IGxlZnQgaW4gY2FzZSB0aGlzIG5lZWRzIGFuIGlucHV0IHRvIHN3aXRjaCBvbiBvciBvZmYtLT5cclxuICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz1cImFjdGl2aXR5LWNvbnRleHQtdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlDb250ZXh0VGl0bGVcIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1tYWluXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1kYXRlLWFjdGl2aXR5XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidORVhUX1NUQVRFJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWRhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXdyYXBwZXJcIiBbY2xhc3Mub3ZlcmR1ZV09XCJvdmVyRHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2FtZURhdGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwidGFyZ2V0RGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtZGl2aWRlclwiIFt0ZXh0Q29udGVudF09XCInLSdcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cImRlYWRsaW5lRGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYWN0aXZpdHktdHlwZS1pY29uXCJbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eSkpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwhLS1UT0RPIHJlaW5zdGF0ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gdHJpZ2dlciBhIHNjcmVlbiBjaGFuZ2UuIC0tPlxyXG4gICAgICAgICAgICAgIDwhLS08bmctY29udGFpbmVyICpuZ0lmPVwidXJscyAmJiB1cmxzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbi1jb2xpam4gKm5nRm9yPVwibGV0IHVybCBvZiB1cmxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlci1pY29uIGFjdGlvbi1ob3ZlciBuby1tYXJnaW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uLkRldGFpbFZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ09QRU5fTElOSycgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPcGVuTGluaygkZXZlbnQsIHVybClcIj48L2J1dHRvbi1jb2xpam4+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+LS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1idXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1Rhc2sgJiYgaGFzVHJpZ2dlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBhY3Rpb24taG92ZXIgYnV0dG9uLXRyaWdnZXIgbm8tbWFyZ2luXCIgKm5nRm9yPVwibGV0IHRyaWdnZXIgb2Ygd29ya0Zsb3cubWFudWFsR2VuZXJpY1RyaWdnZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJ1dHRvbi10cmlnZ2VyLWljb25dPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInRyaWdnZXIudHJpZ2dlckJ1dHRvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwidHJpZ2dlci5pc1Rhc2tUcmlnZ2VyID8gaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb24uQWNjb3VudCk6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJjdXN0b20gc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlR2VuZXJpY1RyaWdnZXJDbGljayh0cmlnZ2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiAgICAgY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBhY3Rpb24taG92ZXIgYnV0dG9uLXRyaWdnZXIgbm8tbWFyZ2luXCIgKm5nRm9yPVwibGV0IHRyaWdnZXIgb2Ygd29ya0Zsb3cubWFudWFsVHJpZ2dlcnNXaXRob3V0VGFza1RyaWdnZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZ2gtcHJpb109XCJ0cmlnZ2VyLm92ZXJEdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYnV0dG9uLXRyaWdnZXItaWNvbl09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidHJpZ2dlci50cmlnZ2VyQnV0dG9uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJ0cmlnZ2VyLmlzVGFza1RyaWdnZXIgPyBpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5EZXRhaWxWaWV3KTogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVUcmlnZ2VyQ2xpY2sodHJpZ2dlcilcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LXRhc2std3JhcHBlclwiICpuZ0lmPVwiaXNUYXNrXCIgKGNsaWNrKT1cImhhbmRsZU9wZW5MaW5rKCRldmVudClcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWJveFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1jdXJyZW50LXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LXRpdGxlXCIgW3RleHRDb250ZW50XT1cImFjdGl2aXR5VGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tc2VlbXMgdW5lc3NlY2FyeSBmb3IgY3VycmVudCB1c2VjYXNlcywgYnV0IGxlZnQgaW4gY2FzZSB0aGlzIG5lZWRzIGFuIGlucHV0IHRvIHN3aXRjaCBvbiBvciBvZmYtLT5cclxuICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz1cImFjdGl2aXR5LWNvbnRleHQtdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiYWN0aXZpdHlDb250ZXh0VGl0bGVcIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy13cmFwcGVyLWRhdGVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS13cmFwcGVyXCIgW2NsYXNzLm92ZXJkdWVdPVwib3ZlckR1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzYW1lRGF0ZXNcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIiBbdGV4dENvbnRlbnRdPVwidGFyZ2V0RGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWRpdmlkZXJcIiBbdGV4dENvbnRlbnRdPVwiJy0nXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCIgW3RleHRDb250ZW50XT1cImRlYWRsaW5lRGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImFjdGl2aXR5LXR5cGUtaWNvblwiW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uLkxpc3RVbFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGFzayAmJiBmaXJzdFRyaWdnZXJUb0Nsb3NlV0YgIT09IHVuZGVmaW5lZFwiPlxyXG4gICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJ0cmFucy1ncmVlbiBjdXN0b20tdGV4dCBidXR0b24tdHJpZ2dlciBuby1tYXJnaW5cIiBbbGFiZWxdPVwiZmlyc3RUcmlnZ2VyVG9DbG9zZVdGLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25FbmRDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8IS0tbmctY29udGFpbmVyICpuZ0lmPVwib3BlbkJ1dHRvbkxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInRyYW5zLWdyZWVuIGRlZmF1bHQtYmcgY3VzdG9tLXRleHQgYnV0dG9uLXRyaWdnZXItaWNvbiBhY3Rpb24taG92ZXIgbm8tbWFyZ2luXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cImN1c3RvbSBzbWFsbFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5EZXRhaWxWaWV3KVwiIFtsYWJlbF09XCJvcGVuQnV0dG9uTGFiZWwgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT3BlbkxpbmsoJGV2ZW50KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lci0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tVE9ETyByZWluc3RhdGUgdGhpcyB3aGVuIHdlIGZpZ3VyZSBvdXQgaG93IHRvIHRyaWdnZXIgYSBzY3JlZW4gY2hhbmdlLiAtLT5cclxuICAgICAgICA8IS0tIDxmb3JtYnVpbGRlci11c2VyLWZvcm0gKm5nSWY9XCJzaG93Q3JlYXRlRm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93UG9wdXBdPVwic2hvd0NyZWF0ZUZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFibGVdPVwidGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cImtleVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsRm9ybSk9XCJkb0NhbmNlbEZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzYXZlRm9ybSk9XCJkb1NhdmVGb3JtKCRldmVudClcIlxyXG4gICAgICAgID48L2Zvcm1idWlsZGVyLXVzZXItZm9ybT4tLT5cclxuICAgICAgICA8Y28tdGFzay1tb2RpZmllclxyXG4gICAgICAgICAgICAgICAgW3VzZXJHcm91cElkXT1cInVzZXJHcm91cElkXCJcclxuICAgICAgICAgICAgICAgIFtyZWxhdGlvbklkXT1cInVzZXJSZWxhdGlvbklkXCJcclxuICAgICAgICAgICAgICAgIChlZGl0aW5nQ29tcGxldGUpPVwib25TYXZlQWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoYWN0aXZpdHlEZWxldGVkKT1cIm9uRGVsZXRlQWN0aXZpdHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoc2hvd1dvcmtMb2cpPVwic2hvd1Rhc2tGb3JtQW5kV29ya0xvZygpXCJcclxuICAgICAgICAgICAgICAgICh0cmlnZ2VyRmlyZWQpPVwiaGFuZGxlRm9ybVRyaWdnZXJGaXJlZCgpXCJcclxuICAgICAgICA+PC9jby10YXNrLW1vZGlmaWVyPlxyXG5cclxuICAgIGAsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcihcImZhZGVJbk91dFwiLCBbXHJcbiAgICAgICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe29wYWNpdHk6IDB9KSksXHJcbiAgICAgICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe29wYWNpdHk6IDF9KSksXHJcbiAgICAgICAgICB0cmFuc2l0aW9uKFwiOmVudGVyLCA6bGVhdmVcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKFwic2hvd0hpZGVFeHRlbmRlZFwiLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7XCJ0cmFuc2Zvcm0tb3JpZ2luXCI6IFwidG9wIGNlbnRlclwiLCB0cmFuc2Zvcm06IFwic2NhbGVZKDApXCJ9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7XCJ0cmFuc2Zvcm0tb3JpZ2luXCI6IFwidG9wIGNlbnRlclwiLCB0cmFuc2Zvcm06IFwic2NhbGVZKDEpXCJ9KSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXIsIDpsZWF2ZVwiLCBbXHJcbiAgICAgICAgICAgICAgICBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIilcclxuICAgICAgICAgICAgXSlcclxuICAgICAgICBdKVxyXG4gICAgXSwgcHJvdmlkZXJzOiBbXHJcbiAgICBGb3JtTWFzdGVyU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50QWN0aXZpdHlPdmVydmlld0NvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50QWN0aXZpdHlPdmVydmlld0NvbXBvbmVudCBleHRlbmRzIEJhc2VBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgSWNvbjogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZW1hcmtJY29uOiBJY29uID0gSWNvbi5Db21tZW50UmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd29ya0ljb246IEljb24gPSBJY29uLlBlcnNvbkRpZ2dpbmdSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdGF0dXNJY29uOiBJY29uID0gSWNvbi5EaWFncmFtUHJvamVjdFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRhc2tJY29uOiBJY29uID0gSWNvbi5MaXN0VWxSZWd1bGFyO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXdcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBkaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICAgICAgICAgICAgIC8qcHVibGljIHJvdXRlcjogUm91dGVyKi8pIHtcclxuICAgIHN1cGVyKGRpYWxvZ1NlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCBzaGFyZWRTZXJ2aWNlLypyb3V0ZXIqLyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5OiBBY3Rpdml0eSk6IEljb24ge1xyXG4gICAgc3dpdGNoIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUpIHtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuUmVtYXJrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbWFya0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLldvcmtmbG93U3RhdHVzOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Gb3JtOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1Rhc2s6XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlN0YXRlQ2hhbmdlOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1c0ljb247XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlRhc2s6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0ljb247XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -403,7 +403,7 @@ BaseFileUploadComponent.propDecorators = {
|
|
|
403
403
|
addWithButton: [{ type: Input }],
|
|
404
404
|
canDelete: [{ type: Input }],
|
|
405
405
|
noDragDropOrdering: [{ type: Input }],
|
|
406
|
-
readonly: [{ type: Input }],
|
|
406
|
+
readonly: [{ type: Input }, { type: HostBinding, args: ['class.co-shared-hidden',] }],
|
|
407
407
|
askBeforeDelete: [{ type: Input }],
|
|
408
408
|
resizeImages: [{ type: Input }],
|
|
409
409
|
lockOperation: [{ type: Input }],
|
|
@@ -466,4 +466,4 @@ __decorate([
|
|
|
466
466
|
__decorate([
|
|
467
467
|
InputBoolean()
|
|
468
468
|
], BaseFileUploadComponent.prototype, "useCustomFileDropEvent", void 0);
|
|
469
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWxlLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvY29tcG9uZW50cy9iYXNlLWZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILHdCQUF3QixFQUV4QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRSxPQUFPLEVBRUgsa0NBQWtDLEVBQ3JDLE1BQU0sdURBQXVELENBQUM7QUFJL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUV6RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDdEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFE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REMsWUFBWSxFQUFFO2dFQUN3QjtBQUl2QztJQURDLFlBQVksRUFBRTs2REFDc0I7QUE0QnJDO0lBREMsWUFBWSxFQUFFO29FQUM2QjtBQUk1QztJQURDLFlBQVksRUFBRTtxRUFDOEI7QUFhN0M7SUFEQyxZQUFZLEVBQUU7dUVBQ2dDO0FBTy9DO0lBREMsWUFBWSxFQUFFO2tFQUMyQjtBQVUxQztJQURDLFlBQVksRUFBRTt1RUFDd0I7QUFJdkM7SUFEVSxZQUFZLEVBQUU7dUVBQ3VCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudEZhY3RvcnksXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7U2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudH0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tIFwiLi4vLi4vLi4vZW51bS90YWJsZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtGaWxlVHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vZmlsZS10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtcclxuICAgIE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24sXHJcbiAgICBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrXHJcbn0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZS9vcGVyYXRpb24tY2FsbGJhY2stc2ltcGxlLWZ1bmN0aW9uXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxQYXJhbX0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaW50ZXJuYWwtcGFyYW0uZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0c30gZnJvbSBcIi4uLy4uLy4uL2VudW0vZmlsZXMtdXBsb2FkLWNvbmZpZy1vYmplY3RzXCI7XHJcbmltcG9ydCB7VGFnQ2F0ZWdvcnl9IGZyb20gXCIuLi8uLi8uLi9lbnVtL3RhZy1jYXRlZ29yeS5lbnVtXCI7XHJcbmltcG9ydCB7QXJyYXlVdGlsc30gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2FycmF5LXV0aWxzXCI7XHJcbmltcG9ydCB7UmVmQ29kZVV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvcmVmLWNvZGUtdXRpbHNcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50U2hhcmVkRmllbGRMb2dpY30gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2NvLWRvY3VtZW50LXNoYXJlZC1maWVsZC1sb2dpY1wiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnRSaWdodH0gZnJvbSBcIi4uLy4uLy4uL2J1c2luZXNzb2JqZWN0L2NvLWRvY3VtZW50LXJpZ2h0LmJvXCI7XHJcbmltcG9ydCB7T2JqZWN0UmlnaHRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9lbnVtL29iamVjdC1yaWdodC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtBcHBGaWxlRHJvcHpvbmVDb21wb25lbnR9IGZyb20gXCIuLi8uLi9hcHAtZmlsZS1kcm9wem9uZS9hcHAtZmlsZS1kcm9wem9uZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGaWxlVXRpbHN9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy9maWxlLXV0aWxzXCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50XCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudFR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2NvLWRvY3VtZW50LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVVcGxvYWRQb3B1cENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZpbGUtdXBsb2FkLXBvcHVwL2ZpbGUtdXBsb2FkLXBvcHVwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcblxyXG5cclxuLy8gQSBiYXNlIGNvbXBvbmVudCB0aGF0IGxldHMgdGhlIHVzZXIgbWFrZSBhIGxpc3Qgb2YgZmlsZXMgZnJvbSBpdHMgZGV2aWNlLiBEb2Vzbid0IGFjdHVhbGx5IHVwbG9hZCwgYnV0IG91dHB1dHMgY2hvc2VuIGZpbGVzIGFzIGZpbGVzQ2hhbmdlZC5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQsIE9uRGVzdHJveSB7XHJcbiAgICBkZWNpbWFsczogbnVtYmVyO1xyXG4gICAgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuICAgIG1heExlbmd0aDogbnVtYmVyO1xyXG4gICAgb2JqZWN0Q29uZmlnTmFtZTogc3RyaW5nO1xyXG4gICAgcmVkRXJyb3JCYWNrZ3JvdW5kOiBib29sZWFuO1xyXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLy8gVGhlIGZpbGVUeXBlIHRoYXQgdGhlIGRvY3VtZW50cyBzaG91bGQgYmUgc2F2ZWQgYXMsIGxlYXZlIGVtcHR5IHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IGZpbGV0eXBlLiBBbHNvIGRldGVybWluZXMgZmlsZSBwaWNrZXIgZmlsdGVyXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBmaWxlVHlwZSh2YWx1ZTogRmlsZVR5cGUpIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZmlsZVR5cGUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgLy9UT0RPIERvY3VtZW50ZGF0YWxvYWRlciBmaXhcclxuICAgICAgICAgICAgLy90aGlzLl9jb0RvY3VtZW50RGF0YUxvYWRlci5sb2FkQWxsb3dlZFR5cGVzKCkudGhlbigoKSA9PiB7dGhpcy5oYW5kbGVBY2NlcHRlZEZpbGVUeXBlc0xvYWRlZCh2YWx1ZSl9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmaWxlVHlwZSgpOiBGaWxlVHlwZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVUeXBlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZG9jdW1lbnRzOiBDb0RvY3VtZW50W10gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50VGFibGU6IFRhYmxlTmFtZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBkb2N1bWVudEtleSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fZG9jdW1lbnRLZXkgPSB2YWx1ZSArIFwiXCI7IC8vIGZvcmNlIHN0cmluZ1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZG9jdW1lbnRLZXkoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnRLZXk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhlIGFiaWxpdHkgdG8gZHJvcCBmaWxlcyBvbiB0aGUgcGFnZVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmdWxsUGFnZURyb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBJZiB1c2VyIGdldHMgdGhlIGFiaWxpdHkgb2YgYWRkaW5nIGZpbGVzLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYW5BZGQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZHJvcE1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgICAvLyBTaG93IGFkZCBidXR0b25cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWRkV2l0aEJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLy8gSWYgdXNlciBnZXRzIHRoZSBhYmlsaXR5IG9mIGRlbGV0aW5nIGZpbGVzLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYW5EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBub0RyYWdEcm9wT3JkZXJpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3BvcHVwICYmIHRoaXMuX3BvcHVwLmluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnJlYWRvbmx5ID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBhc2tCZWZvcmVEZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyByZXNpemVJbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxvY2tPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdW5sb2NrT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja1NpbXBsZUZ1bmN0aW9uID0gT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFjaztcclxuXHJcblxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJlZm9yZURlbGV0ZU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhZnRlckRlbGV0ZU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBiZWZvcmVDcmVhdGVPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWZ0ZXJDcmVhdGVPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmVmb3JlRWRpdE9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGRvbnRBc2tCZWZvcmVEZWxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9Pd25EZWxldGVPcGVyYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIF9maWxlVHlwZTogRmlsZVR5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgbWF4VXBsb2FkU2l6ZVBhcmFtKHZhbHVlOiBJbnRlcm5hbFBhcmFtKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldEludGVybmFsUGFyYW1PYmoodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgdXNlV2l0aG91dFNldHRpbmdQcm9wczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzOiBGaWxlc1VwbG9hZENvbmZpZ09iamVjdHM7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIG1lZGljYWxVc2VyR3JvdXBzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdDYXRlZ29yeTogVGFnQ2F0ZWdvcnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdSZWZlcmVuY2VUYWJsZTogVGFibGVOYW1lO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBkaXNwbGF5UmVhZFdyaXRlQWNjZXNzOiBib29sZWFuO1xyXG5cclxuICAgIC8vIFVzZSB3aXRoIGN1c3RvbUZpbGVEcm9wRXZlbnRcclxuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIHVzZUN1c3RvbUZpbGVEcm9wRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCB1c2VDdXN0b21GaWxlRHJvcEV2ZW50XHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBjdXN0b21GaWxlRHJvcEV2ZW50OiBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlTGlzdD4oKTtcclxuXHJcbiAgICAvLyBFbWl0cyBpZiB1c2VyIHdhbnRzIHRvIGFkZCBtdWx0aXBsZSBkb2N1bWVudHMgYXQgb25jZVxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRzQWRkZWQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50W10+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWxldGVkOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gICAgLy8gRW1pdHMgZXZlcnkgdGltZSB0aGUgb3JkZXIgb2YgZG9jdW1lbnRzIHdhcyBjaGFuZ2VkXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBzb3J0YWJsZUxpc3RDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudFtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudFtdPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50Q2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgICAvLyBVc2UgdGhpcyBpZiBjb25zdW1lciByZXF1aXJlcyB0byBwZXJmb3JtIGV4dHJhIGFjdGlvbnMsIGxpa2UgbG9ja2luZyBhIHBhcmVudCBidXNpbmVzc09iamVjdCBpZiBpdCBjb250YWlucyB0aGUgY29sbGVjdGlvbiBvZiBkb2N1bWVudHMuIEVtaXQgd2l0aCB0cnVlIHdoZW4gcG9wdXAgb3BlbmVkLCBmYWxzZSBmb3IgY2xvc2VcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBvcHVwT3BlbmVkU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5oaWRkZW5cIilcclxuICAgIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyb3BcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnVzZUN1c3RvbUZpbGVEcm9wRXZlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5maWxlc1BpY2tlZChldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tRmlsZURyb3BFdmVudC5lbWl0KGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9jbGVhckRyb3B6b25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyYWdlbmRcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uRHJhZ0VuZChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmNsZWFyRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuX2NsZWFyRHJvcHpvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwiZHJhZ292ZXJcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyYWdlbnRlclwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBwdWJsaWMgb25EcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RyYWdFbnRlclRhcmdldCA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICB0aGlzLl9zaG93RHJvcHpvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwiZHJhZ2xlYXZlXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5fZHJhZ0VudGVyVGFyZ2V0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NsZWFyRHJvcHpvbmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRvY3VtZW50VW5kZXJFZGl0OiBDb0RvY3VtZW50O1xyXG4gICAgcHVibGljIGFjY2VwdGVkVXBsb2FkRm9ybWF0czogc3RyaW5nO1xyXG5cclxuICAgIHByb3RlY3RlZCBfbWF4VXBsb2FkRmlsZVNpemU6IG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIF9kcmFnRW50ZXJUYXJnZXQ6IEV2ZW50VGFyZ2V0O1xyXG4gICAgcHJpdmF0ZSBfZG9jdW1lbnRLZXk6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBwcml2YXRlIF9kcm9wWm9uZTogQ29tcG9uZW50UmVmPEFwcEZpbGVEcm9wem9uZUNvbXBvbmVudD47XHJcbiAgICBwcml2YXRlIF9wb3B1cDogQ29tcG9uZW50UmVmPEZpbGVVcGxvYWRQb3B1cENvbXBvbmVudD47XHJcbiAgICBwcml2YXRlIF9kb2NDaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgX3BvcHVwQ2xvc2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX2R1bW15VHJ1ZUZ1bmN0aW9uOiBPcGVyYXRpb25DYWxsYmFja1NpbXBsZUZ1bmN0aW9uID0gKG9iamVjdDogYW55KSA9PiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcblxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9wcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAvL3Byb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9nZW5lcmFsRGFsUmVwb3NpdG9yeTogR2VuZXJhbERhbFJlcG9zaXRvcnksXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2RhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICAvL3Byb3RlY3RlZCBfYmFzZURhdGFEYWxSZXBvc2l0b3J5OiBCYXNlRGF0YURhbFJlcG9zaXRvcnksXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2NvRG9jdW1lbnREYXRhTG9hZGVyOiBDb0RvY3VtZW50RGF0YUxvYWRlclNlcnZpY2VcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jbGVhckRyb3B6b25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0Ryb3B6b25lKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fZHJvcFpvbmUpIHtcclxuICAgICAgICAgICAgY29uc3QgZmFjdDogQ29tcG9uZW50RmFjdG9yeTxBcHBGaWxlRHJvcHpvbmVDb21wb25lbnQ+ID0gdGhpcy5fZmFjdG9yeS5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShBcHBGaWxlRHJvcHpvbmVDb21wb25lbnQpO1xyXG4gICAgICAgICAgICB0aGlzLl9kcm9wWm9uZSA9IHRoaXMuX2NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Ryb3Bab25lLmluc3RhbmNlLmN1c3RvbURyb3BBY3Rpb25NZXNzYWdlID0gdGhpcy5kcm9wTWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2xlYXJEcm9wem9uZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICBpZiAodGhpcy5fZHJvcFpvbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZHJvcFpvbmUuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9kcm9wWm9uZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVtb3ZlIGZpbGUgZnJvbSB1cGxvYWQgYXJyYXkuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlRGVsZXRlKGZpbGU6IENvRG9jdW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMuYmVmb3JlRGVsZXRlT3BlcmF0aW9uKGZpbGUpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9kZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuYWZ0ZXJEZWxldGVPcGVyYXRpb24oZmlsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc3VjY2Vzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfZGVsZXRlKGZpbGU6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBsZXQgZG9EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgIGlmICghdGhpcy5kb250QXNrQmVmb3JlRGVsZXRlKSB7XHJcbiAgICAgICAgICAvL1RPRE8gbWFrZSBkaWFsb2dTZXJ2aWNlXHJcbiAgICAgICAgICAgIC8vZG9EZWxldGUgPSBhd2FpdCB0aGlzLl9wcm9tcHRTZXJ2aWNlLnNob3dZZXNObyhcIk1FU1NBR0VfREVMRVRFX1JFQ09SRF9RVUVTVElPTlwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRvRGVsZXRlKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ub093bkRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50KGZpbGUsIHRoaXMuZG9jdW1lbnRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50RGVsZXRlZC5lbWl0KGZpbGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlU29ydGluZ0NoYW5nZShkb2NzOiBDb0RvY3VtZW50W10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNvcnRhYmxlTGlzdENoYW5nZWQuZW1pdChkb2NzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlRmlsZUNoYW5nZShldmVudDogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnRhcmdldCAmJiBldmVudC50YXJnZXQuZmlsZXMgJiYgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgLy8gY2hlY2sgZmlsZSBzaXplcyBhbmQgZXh0ZW5zaW9uXHJcbiAgICAgICAgICAgIC8vVG9kbzogZml4IHRoaXNcclxuICAgICAgICAgICAgLy9jb25zdCBhbGxvd2VkRXh0ZW5zaW9ucyA9IGF3YWl0IHRoaXMuX2Jhc2VEYXRhRGFsUmVwb3NpdG9yeS5nZXRBbGxvd2VkRXh0ZW5zaW9ucygpO1xyXG4gICAgICAgICAgICBsZXQgYWxsRmlsZXNBcmVTbWFsbEVub3VnaDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgICAgIGxldCBhbGxGaWxlc0hhdmVBbGxvd2VkRXh0ZW5zaW9uczogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IHNpemVUb0NvbXBhcmU6IG51bWJlciA9IHRoaXMuX21heFVwbG9hZEZpbGVTaXplID8gdGhpcy5fbWF4VXBsb2FkRmlsZVNpemUgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGxlbjogbnVtYmVyID0gZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1cGxvYWRTaXplQWxsb3dlZCA9IEZpbGVVdGlscy5DaGVja01heFVwbG9hZFNpemUoZXZlbnQudGFyZ2V0LmZpbGVzW2ldLCBzaXplVG9Db21wYXJlKTtcclxuICAgICAgICAgICAgICAgIGlmICghdXBsb2FkU2l6ZUFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGxGaWxlc0FyZVNtYWxsRW5vdWdoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBleHRlbnNpb25BbGxvd2VkID0gdHJ1ZS8vRmlsZVV0aWxzLkNoZWNrRXh0ZW5zaW9uKGV2ZW50LnRhcmdldC5maWxlc1tpXSwgYWxsb3dlZEV4dGVuc2lvbnMpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFleHRlbnNpb25BbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsRmlsZXNIYXZlQWxsb3dlZEV4dGVuc2lvbnMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKCFhbGxGaWxlc0FyZVNtYWxsRW5vdWdoKSB7XHJcbiAgICAgICAgICAgICAgLy9UT0RPIG1ha2UgZGlhbG9nU2VydmljZVxyXG4gICAgICAgICAgICAgICAgLy90aGlzLl9wcm9tcHRTZXJ2aWNlLnNob3dXYXJuaW5nKHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIkZJTEVfVE9PX0xBUkdFX1RPX1VQTE9BRFwiLCB0cnVlLCBcIlwiICsgW0ZpbGVVdGlscy5nZXRNYXhVcGxvYWRTaXplSW5NYihzaXplVG9Db21wYXJlKV0pKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICghYWxsRmlsZXNIYXZlQWxsb3dlZEV4dGVuc2lvbnMpIHtcclxuICAgICAgICAgICAgICAgIC8vY29uc3QgZXh0ZW5zaW9uc0xpc3QgPSBhbGxvd2VkRXh0ZW5zaW9ucy5tYXAoYWxsb3dlZEV4dGVuc2lvbiA9PiBhbGxvd2VkRXh0ZW5zaW9uLmV4dGVuc2lvbikuc29ydCgpLmpvaW4oXCIsIFwiKTtcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5fcHJvbXB0U2VydmljZS5zaG93V2FybmluZyh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJGSUxFX0hBU19ESVNBTExPV0VEX0VYVEVOU0lPTlwiLCBmYWxzZSwgZXh0ZW5zaW9uc0xpc3QpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzVG9BZGQ6IENvRG9jdW1lbnRbXSA9IGF3YWl0IHRoaXMuY29udmVydEZpbGVzSW50b0NvRG9jdW1lbnRzKGV2ZW50LnRhcmdldC5maWxlcyk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGZpbGVzVG9BZGQubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRzQWRkZWQuZW1pdChmaWxlc1RvQWRkKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlV2l0aG91dFNldHRpbmdQcm9wcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkZGVkLm5leHQoZmlsZXNUb0FkZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdCA9IGZpbGVzVG9BZGRbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVFZGl0RG9jdW1lbnRDbGljayhkb2NUb0VkaXQ6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gZG9jVG9FZGl0O1xyXG4gICAgICAgIGNvbnN0IHNob3dQb3B1cDogYm9vbGVhbiA9IGF3YWl0IHRoaXMuYmVmb3JlRWRpdE9wZXJhdGlvbihkb2NUb0VkaXQpO1xyXG4gICAgICAgIGlmIChzaG93UG9wdXApIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG9wZW5Qb3B1cCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLl9jcmVhdGVBbmRGaWxsUG9wdXBJbnN0YW5jZSgpO1xyXG5cclxuICAgICAgICB0aGlzLl9kb2NDaGFuZ2VTdWIgPSB0aGlzLl9wb3B1cC5pbnN0YW5jZS5kb2N1bWVudENoYW5nZUV2ZW50LnN1YnNjcmliZSgoZG9jOiBDb0RvY3VtZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRDaGFuZ2VFdmVudC5lbWl0KGRvYyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5Qb3B1cFRvQWRkRG9jdW1lbnRCeVVybCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jcmVhdGVEb2N1bWVudFRvQWRkQnlVcmwoKTtcclxuICAgICAgICB0aGlzLl9jcmVhdGVBbmRGaWxsUG9wdXBJbnN0YW5jZSh0cnVlKTtcclxuXHJcbiAgICAgICAgdGhpcy5fZG9jQ2hhbmdlU3ViID0gdGhpcy5fcG9wdXAuaW5zdGFuY2UuZG9jdW1lbnRDaGFuZ2VFdmVudC5zdWJzY3JpYmUoKGRvYzogQ29Eb2N1bWVudCkgPT4ge1xyXG4gICAgICAgICAgICBkb2MuZmlsZU5hbWUgPSBkb2MuZmlsZVBhdGg7XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRDaGFuZ2VFdmVudC5lbWl0KGRvYyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlRG9jdW1lbnRUb0FkZEJ5VXJsKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQgPSBuZXcgQ29Eb2N1bWVudCgpO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQudGFibGUgPSB0aGlzLmRvY3VtZW50VGFibGU7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5rZXkgPSB0aGlzLmRvY3VtZW50S2V5O1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZmlsZVR5cGUgPSB0aGlzLmZpbGVUeXBlO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZG9jdW1lbnRUeXBlID0gQ29Eb2N1bWVudFR5cGUuU2F2ZUFzTGlua09uUmFuZG9tTG9jYXRpb247XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5wYXRoSXNVcmwgPSB0cnVlO1xyXG4gICAgICAgIC8vVE9ETyBGaXggdXNlciBJbnB1dFxyXG4gICAgICAgIC8vdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5jcmVhdGlvblVzZXIgPSB0aGlzLl91c2VyU2VydmljZS51c2VyTmFtZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgIC8vdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5tb2RpZmllZFVzZXIgPSB0aGlzLl91c2VyU2VydmljZS51c2VyTmFtZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuY3JlYXRpb25EYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0Lm1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlQW5kRmlsbFBvcHVwSW5zdGFuY2UoYWRkRG9jdW1lbnRCeVVybDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wb3B1cE9wZW5lZFN0YXRlQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8RmlsZVVwbG9hZFBvcHVwQ29tcG9uZW50PiA9IHRoaXMuX2ZhY3RvcnkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRmlsZVVwbG9hZFBvcHVwQ29tcG9uZW50KTtcclxuXHJcbiAgICAgICAgdGhpcy5fcG9wdXAgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG5cclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5yZWFkb25seSA9IHRoaXMuX3JlYWRvbmx5O1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmFkZERvY3VtZW50QnlVcmwgPSBhZGREb2N1bWVudEJ5VXJsO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmhhc1B1YmxpY0FjY2Vzc1Zpc2libGUgPSB0aGlzLmRvY3VtZW50VGFibGUgPT09IFRhYmxlTmFtZS5Hb29kcztcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5zaG93RG9jdW1lbnRSZXBvcnRQaWNrZXIgPSAodGhpcy5kb2N1bWVudFRhYmxlID09PSBUYWJsZU5hbWUuVHJhbnNhY3Rpb25zIHx8IHRoaXMuZG9jdW1lbnRUYWJsZSA9PT0gVGFibGVOYW1lLlRyYW5zYWN0aW9uTGluZXMpO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmRvY3VtZW50VW5kZXJFZGl0ID0gdGhpcy5kb2N1bWVudFVuZGVyRWRpdDtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5maWxlc1VwbG9hZENvbmZpZ09iamVjdHMgPSB0aGlzLmZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cztcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5tZWRpY2FsVXNlckdyb3VwcyA9IHRoaXMubWVkaWNhbFVzZXJHcm91cHM7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UudGFnQ2F0ZWdvcnkgPSB0aGlzLnRhZ0NhdGVnb3J5O1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmRpc3BsYXlSZWFkV3JpdGVBY2Nlc3MgPSB0aGlzLmRpc3BsYXlSZWFkV3JpdGVBY2Nlc3M7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UudGFnUmVmZXJlbmNlVGFibGUgPSB0aGlzLnRhZ1JlZmVyZW5jZVRhYmxlO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnB1YmxpY2F0aW9uSWRzID0gUmVmQ29kZVV0aWxzLkdldE11bHRpUmVmQ29kZUNob2ljZXModGhpcy5kb2N1bWVudFVuZGVyRWRpdC5wdWJsaWNhdGlvbik7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2Uuc3RvcmVHcm91cElkcyA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmV0YWlsRm9ybXVsYXM7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UuZmlsZVR5cGUgPSB0aGlzLmZpbGVUeXBlO1xyXG5cclxuICAgICAgICB0aGlzLl9wcmVwYXJlRmlsZVJpZ2h0cygpO1xyXG5cclxuICAgICAgICB0aGlzLl9wb3B1cENsb3NlU3ViID0gdGhpcy5fcG9wdXAuaW5zdGFuY2UucG9wdXBDbG9zZUV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RvY3VtZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMucG9wdXBPcGVuZWRTdGF0ZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wdXBDbG9zZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9kb2NDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wdXAuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9wb3B1cCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgY29udmVydEZpbGVzSW50b0NvRG9jdW1lbnRzKGZpbGVzOiBGaWxlTGlzdCk6IFByb21pc2U8Q29Eb2N1bWVudFtdPiB7XHJcbiAgICAgICAgY29uc3QgYW1vdW50T2ZGaWxlczogbnVtYmVyID0gZmlsZXMubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IGZpbGVzVG9BZGQ6IENvRG9jdW1lbnRbXSA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgYW1vdW50T2ZGaWxlczsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVBc0RvY3VtZW50OiBDb0RvY3VtZW50ID0gYXdhaXQgdGhpcy5fZ2V0RmlsZUFzRG9jdW1lbnQoZmlsZXNbaV0pO1xyXG4gICAgICAgICAgICBmaWxlQXNEb2N1bWVudC5pbmRleCA9IENvRG9jdW1lbnRTaGFyZWRGaWVsZExvZ2ljLkdlbmVyYXRlQXZhaWxhYmxlSW5kZXhOcih0aGlzLmRvY3VtZW50cyB8fCBbXSkgKyBpO1xyXG4gICAgICAgICAgICBmaWxlc1RvQWRkLnB1c2goZmlsZUFzRG9jdW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmlsZXNUb0FkZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZmlsZXNQaWNrZWQoZmlsZXM6IEZpbGVMaXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBsZXQgYWxsRmlsZXNBcmVWYWxpZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IGFtb3VudE9mRmlsZXM6IG51bWJlciA9IGZpbGVzLmxlbmd0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGFtb3VudE9mRmlsZXM7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFGaWxlVXRpbHMuQ2hlY2tNYXhVcGxvYWRTaXplKGZpbGVzW2ldLCB0aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGxGaWxlc0FyZVZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghYWxsRmlsZXNBcmVWYWxpZCkge1xyXG4gICAgICAgICAgICAgIC8vVE9ETyBtYWtlIGRpYWxvZ1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5fcHJvbXB0U2VydmljZS5zaG93V2FybmluZyh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJGSUxFX1RPT19MQVJHRV9UT19VUExPQURcIiwgdHJ1ZSwgXCJcIiArIEZpbGVVdGlscy5nZXRNYXhVcGxvYWRTaXplSW5NYih0aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSkudG9TdHJpbmcoKSkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZXNUb0FkZDogQ29Eb2N1bWVudFtdID0gYXdhaXQgdGhpcy5jb252ZXJ0RmlsZXNJbnRvQ29Eb2N1bWVudHMoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChmaWxlc1RvQWRkLmxlbmd0aCA+IDEgfHwgdGhpcy51c2VXaXRob3V0U2V0dGluZ1Byb3BzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGRlZC5lbWl0KGZpbGVzVG9BZGQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gZmlsZXNUb0FkZFswXTsgLy8gU2V0dGluZyBkb2NVbmRlckVkaXQgb3BlbnMgdGhlIHBvcHVwIHdpbmRvd1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUFjY2VwdGVkRmlsZVR5cGVzTG9hZGVkKHZhbHVlOiBGaWxlVHlwZSk6IHZvaWQge1xyXG4gICAgICAgIC8vVE9ETyBmaXggbG9hZGluZ1xyXG4gICAgICAgIC8vdGhpcy5hY2NlcHRlZFVwbG9hZEZvcm1hdHMgPSB0aGlzLl9jb0RvY3VtZW50RGF0YUxvYWRlci5nZXRBbGxvd2VkRXh0ZW5zaW9uc0ZvclR5cGUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX2dldEZpbGVBc0RvY3VtZW50KGZpbGU6IEZpbGUpOiBQcm9taXNlPENvRG9jdW1lbnQ+IHtcclxuICAgICAgICBjb25zdCBmaWxlQXNDb0RvY3VtZW50OiBDb0RvY3VtZW50ID0gYXdhaXQgRmlsZVV0aWxzLlJlYWRGaWxlQXNOZXdDb0RvY3VtZW50KGZpbGUsIHRoaXMucmVzaXplSW1hZ2VzKTtcclxuICAgICAgICAvLyBzZXQgc29tZSBleHRyYSBrbm93biBmaWVsZHMgZm9yIHRoZSBjb2RvY3VtZW50OlxyXG4gICAgICAgIGZpbGVBc0NvRG9jdW1lbnQudGFibGUgPSB0aGlzLmRvY3VtZW50VGFibGU7XHJcbiAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5rZXkgPSB0aGlzLmRvY3VtZW50S2V5O1xyXG4gICAgICAgIC8vVE9ETyBmaXggYWRkIHVzZXJzXHJcbiAgICAgICAgLy9maWxlQXNDb0RvY3VtZW50LmNyZWF0aW9uVXNlciA9IHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXJOYW1lLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgLy9maWxlQXNDb0RvY3VtZW50Lm1vZGlmaWVkVXNlciA9IHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXJOYW1lLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5jcmVhdGlvbkRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGZpbGVBc0NvRG9jdW1lbnQubW9kaWZpZWREYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBmaWxlQXNDb0RvY3VtZW50LmZpbGVUeXBlID0gdGhpcy5maWxlVHlwZSA/IHRoaXMuZmlsZVR5cGUgOiBGaWxlVXRpbHMuSXNJbWFnZUZpbGUoZmlsZSkgPyBGaWxlVHlwZS5JbWFnZSA6IEZpbGVUeXBlLkRvY3VtZW50O1xyXG5cclxuICAgICAgICBpZiAoZmlsZUFzQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmlsZUFzQ29Eb2N1bWVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0SW50ZXJuYWxQYXJhbU9iaih2YWx1ZTogSW50ZXJuYWxQYXJhbSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIC8vVE9ETyBmaXggcGFyYW1zXHJcbiAgICAgICAgLy9jb25zdCBwYXJhbTogSW50ZXJuYWxQYXJhbWV0ZXJPYmplY3QgPSBhd2FpdCB0aGlzLl9nZW5lcmFsRGFsUmVwb3NpdG9yeS5nZXRJbnRlcm5hbFBhcmFtT2JqZWN0KHZhbHVlKTtcclxuICAgICAgICAvL3RoaXMuX21heFVwbG9hZEZpbGVTaXplID0gaXNOYU4ocGFyc2VJbnQocGFyYW0udmFsdWUsIDApKSA/IHVuZGVmaW5lZCA6IHBhcnNlSW50KHBhcmFtLnZhbHVlLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9sb2NrRG9jdW1lbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmRvY3VtZW50SWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIE5ldyBkb2N1bWVudCBkb2VzIG5vdCBoYXZlIGFuIElEIGFuZCB0aGVyZWZvcmUgZG9lcyBub3QgaGF2ZSB0byBiZSBsb2NrZWRcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGxvY2tPazogYm9vbGVhbiA9IGF3YWl0IHRoaXMubG9ja09wZXJhdGlvbihDb0RvY3VtZW50KTtcclxuICAgICAgICByZXR1cm4gbG9ja09rO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX3VubG9ja0RvY3VtZW50KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICBpZiAoIXRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZG9jdW1lbnRJZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBOZXcgZG9jdW1lbnQgZG9lcyBub3QgaGF2ZSBhbiBJRCBhbmQgdGhlcmVmb3JlIGRvZXMgbm90IGhhdmUgdG8gYmUgbG9ja2VkXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHVubG9ja09rOiBib29sZWFuID0gYXdhaXQgdGhpcy51bmxvY2tPcGVyYXRpb24oQ29Eb2N1bWVudCk7XHJcbiAgICAgIHJldHVybiB1bmxvY2tPaztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlRmlsZVJpZ2h0cygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmlnaHRzLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgcmlnaHQ6IENvRG9jdW1lbnRSaWdodCA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmlnaHRzW2ldO1xyXG4gICAgICAgICAgICBpZiAocmlnaHQucmlnaHRMZXZlbCA9PT0gT2JqZWN0UmlnaHRUeXBlLlJlYWRXcml0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UudXNlckdyb3Vwc0ZvcldyaXRlLnB1c2gocmlnaHQudXNlckdyb3VwSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChyaWdodC5yaWdodExldmVsID09PSBPYmplY3RSaWdodFR5cGUuUmVhZE9ubHkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnVzZXJHcm91cHNGb3JSZWFkLnB1c2gocmlnaHQudXNlckdyb3VwSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
469
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWxlLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvY29tcG9uZW50cy9iYXNlLWZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILHdCQUF3QixFQUV4QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRSxPQUFPLEVBRUgsa0NBQWtDLEVBQ3JDLE1BQU0sdURBQXVELENBQUM7QUFJL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUV6RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDdEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFE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WUFBWSxFQUFFO3VEQVFkO0FBUUQ7SUFEQyxZQUFZLEVBQUU7Z0VBQ3dCO0FBSXZDO0lBREMsWUFBWSxFQUFFOzZEQUNzQjtBQTRCckM7SUFEQyxZQUFZLEVBQUU7b0VBQzZCO0FBSTVDO0lBREMsWUFBWSxFQUFFO3FFQUM4QjtBQWE3QztJQURDLFlBQVksRUFBRTt1RUFDZ0M7QUFPL0M7SUFEQyxZQUFZLEVBQUU7a0VBQzJCO0FBVTFDO0lBREMsWUFBWSxFQUFFO3VFQUN3QjtBQUl2QztJQURVLFlBQVksRUFBRTt1RUFDdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcclxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIENvbXBvbmVudFJlZixcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtUYWJsZU5hbWV9IGZyb20gXCIuLi8uLi8uLi9lbnVtL3RhYmxlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9maWxlLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1xyXG4gICAgT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbixcclxuICAgIE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2tcclxufSBmcm9tIFwiLi4vLi4vLi4vaW50ZXJmYWNlL29wZXJhdGlvbi1jYWxsYmFjay1zaW1wbGUtZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtJbnRlcm5hbFBhcmFtfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pbnRlcm5hbC1wYXJhbS5lbnVtXCI7XHJcbmltcG9ydCB7RmlsZXNVcGxvYWRDb25maWdPYmplY3RzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9maWxlcy11cGxvYWQtY29uZmlnLW9iamVjdHNcIjtcclxuaW1wb3J0IHtUYWdDYXRlZ29yeX0gZnJvbSBcIi4uLy4uLy4uL2VudW0vdGFnLWNhdGVnb3J5LmVudW1cIjtcclxuaW1wb3J0IHtBcnJheVV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvYXJyYXktdXRpbHNcIjtcclxuaW1wb3J0IHtSZWZDb2RlVXRpbHN9IGZyb20gXCIuLi8uLi8uLi91dGlscy9yZWYtY29kZS11dGlsc1wiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnRTaGFyZWRGaWVsZExvZ2ljfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvY28tZG9jdW1lbnQtc2hhcmVkLWZpZWxkLWxvZ2ljXCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudFJpZ2h0fSBmcm9tIFwiLi4vLi4vLi4vYnVzaW5lc3NvYmplY3QvY28tZG9jdW1lbnQtcmlnaHQuYm9cIjtcclxuaW1wb3J0IHtPYmplY3RSaWdodFR5cGV9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL2VudW0vb2JqZWN0LXJpZ2h0LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0FwcEZpbGVEcm9wem9uZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2FwcC1maWxlLWRyb3B6b25lL2FwcC1maWxlLWRyb3B6b25lLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL3V0aWxzL2ZpbGUtdXRpbHNcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vY28tZG9jdW1lbnQtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7RmlsZVVwbG9hZFBvcHVwQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmlsZS11cGxvYWQtcG9wdXAvZmlsZS11cGxvYWQtcG9wdXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG4vLyBBIGJhc2UgY29tcG9uZW50IHRoYXQgbGV0cyB0aGUgdXNlciBtYWtlIGEgbGlzdCBvZiBmaWxlcyBmcm9tIGl0cyBkZXZpY2UuIERvZXNuJ3QgYWN0dWFsbHkgdXBsb2FkLCBidXQgb3V0cHV0cyBjaG9zZW4gZmlsZXMgYXMgZmlsZXNDaGFuZ2VkLlxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgU2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudCwgT25EZXN0cm95IHtcclxuICAgIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgICBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgbWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgICBvYmplY3RDb25maWdOYW1lOiBzdHJpbmc7XHJcbiAgICByZWRFcnJvckJhY2tncm91bmQ6IGJvb2xlYW47XHJcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcclxuXHJcbiAgICAvLyBUaGUgZmlsZVR5cGUgdGhhdCB0aGUgZG9jdW1lbnRzIHNob3VsZCBiZSBzYXZlZCBhcywgbGVhdmUgZW1wdHkgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgZmlsZXR5cGUuIEFsc28gZGV0ZXJtaW5lcyBmaWxlIHBpY2tlciBmaWx0ZXJcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGZpbGVUeXBlKHZhbHVlOiBGaWxlVHlwZSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9maWxlVHlwZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICAvL1RPRE8gRG9jdW1lbnRkYXRhbG9hZGVyIGZpeFxyXG4gICAgICAgICAgICAvL3RoaXMuX2NvRG9jdW1lbnREYXRhTG9hZGVyLmxvYWRBbGxvd2VkVHlwZXMoKS50aGVuKCgpID0+IHt0aGlzLmhhbmRsZUFjY2VwdGVkRmlsZVR5cGVzTG9hZGVkKHZhbHVlKX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGZpbGVUeXBlKCk6IEZpbGVUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZVR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkb2N1bWVudHM6IENvRG9jdW1lbnRbXSA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZG9jdW1lbnRUYWJsZTogVGFibGVOYW1lO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGRvY3VtZW50S2V5KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9kb2N1bWVudEtleSA9IHZhbHVlICsgXCJcIjsgLy8gZm9yY2Ugc3RyaW5nXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBkb2N1bWVudEtleSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kb2N1bWVudEtleTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGUgYWJpbGl0eSB0byBkcm9wIGZpbGVzIG9uIHRoZSBwYWdlXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZ1bGxQYWdlRHJvcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8vIElmIHVzZXIgZ2V0cyB0aGUgYWJpbGl0eSBvZiBhZGRpbmcgZmlsZXMuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNhbkFkZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkcm9wTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAgIC8vIFNob3cgYWRkIGJ1dHRvblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhZGRXaXRoQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvLyBJZiB1c2VyIGdldHMgdGhlIGFiaWxpdHkgb2YgZGVsZXRpbmcgZmlsZXMuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNhbkRlbGV0ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIG5vRHJhZ0Ryb3BPcmRlcmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2hhcmVkLWhpZGRlbicpXHJcbiAgICBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3BvcHVwICYmIHRoaXMuX3BvcHVwLmluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnJlYWRvbmx5ID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBhc2tCZWZvcmVEZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyByZXNpemVJbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxvY2tPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdW5sb2NrT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja1NpbXBsZUZ1bmN0aW9uID0gT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFjaztcclxuXHJcblxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJlZm9yZURlbGV0ZU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhZnRlckRlbGV0ZU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBiZWZvcmVDcmVhdGVPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWZ0ZXJDcmVhdGVPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmVmb3JlRWRpdE9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGRvbnRBc2tCZWZvcmVEZWxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9Pd25EZWxldGVPcGVyYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIF9maWxlVHlwZTogRmlsZVR5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgbWF4VXBsb2FkU2l6ZVBhcmFtKHZhbHVlOiBJbnRlcm5hbFBhcmFtKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldEludGVybmFsUGFyYW1PYmoodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgdXNlV2l0aG91dFNldHRpbmdQcm9wczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzOiBGaWxlc1VwbG9hZENvbmZpZ09iamVjdHM7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIG1lZGljYWxVc2VyR3JvdXBzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdDYXRlZ29yeTogVGFnQ2F0ZWdvcnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdSZWZlcmVuY2VUYWJsZTogVGFibGVOYW1lO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBkaXNwbGF5UmVhZFdyaXRlQWNjZXNzOiBib29sZWFuO1xyXG5cclxuICAgIC8vIFVzZSB3aXRoIGN1c3RvbUZpbGVEcm9wRXZlbnRcclxuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIHVzZUN1c3RvbUZpbGVEcm9wRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCB1c2VDdXN0b21GaWxlRHJvcEV2ZW50XHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBjdXN0b21GaWxlRHJvcEV2ZW50OiBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlTGlzdD4oKTtcclxuXHJcbiAgICAvLyBFbWl0cyBpZiB1c2VyIHdhbnRzIHRvIGFkZCBtdWx0aXBsZSBkb2N1bWVudHMgYXQgb25jZVxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRzQWRkZWQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50W10+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWxldGVkOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gICAgLy8gRW1pdHMgZXZlcnkgdGltZSB0aGUgb3JkZXIgb2YgZG9jdW1lbnRzIHdhcyBjaGFuZ2VkXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBzb3J0YWJsZUxpc3RDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudFtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudFtdPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50Q2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgICAvLyBVc2UgdGhpcyBpZiBjb25zdW1lciByZXF1aXJlcyB0byBwZXJmb3JtIGV4dHJhIGFjdGlvbnMsIGxpa2UgbG9ja2luZyBhIHBhcmVudCBidXNpbmVzc09iamVjdCBpZiBpdCBjb250YWlucyB0aGUgY29sbGVjdGlvbiBvZiBkb2N1bWVudHMuIEVtaXQgd2l0aCB0cnVlIHdoZW4gcG9wdXAgb3BlbmVkLCBmYWxzZSBmb3IgY2xvc2VcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBvcHVwT3BlbmVkU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5oaWRkZW5cIilcclxuICAgIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyb3BcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnVzZUN1c3RvbUZpbGVEcm9wRXZlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5maWxlc1BpY2tlZChldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tRmlsZURyb3BFdmVudC5lbWl0KGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9jbGVhckRyb3B6b25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyYWdlbmRcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uRHJhZ0VuZChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmNsZWFyRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuX2NsZWFyRHJvcHpvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwiZHJhZ292ZXJcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyYWdlbnRlclwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBwdWJsaWMgb25EcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RyYWdFbnRlclRhcmdldCA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICB0aGlzLl9zaG93RHJvcHpvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwiZHJhZ2xlYXZlXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5fZHJhZ0VudGVyVGFyZ2V0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NsZWFyRHJvcHpvbmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRvY3VtZW50VW5kZXJFZGl0OiBDb0RvY3VtZW50O1xyXG4gICAgcHVibGljIGFjY2VwdGVkVXBsb2FkRm9ybWF0czogc3RyaW5nO1xyXG5cclxuICAgIHByb3RlY3RlZCBfbWF4VXBsb2FkRmlsZVNpemU6IG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIF9kcmFnRW50ZXJUYXJnZXQ6IEV2ZW50VGFyZ2V0O1xyXG4gICAgcHJpdmF0ZSBfZG9jdW1lbnRLZXk6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBwcml2YXRlIF9kcm9wWm9uZTogQ29tcG9uZW50UmVmPEFwcEZpbGVEcm9wem9uZUNvbXBvbmVudD47XHJcbiAgICBwcml2YXRlIF9wb3B1cDogQ29tcG9uZW50UmVmPEZpbGVVcGxvYWRQb3B1cENvbXBvbmVudD47XHJcbiAgICBwcml2YXRlIF9kb2NDaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgX3BvcHVwQ2xvc2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX2R1bW15VHJ1ZUZ1bmN0aW9uOiBPcGVyYXRpb25DYWxsYmFja1NpbXBsZUZ1bmN0aW9uID0gKG9iamVjdDogYW55KSA9PiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcblxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9wcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAvL3Byb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9nZW5lcmFsRGFsUmVwb3NpdG9yeTogR2VuZXJhbERhbFJlcG9zaXRvcnksXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2RhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICAvL3Byb3RlY3RlZCBfYmFzZURhdGFEYWxSZXBvc2l0b3J5OiBCYXNlRGF0YURhbFJlcG9zaXRvcnksXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2NvRG9jdW1lbnREYXRhTG9hZGVyOiBDb0RvY3VtZW50RGF0YUxvYWRlclNlcnZpY2VcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jbGVhckRyb3B6b25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2hvd0Ryb3B6b25lKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5fZHJvcFpvbmUpIHtcclxuICAgICAgICAgICAgY29uc3QgZmFjdDogQ29tcG9uZW50RmFjdG9yeTxBcHBGaWxlRHJvcHpvbmVDb21wb25lbnQ+ID0gdGhpcy5fZmFjdG9yeS5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShBcHBGaWxlRHJvcHpvbmVDb21wb25lbnQpO1xyXG4gICAgICAgICAgICB0aGlzLl9kcm9wWm9uZSA9IHRoaXMuX2NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Ryb3Bab25lLmluc3RhbmNlLmN1c3RvbURyb3BBY3Rpb25NZXNzYWdlID0gdGhpcy5kcm9wTWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2xlYXJEcm9wem9uZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICBpZiAodGhpcy5fZHJvcFpvbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZHJvcFpvbmUuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9kcm9wWm9uZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVtb3ZlIGZpbGUgZnJvbSB1cGxvYWQgYXJyYXkuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlRGVsZXRlKGZpbGU6IENvRG9jdW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMuYmVmb3JlRGVsZXRlT3BlcmF0aW9uKGZpbGUpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9kZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuYWZ0ZXJEZWxldGVPcGVyYXRpb24oZmlsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc3VjY2Vzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfZGVsZXRlKGZpbGU6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBsZXQgZG9EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgIGlmICghdGhpcy5kb250QXNrQmVmb3JlRGVsZXRlKSB7XHJcbiAgICAgICAgICAvL1RPRE8gbWFrZSBkaWFsb2dTZXJ2aWNlXHJcbiAgICAgICAgICAgIC8vZG9EZWxldGUgPSBhd2FpdCB0aGlzLl9wcm9tcHRTZXJ2aWNlLnNob3dZZXNObyhcIk1FU1NBR0VfREVMRVRFX1JFQ09SRF9RVUVTVElPTlwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRvRGVsZXRlKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ub093bkRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50KGZpbGUsIHRoaXMuZG9jdW1lbnRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50RGVsZXRlZC5lbWl0KGZpbGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlU29ydGluZ0NoYW5nZShkb2NzOiBDb0RvY3VtZW50W10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNvcnRhYmxlTGlzdENoYW5nZWQuZW1pdChkb2NzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlRmlsZUNoYW5nZShldmVudDogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnRhcmdldCAmJiBldmVudC50YXJnZXQuZmlsZXMgJiYgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgLy8gY2hlY2sgZmlsZSBzaXplcyBhbmQgZXh0ZW5zaW9uXHJcbiAgICAgICAgICAgIC8vVG9kbzogZml4IHRoaXNcclxuICAgICAgICAgICAgLy9jb25zdCBhbGxvd2VkRXh0ZW5zaW9ucyA9IGF3YWl0IHRoaXMuX2Jhc2VEYXRhRGFsUmVwb3NpdG9yeS5nZXRBbGxvd2VkRXh0ZW5zaW9ucygpO1xyXG4gICAgICAgICAgICBsZXQgYWxsRmlsZXNBcmVTbWFsbEVub3VnaDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgICAgIGxldCBhbGxGaWxlc0hhdmVBbGxvd2VkRXh0ZW5zaW9uczogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IHNpemVUb0NvbXBhcmU6IG51bWJlciA9IHRoaXMuX21heFVwbG9hZEZpbGVTaXplID8gdGhpcy5fbWF4VXBsb2FkRmlsZVNpemUgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGxlbjogbnVtYmVyID0gZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1cGxvYWRTaXplQWxsb3dlZCA9IEZpbGVVdGlscy5DaGVja01heFVwbG9hZFNpemUoZXZlbnQudGFyZ2V0LmZpbGVzW2ldLCBzaXplVG9Db21wYXJlKTtcclxuICAgICAgICAgICAgICAgIGlmICghdXBsb2FkU2l6ZUFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGxGaWxlc0FyZVNtYWxsRW5vdWdoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBleHRlbnNpb25BbGxvd2VkID0gdHJ1ZS8vRmlsZVV0aWxzLkNoZWNrRXh0ZW5zaW9uKGV2ZW50LnRhcmdldC5maWxlc1tpXSwgYWxsb3dlZEV4dGVuc2lvbnMpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFleHRlbnNpb25BbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsRmlsZXNIYXZlQWxsb3dlZEV4dGVuc2lvbnMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKCFhbGxGaWxlc0FyZVNtYWxsRW5vdWdoKSB7XHJcbiAgICAgICAgICAgICAgLy9UT0RPIG1ha2UgZGlhbG9nU2VydmljZVxyXG4gICAgICAgICAgICAgICAgLy90aGlzLl9wcm9tcHRTZXJ2aWNlLnNob3dXYXJuaW5nKHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIkZJTEVfVE9PX0xBUkdFX1RPX1VQTE9BRFwiLCB0cnVlLCBcIlwiICsgW0ZpbGVVdGlscy5nZXRNYXhVcGxvYWRTaXplSW5NYihzaXplVG9Db21wYXJlKV0pKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICghYWxsRmlsZXNIYXZlQWxsb3dlZEV4dGVuc2lvbnMpIHtcclxuICAgICAgICAgICAgICAgIC8vY29uc3QgZXh0ZW5zaW9uc0xpc3QgPSBhbGxvd2VkRXh0ZW5zaW9ucy5tYXAoYWxsb3dlZEV4dGVuc2lvbiA9PiBhbGxvd2VkRXh0ZW5zaW9uLmV4dGVuc2lvbikuc29ydCgpLmpvaW4oXCIsIFwiKTtcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5fcHJvbXB0U2VydmljZS5zaG93V2FybmluZyh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJGSUxFX0hBU19ESVNBTExPV0VEX0VYVEVOU0lPTlwiLCBmYWxzZSwgZXh0ZW5zaW9uc0xpc3QpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzVG9BZGQ6IENvRG9jdW1lbnRbXSA9IGF3YWl0IHRoaXMuY29udmVydEZpbGVzSW50b0NvRG9jdW1lbnRzKGV2ZW50LnRhcmdldC5maWxlcyk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGZpbGVzVG9BZGQubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRzQWRkZWQuZW1pdChmaWxlc1RvQWRkKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlV2l0aG91dFNldHRpbmdQcm9wcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkZGVkLm5leHQoZmlsZXNUb0FkZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdCA9IGZpbGVzVG9BZGRbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVFZGl0RG9jdW1lbnRDbGljayhkb2NUb0VkaXQ6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gZG9jVG9FZGl0O1xyXG4gICAgICAgIGNvbnN0IHNob3dQb3B1cDogYm9vbGVhbiA9IGF3YWl0IHRoaXMuYmVmb3JlRWRpdE9wZXJhdGlvbihkb2NUb0VkaXQpO1xyXG4gICAgICAgIGlmIChzaG93UG9wdXApIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG9wZW5Qb3B1cCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLl9jcmVhdGVBbmRGaWxsUG9wdXBJbnN0YW5jZSgpO1xyXG5cclxuICAgICAgICB0aGlzLl9kb2NDaGFuZ2VTdWIgPSB0aGlzLl9wb3B1cC5pbnN0YW5jZS5kb2N1bWVudENoYW5nZUV2ZW50LnN1YnNjcmliZSgoZG9jOiBDb0RvY3VtZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRDaGFuZ2VFdmVudC5lbWl0KGRvYyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW5Qb3B1cFRvQWRkRG9jdW1lbnRCeVVybCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9jcmVhdGVEb2N1bWVudFRvQWRkQnlVcmwoKTtcclxuICAgICAgICB0aGlzLl9jcmVhdGVBbmRGaWxsUG9wdXBJbnN0YW5jZSh0cnVlKTtcclxuXHJcbiAgICAgICAgdGhpcy5fZG9jQ2hhbmdlU3ViID0gdGhpcy5fcG9wdXAuaW5zdGFuY2UuZG9jdW1lbnRDaGFuZ2VFdmVudC5zdWJzY3JpYmUoKGRvYzogQ29Eb2N1bWVudCkgPT4ge1xyXG4gICAgICAgICAgICBkb2MuZmlsZU5hbWUgPSBkb2MuZmlsZVBhdGg7XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRDaGFuZ2VFdmVudC5lbWl0KGRvYyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlRG9jdW1lbnRUb0FkZEJ5VXJsKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQgPSBuZXcgQ29Eb2N1bWVudCgpO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQudGFibGUgPSB0aGlzLmRvY3VtZW50VGFibGU7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5rZXkgPSB0aGlzLmRvY3VtZW50S2V5O1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZmlsZVR5cGUgPSB0aGlzLmZpbGVUeXBlO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZG9jdW1lbnRUeXBlID0gQ29Eb2N1bWVudFR5cGUuU2F2ZUFzTGlua09uUmFuZG9tTG9jYXRpb247XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5wYXRoSXNVcmwgPSB0cnVlO1xyXG4gICAgICAgIC8vVE9ETyBGaXggdXNlciBJbnB1dFxyXG4gICAgICAgIC8vdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5jcmVhdGlvblVzZXIgPSB0aGlzLl91c2VyU2VydmljZS51c2VyTmFtZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgIC8vdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5tb2RpZmllZFVzZXIgPSB0aGlzLl91c2VyU2VydmljZS51c2VyTmFtZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQuY3JlYXRpb25EYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0Lm1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlQW5kRmlsbFBvcHVwSW5zdGFuY2UoYWRkRG9jdW1lbnRCeVVybDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wb3B1cE9wZW5lZFN0YXRlQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8RmlsZVVwbG9hZFBvcHVwQ29tcG9uZW50PiA9IHRoaXMuX2ZhY3RvcnkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRmlsZVVwbG9hZFBvcHVwQ29tcG9uZW50KTtcclxuXHJcbiAgICAgICAgdGhpcy5fcG9wdXAgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG5cclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5yZWFkb25seSA9IHRoaXMuX3JlYWRvbmx5O1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmFkZERvY3VtZW50QnlVcmwgPSBhZGREb2N1bWVudEJ5VXJsO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmhhc1B1YmxpY0FjY2Vzc1Zpc2libGUgPSB0aGlzLmRvY3VtZW50VGFibGUgPT09IFRhYmxlTmFtZS5Hb29kcztcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5zaG93RG9jdW1lbnRSZXBvcnRQaWNrZXIgPSAodGhpcy5kb2N1bWVudFRhYmxlID09PSBUYWJsZU5hbWUuVHJhbnNhY3Rpb25zIHx8IHRoaXMuZG9jdW1lbnRUYWJsZSA9PT0gVGFibGVOYW1lLlRyYW5zYWN0aW9uTGluZXMpO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmRvY3VtZW50VW5kZXJFZGl0ID0gdGhpcy5kb2N1bWVudFVuZGVyRWRpdDtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5maWxlc1VwbG9hZENvbmZpZ09iamVjdHMgPSB0aGlzLmZpbGVzVXBsb2FkQ29uZmlnT2JqZWN0cztcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5tZWRpY2FsVXNlckdyb3VwcyA9IHRoaXMubWVkaWNhbFVzZXJHcm91cHM7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UudGFnQ2F0ZWdvcnkgPSB0aGlzLnRhZ0NhdGVnb3J5O1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmRpc3BsYXlSZWFkV3JpdGVBY2Nlc3MgPSB0aGlzLmRpc3BsYXlSZWFkV3JpdGVBY2Nlc3M7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UudGFnUmVmZXJlbmNlVGFibGUgPSB0aGlzLnRhZ1JlZmVyZW5jZVRhYmxlO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnB1YmxpY2F0aW9uSWRzID0gUmVmQ29kZVV0aWxzLkdldE11bHRpUmVmQ29kZUNob2ljZXModGhpcy5kb2N1bWVudFVuZGVyRWRpdC5wdWJsaWNhdGlvbik7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2Uuc3RvcmVHcm91cElkcyA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmV0YWlsRm9ybXVsYXM7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UuZmlsZVR5cGUgPSB0aGlzLmZpbGVUeXBlO1xyXG5cclxuICAgICAgICB0aGlzLl9wcmVwYXJlRmlsZVJpZ2h0cygpO1xyXG5cclxuICAgICAgICB0aGlzLl9wb3B1cENsb3NlU3ViID0gdGhpcy5fcG9wdXAuaW5zdGFuY2UucG9wdXBDbG9zZUV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RvY3VtZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMucG9wdXBPcGVuZWRTdGF0ZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wdXBDbG9zZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9kb2NDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wdXAuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9wb3B1cCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgY29udmVydEZpbGVzSW50b0NvRG9jdW1lbnRzKGZpbGVzOiBGaWxlTGlzdCk6IFByb21pc2U8Q29Eb2N1bWVudFtdPiB7XHJcbiAgICAgICAgY29uc3QgYW1vdW50T2ZGaWxlczogbnVtYmVyID0gZmlsZXMubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IGZpbGVzVG9BZGQ6IENvRG9jdW1lbnRbXSA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgYW1vdW50T2ZGaWxlczsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVBc0RvY3VtZW50OiBDb0RvY3VtZW50ID0gYXdhaXQgdGhpcy5fZ2V0RmlsZUFzRG9jdW1lbnQoZmlsZXNbaV0pO1xyXG4gICAgICAgICAgICBmaWxlQXNEb2N1bWVudC5pbmRleCA9IENvRG9jdW1lbnRTaGFyZWRGaWVsZExvZ2ljLkdlbmVyYXRlQXZhaWxhYmxlSW5kZXhOcih0aGlzLmRvY3VtZW50cyB8fCBbXSkgKyBpO1xyXG4gICAgICAgICAgICBmaWxlc1RvQWRkLnB1c2goZmlsZUFzRG9jdW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmlsZXNUb0FkZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZmlsZXNQaWNrZWQoZmlsZXM6IEZpbGVMaXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBsZXQgYWxsRmlsZXNBcmVWYWxpZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IGFtb3VudE9mRmlsZXM6IG51bWJlciA9IGZpbGVzLmxlbmd0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGFtb3VudE9mRmlsZXM7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFGaWxlVXRpbHMuQ2hlY2tNYXhVcGxvYWRTaXplKGZpbGVzW2ldLCB0aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGxGaWxlc0FyZVZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghYWxsRmlsZXNBcmVWYWxpZCkge1xyXG4gICAgICAgICAgICAgIC8vVE9ETyBtYWtlIGRpYWxvZ1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5fcHJvbXB0U2VydmljZS5zaG93V2FybmluZyh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJGSUxFX1RPT19MQVJHRV9UT19VUExPQURcIiwgdHJ1ZSwgXCJcIiArIEZpbGVVdGlscy5nZXRNYXhVcGxvYWRTaXplSW5NYih0aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSkudG9TdHJpbmcoKSkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZXNUb0FkZDogQ29Eb2N1bWVudFtdID0gYXdhaXQgdGhpcy5jb252ZXJ0RmlsZXNJbnRvQ29Eb2N1bWVudHMoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChmaWxlc1RvQWRkLmxlbmd0aCA+IDEgfHwgdGhpcy51c2VXaXRob3V0U2V0dGluZ1Byb3BzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGRlZC5lbWl0KGZpbGVzVG9BZGQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gZmlsZXNUb0FkZFswXTsgLy8gU2V0dGluZyBkb2NVbmRlckVkaXQgb3BlbnMgdGhlIHBvcHVwIHdpbmRvd1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUFjY2VwdGVkRmlsZVR5cGVzTG9hZGVkKHZhbHVlOiBGaWxlVHlwZSk6IHZvaWQge1xyXG4gICAgICAgIC8vVE9ETyBmaXggbG9hZGluZ1xyXG4gICAgICAgIC8vdGhpcy5hY2NlcHRlZFVwbG9hZEZvcm1hdHMgPSB0aGlzLl9jb0RvY3VtZW50RGF0YUxvYWRlci5nZXRBbGxvd2VkRXh0ZW5zaW9uc0ZvclR5cGUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX2dldEZpbGVBc0RvY3VtZW50KGZpbGU6IEZpbGUpOiBQcm9taXNlPENvRG9jdW1lbnQ+IHtcclxuICAgICAgICBjb25zdCBmaWxlQXNDb0RvY3VtZW50OiBDb0RvY3VtZW50ID0gYXdhaXQgRmlsZVV0aWxzLlJlYWRGaWxlQXNOZXdDb0RvY3VtZW50KGZpbGUsIHRoaXMucmVzaXplSW1hZ2VzKTtcclxuICAgICAgICAvLyBzZXQgc29tZSBleHRyYSBrbm93biBmaWVsZHMgZm9yIHRoZSBjb2RvY3VtZW50OlxyXG4gICAgICAgIGZpbGVBc0NvRG9jdW1lbnQudGFibGUgPSB0aGlzLmRvY3VtZW50VGFibGU7XHJcbiAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5rZXkgPSB0aGlzLmRvY3VtZW50S2V5O1xyXG4gICAgICAgIC8vVE9ETyBmaXggYWRkIHVzZXJzXHJcbiAgICAgICAgLy9maWxlQXNDb0RvY3VtZW50LmNyZWF0aW9uVXNlciA9IHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXJOYW1lLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgLy9maWxlQXNDb0RvY3VtZW50Lm1vZGlmaWVkVXNlciA9IHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXJOYW1lLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5jcmVhdGlvbkRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGZpbGVBc0NvRG9jdW1lbnQubW9kaWZpZWREYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBmaWxlQXNDb0RvY3VtZW50LmZpbGVUeXBlID0gdGhpcy5maWxlVHlwZSA/IHRoaXMuZmlsZVR5cGUgOiBGaWxlVXRpbHMuSXNJbWFnZUZpbGUoZmlsZSkgPyBGaWxlVHlwZS5JbWFnZSA6IEZpbGVUeXBlLkRvY3VtZW50O1xyXG5cclxuICAgICAgICBpZiAoZmlsZUFzQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmlsZUFzQ29Eb2N1bWVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0SW50ZXJuYWxQYXJhbU9iaih2YWx1ZTogSW50ZXJuYWxQYXJhbSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIC8vVE9ETyBmaXggcGFyYW1zXHJcbiAgICAgICAgLy9jb25zdCBwYXJhbTogSW50ZXJuYWxQYXJhbWV0ZXJPYmplY3QgPSBhd2FpdCB0aGlzLl9nZW5lcmFsRGFsUmVwb3NpdG9yeS5nZXRJbnRlcm5hbFBhcmFtT2JqZWN0KHZhbHVlKTtcclxuICAgICAgICAvL3RoaXMuX21heFVwbG9hZEZpbGVTaXplID0gaXNOYU4ocGFyc2VJbnQocGFyYW0udmFsdWUsIDApKSA/IHVuZGVmaW5lZCA6IHBhcnNlSW50KHBhcmFtLnZhbHVlLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9sb2NrRG9jdW1lbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmRvY3VtZW50SWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIE5ldyBkb2N1bWVudCBkb2VzIG5vdCBoYXZlIGFuIElEIGFuZCB0aGVyZWZvcmUgZG9lcyBub3QgaGF2ZSB0byBiZSBsb2NrZWRcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGxvY2tPazogYm9vbGVhbiA9IGF3YWl0IHRoaXMubG9ja09wZXJhdGlvbihDb0RvY3VtZW50KTtcclxuICAgICAgICByZXR1cm4gbG9ja09rO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX3VubG9ja0RvY3VtZW50KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICBpZiAoIXRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZG9jdW1lbnRJZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBOZXcgZG9jdW1lbnQgZG9lcyBub3QgaGF2ZSBhbiBJRCBhbmQgdGhlcmVmb3JlIGRvZXMgbm90IGhhdmUgdG8gYmUgbG9ja2VkXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHVubG9ja09rOiBib29sZWFuID0gYXdhaXQgdGhpcy51bmxvY2tPcGVyYXRpb24oQ29Eb2N1bWVudCk7XHJcbiAgICAgIHJldHVybiB1bmxvY2tPaztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlRmlsZVJpZ2h0cygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmlnaHRzLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgcmlnaHQ6IENvRG9jdW1lbnRSaWdodCA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmlnaHRzW2ldO1xyXG4gICAgICAgICAgICBpZiAocmlnaHQucmlnaHRMZXZlbCA9PT0gT2JqZWN0UmlnaHRUeXBlLlJlYWRXcml0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UudXNlckdyb3Vwc0ZvcldyaXRlLnB1c2gocmlnaHQudXNlckdyb3VwSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChyaWdodC5yaWdodExldmVsID09PSBPYmplY3RSaWdodFR5cGUuUmVhZE9ubHkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnVzZXJHcm91cHNGb3JSZWFkLnB1c2gocmlnaHQudXNlckdyb3VwSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -138,4 +138,4 @@ __decorate([
|
|
|
138
138
|
__decorate([
|
|
139
139
|
InputBoolean()
|
|
140
140
|
], FilesUploadComponent.prototype, "hideAvatars", void 0);
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixZQUFZLEVBRVosWUFBWSxFQUFFLFVBQVUsRUFDeEIsV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFHNUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBdUR6RywwSUFBMEk7QUFDMUksTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtJQW9FN0Q7SUFDSSwrQkFBK0I7SUFDL0IsaUJBQW9EO0lBQ3BELDJCQUEyQjtJQUNqQixVQUE0QixFQUM1QixRQUFrQztRQVE1QyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBVHJDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBMURoRCxxQkFBcUI7UUFFZCxVQUFLLEdBQVcsYUFBYSxDQUFDO1FBTTlCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUlsQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBU3BCLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNFLG9CQUFlLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR2pGLGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQW1CdEUsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsZUFBVSxHQUFZLEtBQUssQ0FBQztJQWdCbkMsQ0FBQztJQWhGRCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUE0Q00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUF1QkQsV0FBVztRQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFWSxlQUFlOztZQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQztLQUFBO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBeEpKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSw4Q0FBOEM7d0JBQ3ZELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7cUJBQ3REO2lCQUNKO2FBQ0o7OztZQXRETyxpQ0FBaUM7WUFSdkMsZ0JBQWdCO1lBVmhCLHdCQUF3Qjs7O3VCQTRFckIsS0FBSzsrQkFNTCxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO29CQUkvQyxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztvQkFJckMsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7eUJBR0wsS0FBSzswQkFJTCxLQUFLO3NDQUdMLEtBQUs7dUJBR0wsS0FBSztpQ0FHTCxNQUFNOzhCQUdOLE1BQU07eUJBR04sTUFBTTt3QkFJTixXQUFXLFNBQUMsdUJBQXVCO3VCQUtuQyxXQUFXLFNBQUMsZ0JBQWdCO29CQUs1QixXQUFXLFNBQUMsYUFBYTt5QkFPekIsV0FBVyxTQUFDLGdCQUFnQjs7QUF0QzdCO0lBREMsWUFBWSxFQUFFO3dEQUNvQjtBQUduQztJQURVLFlBQVksRUFBRTt5REFDWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUZpbGVVcGxvYWRDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYmFzZS1maWxlLXVwbG9hZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tZmlsZXMtdXBsb2FkXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlcy11cGxvYWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZHJhZy1kcm9wLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGFibGVMaXN0XT1cImRvY3VtZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzb3J0aW5nQ2hhbmdlKT1cImhhbmRsZVNvcnRpbmdDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVTb3J0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFnSGFuZGxlPVwidGlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVkXT1cIiFub0RyYWdEcm9wT3JkZXJpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWFkZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nSWY9XCJjYW5BZGQgJiYgYWRkV2l0aEJ1dHRvblwiIGNsYXNzPVwiYWRkLWZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWRkaW5nVGlsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwbHVzX3JvdW5kX29wZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbCB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdmVyKT1cIm1vdXNlT3ZlckFkZCA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZW91dCk9XCJtb3VzZU92ZXJBZGQgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUFkZENsaWNrKClcIj48L2NvLWZpbGUtdXBsb2FkPiA8IS0tIChjbGljayk9XCJoYW5kbGVBZGRDbGljaygpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nSWY9XCIhZG9jdW1lbnRzIHx8IGRvY3VtZW50cy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImFkZC1kcm9wem9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBZGRpbmdUaWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Ryb3B6b25lXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRFJPUFpPTkVfVEVYVCcgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJtb3VzZU92ZXJBZGQgPSB0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdXQpPVwibW91c2VPdmVyQWRkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDbGljaygpXCI+PC9jby1maWxlLXVwbG9hZD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nRm9yPVwibGV0IGZpbGUgb2YgZG9jdW1lbnRzXCIgY2xhc3M9XCJ0aWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZpbGUucmVhZG9ubHkgfHwgcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGlkZGVuXT1cImhpZGVBdmF0YXJzID8gZmlsZS5pc0F2YXRhciA6IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWxlLmZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dUcmFzaENhbl09XCJjYW5EZWxldGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2tdPVwiZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNFZGl0YWJsZV09XCJpc0VkaXRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUltYWdlQ2xpY2tdPVwiY3VzdG9tSW1hZ2VDbGlja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbWFnZUNsaWNrKT1cImltYWdlQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImhhbmRsZURlbGV0ZShmaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChlZGl0Q2xpY2spPVwiaGFuZGxlRWRpdERvY3VtZW50Q2xpY2soJGV2ZW50KVwiPjwvY28tZmlsZS11cGxvYWQ+XHJcbiAgICAgICAgICAgIDwvZHJhZy1kcm9wLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXh1cGxvYWRzaXplXCIgdGV4dENvbnRlbnQ9XCJnZXRNYXhGaWxlU2l6ZU5vdGl0aW9uKClcIiBbY2xhc3Muc2hvd109XCJtb3VzZU92ZXJBZGRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXRGaWxlIFthY2NlcHRdPVwiYWNjZXB0ZWRVcGxvYWRGb3JtYXRzXCIgKGNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIiB0eXBlPVwiZmlsZVwiIGhpZGRlbiBtdWx0aXBsZS8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZXNVcGxvYWRDb21wb25lbnQpXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG4vLyBBIGNvbXBvbmVudCB0aGF0IGxldHMgdGhlIHVzZXIgbWFrZSBhIGxpc3Qgb2YgZmlsZXMgZnJvbSBpdHMgZGV2aWNlLiBEb2Vzbid0IGFjdHVhbGx5IHVwbG9hZCwgYnV0IG91dHB1dHMgY2hvc2VuIGZpbGVzIGFzIGZpbGVzQ2hhbmdlZC5cclxuZXhwb3J0IGNsYXNzIEZpbGVzVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGRyb3B6b25lKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5pc0Ryb3B6b25lID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy90b2RvIHNlZSBpZiB0aGlzIGlzIHVzZWQgYW55d2hlcmUgaWYgbm90LCByZW1vdmVcclxuICAgIEBDb250ZW50Q2hpbGQoXCJzbGlkZW91dFRlbXBsYXRlXCIsIHtzdGF0aWM6IHRydWV9KVxyXG4gICAgcHVibGljIHNsaWRlb3V0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgLy8gKEhpZGRlbikgaW5wdXQgZm9yIGZpbGUgdXBsb2FkIGZhY2lsaXRpZXNcclxuICAgIEBWaWV3Q2hpbGQoXCJpbnB1dEZpbGVcIiwge3N0YXRpYzogdHJ1ZX0pXHJcbiAgICBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgLy8gSW5wdXQgYnV0dG9uIGxhYmVsXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSBcIlVQTE9BRF9GSUxFXCI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjZmdOYW1lczogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3VzdG9tSW1hZ2VDbGljazogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBpc0VkaXRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgaGlkZUF2YXRhcnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGVTYXZlc09uUG9wdXBPa0NsaWNrOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWxlY3RlZDogc3RyaW5nO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRTbGlkZW91dFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHRhZ3NDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPFRhZ1RyZWVJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYWdUcmVlSXRlbVtdPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGltYWdlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1maWxlcy11cGxvYWQnKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZWRpdGFibGVcIilcclxuICAgIHB1YmxpYyBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuQWRkO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmVtcHR5XCIpXHJcbiAgICBwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5kb2N1bWVudHMgfHwgdGhpcy5kb2N1bWVudHMubGVuZ3RoID09PSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBtb3VzZU92ZXJBZGQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgc2xpZGVvdXRTaG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kcm9wem9uZScpXHJcbiAgICBwdWJsaWMgaXNEcm9wem9uZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIC8vcHJvbXB0U2VydmljZTogUHJvbXB0U2VydmljZSxcclxuICAgICAgICBkaWN0aW9uYXJ5U2VydmljZTogU2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgICAgIC8vdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9kYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2Jhc2VEYXRhRGFsUmVwb3NpdG9yeTogQmFzZURhdGFEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgLy8gcHJvdGVjdGVkIF9nZW5lcmFsRGFsUmVwb3NpdG9yeTogR2VuZXJhbERhbFJlcG9zaXRvcnksXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2NvRG9jdW1lbnREYXRhTG9hZGVyOiBDb0RvY3VtZW50RGF0YUxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgLy9wcml2YXRlIF93b3JrYWJpbGl0eTogQXBwV29ya2FiaWxpdHlTZXJ2aWNlLFxyXG4gICAgICAgIC8vcHJpdmF0ZSBfZmlsZVR5cGVJbWdQaXBlOiBGaWxlVHlwZUltYWdlUGlwZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZGljdGlvbmFyeVNlcnZpY2UsIF9jb250YWluZXIsIF9mYWN0b3J5KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNsaWRlb3V0VGVtcGxhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5pbnB1dCA9IHVuZGVmaW5lZDtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvcGVuRmlsZUJyb3dzZXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wdXQgJiYgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlQWRkQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vcGVuRmlsZUJyb3dzZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvL3RvZG8gY2hlY2sgaWYgdGhpcyBjYW4gYmUgcmVtb3ZlZCBhdCB0aGUgZW5kIG9mIHRoZSBydW5cclxuICAgIC8qcHVibGljIG9uQ3VzdG9tQ2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdCA9IHVuZGVmaW5lZDtcclxuICAgIH0qL1xyXG59XHJcbiJdfQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixZQUFZLEVBRVosWUFBWSxFQUFFLFVBQVUsRUFDeEIsV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFHNUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBdUR6RywwSUFBMEk7QUFDMUksTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtJQW1FN0Q7SUFDSSwrQkFBK0I7SUFDL0IsaUJBQW9EO0lBQ3BELDJCQUEyQjtJQUNqQixVQUE0QixFQUM1QixRQUFrQztRQVE1QyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBVHJDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBekRoRCxxQkFBcUI7UUFFZCxVQUFLLEdBQVcsYUFBYSxDQUFDO1FBTTlCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUlsQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBU3BCLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNFLG9CQUFlLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR2pGLGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQWtCdEUsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsZUFBVSxHQUFZLEtBQUssQ0FBQztJQWdCbkMsQ0FBQztJQS9FRCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUEyQ00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUF1QkQsV0FBVztRQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFWSxlQUFlOztZQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQztLQUFBO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBdkpKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSw4Q0FBOEM7d0JBQ3ZELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7cUJBQ3REO2lCQUNKO2FBQ0o7OztZQXRETyxpQ0FBaUM7WUFSdkMsZ0JBQWdCO1lBVmhCLHdCQUF3Qjs7O3VCQTRFckIsS0FBSzsrQkFNTCxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO29CQUkvQyxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztvQkFJckMsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7eUJBR0wsS0FBSzswQkFJTCxLQUFLO3NDQUdMLEtBQUs7dUJBR0wsS0FBSztpQ0FHTCxNQUFNOzhCQUdOLE1BQU07eUJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsdUJBQXVCO3VCQUtuQyxXQUFXLFNBQUMsZ0JBQWdCO29CQUs1QixXQUFXLFNBQUMsYUFBYTt5QkFPekIsV0FBVyxTQUFDLGdCQUFnQjs7QUFyQzdCO0lBREMsWUFBWSxFQUFFO3dEQUNvQjtBQUduQztJQURVLFlBQVksRUFBRTt5REFDWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUZpbGVVcGxvYWRDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYmFzZS1maWxlLXVwbG9hZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tZmlsZXMtdXBsb2FkXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlcy11cGxvYWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZHJhZy1kcm9wLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGFibGVMaXN0XT1cImRvY3VtZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzb3J0aW5nQ2hhbmdlKT1cImhhbmRsZVNvcnRpbmdDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVTb3J0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFnSGFuZGxlPVwidGlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVkXT1cIiFub0RyYWdEcm9wT3JkZXJpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWFkZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nSWY9XCJjYW5BZGQgJiYgYWRkV2l0aEJ1dHRvblwiIGNsYXNzPVwiYWRkLWZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWRkaW5nVGlsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwbHVzX3JvdW5kX29wZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbCB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdmVyKT1cIm1vdXNlT3ZlckFkZCA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZW91dCk9XCJtb3VzZU92ZXJBZGQgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUFkZENsaWNrKClcIj48L2NvLWZpbGUtdXBsb2FkPiA8IS0tIChjbGljayk9XCJoYW5kbGVBZGRDbGljaygpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nSWY9XCIhZG9jdW1lbnRzIHx8IGRvY3VtZW50cy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImFkZC1kcm9wem9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBZGRpbmdUaWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Ryb3B6b25lXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRFJPUFpPTkVfVEVYVCcgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJtb3VzZU92ZXJBZGQgPSB0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdXQpPVwibW91c2VPdmVyQWRkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDbGljaygpXCI+PC9jby1maWxlLXVwbG9hZD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nRm9yPVwibGV0IGZpbGUgb2YgZG9jdW1lbnRzXCIgY2xhc3M9XCJ0aWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZpbGUucmVhZG9ubHkgfHwgcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGlkZGVuXT1cImhpZGVBdmF0YXJzID8gZmlsZS5pc0F2YXRhciA6IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWxlLmZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dUcmFzaENhbl09XCJjYW5EZWxldGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2tdPVwiZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNFZGl0YWJsZV09XCJpc0VkaXRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUltYWdlQ2xpY2tdPVwiY3VzdG9tSW1hZ2VDbGlja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbWFnZUNsaWNrKT1cImltYWdlQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImhhbmRsZURlbGV0ZShmaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChlZGl0Q2xpY2spPVwiaGFuZGxlRWRpdERvY3VtZW50Q2xpY2soJGV2ZW50KVwiPjwvY28tZmlsZS11cGxvYWQ+XHJcbiAgICAgICAgICAgIDwvZHJhZy1kcm9wLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXh1cGxvYWRzaXplXCIgdGV4dENvbnRlbnQ9XCJnZXRNYXhGaWxlU2l6ZU5vdGl0aW9uKClcIiBbY2xhc3Muc2hvd109XCJtb3VzZU92ZXJBZGRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXRGaWxlIFthY2NlcHRdPVwiYWNjZXB0ZWRVcGxvYWRGb3JtYXRzXCIgKGNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIiB0eXBlPVwiZmlsZVwiIGhpZGRlbiBtdWx0aXBsZS8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZXNVcGxvYWRDb21wb25lbnQpXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG4vLyBBIGNvbXBvbmVudCB0aGF0IGxldHMgdGhlIHVzZXIgbWFrZSBhIGxpc3Qgb2YgZmlsZXMgZnJvbSBpdHMgZGV2aWNlLiBEb2Vzbid0IGFjdHVhbGx5IHVwbG9hZCwgYnV0IG91dHB1dHMgY2hvc2VuIGZpbGVzIGFzIGZpbGVzQ2hhbmdlZC5cclxuZXhwb3J0IGNsYXNzIEZpbGVzVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGRyb3B6b25lKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5pc0Ryb3B6b25lID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy90b2RvIHNlZSBpZiB0aGlzIGlzIHVzZWQgYW55d2hlcmUgaWYgbm90LCByZW1vdmVcclxuICAgIEBDb250ZW50Q2hpbGQoXCJzbGlkZW91dFRlbXBsYXRlXCIsIHtzdGF0aWM6IHRydWV9KVxyXG4gICAgcHVibGljIHNsaWRlb3V0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgLy8gKEhpZGRlbikgaW5wdXQgZm9yIGZpbGUgdXBsb2FkIGZhY2lsaXRpZXNcclxuICAgIEBWaWV3Q2hpbGQoXCJpbnB1dEZpbGVcIiwge3N0YXRpYzogdHJ1ZX0pXHJcbiAgICBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgLy8gSW5wdXQgYnV0dG9uIGxhYmVsXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSBcIlVQTE9BRF9GSUxFXCI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjZmdOYW1lczogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3VzdG9tSW1hZ2VDbGljazogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBpc0VkaXRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgaGlkZUF2YXRhcnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGVTYXZlc09uUG9wdXBPa0NsaWNrOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWxlY3RlZDogc3RyaW5nO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRTbGlkZW91dFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHRhZ3NDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPFRhZ1RyZWVJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYWdUcmVlSXRlbVtdPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGltYWdlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWZpbGVzLXVwbG9hZCcpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5lZGl0YWJsZVwiKVxyXG4gICAgcHVibGljIGdldCBlZGl0YWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYW5BZGQ7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZW1wdHlcIilcclxuICAgIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmRvY3VtZW50cyB8fCB0aGlzLmRvY3VtZW50cy5sZW5ndGggPT09IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1vdXNlT3ZlckFkZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBzbGlkZW91dFNob3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3B6b25lJylcclxuICAgIHB1YmxpYyBpc0Ryb3B6b25lOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLy9wcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgICAgIGRpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgLy91c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9mYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2RhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICAvL3Byb3RlY3RlZCBfYmFzZURhdGFEYWxSZXBvc2l0b3J5OiBCYXNlRGF0YURhbFJlcG9zaXRvcnksXHJcbiAgICAgICAvLyBwcm90ZWN0ZWQgX2dlbmVyYWxEYWxSZXBvc2l0b3J5OiBHZW5lcmFsRGFsUmVwb3NpdG9yeSxcclxuICAgICAgICAvL3Byb3RlY3RlZCBfY29Eb2N1bWVudERhdGFMb2FkZXI6IENvRG9jdW1lbnREYXRhTG9hZGVyU2VydmljZSxcclxuICAgICAgICAvL3ByaXZhdGUgX3dvcmthYmlsaXR5OiBBcHBXb3JrYWJpbGl0eVNlcnZpY2UsXHJcbiAgICAgICAgLy9wcml2YXRlIF9maWxlVHlwZUltZ1BpcGU6IEZpbGVUeXBlSW1hZ2VQaXBlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihkaWN0aW9uYXJ5U2VydmljZSwgX2NvbnRhaW5lciwgX2ZhY3RvcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2xpZGVvdXRUZW1wbGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmlucHV0ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG9wZW5GaWxlQnJvd3NlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVBZGRDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9wZW5GaWxlQnJvd3NlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vdG9kbyBjaGVjayBpZiB0aGlzIGNhbiBiZSByZW1vdmVkIGF0IHRoZSBlbmQgb2YgdGhlIHJ1blxyXG4gICAgLypwdWJsaWMgb25DdXN0b21DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgfSovXHJcbn1cclxuIl19
|