barsa-novin-ray-core 2.2.71 → 2.2.73
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/esm2022/lib/abstract-classes/models.mjs +1 -1
- package/esm2022/lib/abstract-classes/report-base.mjs +2 -1
- package/esm2022/lib/abstract-classes/report-view-base.component.mjs +12 -4
- package/esm2022/lib/abstract-classes/tile-props.mjs +4 -2
- package/esm2022/lib/barsa-novin-ray-core.module.mjs +15 -9
- package/esm2022/lib/constants.mjs +3 -3
- package/esm2022/lib/directives/index.mjs +2 -1
- package/esm2022/lib/directives/splide-slider.directive.mjs +113 -0
- package/esm2022/lib/form/form.component.mjs +8 -7
- package/esm2022/lib/pipes/card-media-size.pipe.mjs +21 -0
- package/esm2022/lib/pipes/index.mjs +2 -1
- package/esm2022/lib/root-portal/root-portal.component.mjs +25 -7
- package/esm2022/lib/services/portal.service.mjs +5 -1
- package/esm2022/lib/services/ulvmain.service.mjs +8 -1
- package/fesm2022/barsa-novin-ray-core.mjs +198 -24
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/models.d.ts +8 -0
- package/lib/abstract-classes/report-base.d.ts +2 -1
- package/lib/abstract-classes/report-view-base.component.d.ts +2 -0
- package/lib/abstract-classes/tile-props.d.ts +2 -1
- package/lib/barsa-novin-ray-core.module.d.ts +43 -41
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/splide-slider.directive.d.ts +39 -0
- package/lib/form/form.component.d.ts +2 -2
- package/lib/pipes/card-media-size.pipe.d.ts +8 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/root-portal/root-portal.component.d.ts +2 -0
- package/lib/services/portal.service.d.ts +3 -0
- package/lib/services/ulvmain.service.d.ts +4 -1
- package/package.json +1 -1
|
@@ -181,4 +181,4 @@ export var SelectionMode;
|
|
|
181
181
|
SelectionMode["MULTIPLE"] = "multiple";
|
|
182
182
|
SelectionMode["NONE"] = "none";
|
|
183
183
|
})(SelectionMode || (SelectionMode = {}));
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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LFFBSXhCO0FBaUNELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBEYXRlSW5mbyBhcyBEYXRlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXNlcnZpY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIFVsdlBhcmFtVHlwZSA9IHtcclxuICAgIEZsYWdzOiB7IERhdGE6IHN0cmluZzsgRXh0cmE6IHN0cmluZzsgU2VhcmNoOiBzdHJpbmc7IFZpZXc6IHN0cmluZyB9O1xyXG4gICAgUmVwb3J0TmFtZTogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ/OiBzdHJpbmc7XHJcbiAgICBVc2FnZUVudW06IHN0cmluZztcclxufTtcclxuZXhwb3J0IGNsYXNzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIENvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcclxuICAgIENvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkOiBzdHJpbmc7XHJcbiAgICBDb250cm9sRmllbGREZWZJZDogc3RyaW5nO1xyXG4gICAgQ29udHJvbE5hbWU6IHN0cmluZztcclxuICAgIFJlbGF0ZWRGaWVsZExpc3Q6IFtdO1xyXG4gICAgSGlkZTogYm9vbGVhbjtcclxuICAgIHh0eXBlOiBzdHJpbmc7XHJcbiAgICBMYWJlbFBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBJc01hbmRhdG9yeTogYm9vbGVhbjtcclxuICAgIElzVmlzaWJsZTogYm9vbGVhbjtcclxuICAgIFNob3dMYWJlbCA9IHRydWU7XHJcbiAgICBJc1JlYWRPbmx5OiBib29sZWFuO1xyXG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgSXNCb2xkOiBib29sZWFuO1xyXG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XHJcbiAgICBKc29uRXh0cmFQcm9wOiBhbnkgfCBudWxsO1xyXG4gICAgQ29tcG9uZW50OiBzdHJpbmc7XHJcbiAgICBJbmZvOiBDb250cm9sSW5mb1R5cGVzO1xyXG4gICAgRmllbGRJY29uOiBzdHJpbmc7XHJcbiAgICBJc0x0cjogYm9vbGVhbjtcclxuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlQXR0YWNobWVudEluZm8ge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgSWQ6IHN0cmluZztcclxuICAgIElzTmV3OiBib29sZWFuO1xyXG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xyXG4gICAgVHlwZTogc3RyaW5nO1xyXG4gICAgRmlsZU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBNYXhMZW5ndGg6IG51bWJlcjtcclxuICAgIE1pbkxlbmd0aDogbnVtYmVyO1xyXG4gICAgUmVndWxhckV4cHJlc3Npb246IHN0cmluZztcclxuICAgIElzUGFzc3dvcmQ6IGJvb2xlYW47XHJcbiAgICBJc011bHRpTGluZTogYm9vbGVhbjtcclxuICAgIE51bGxUZXh0OiBzdHJpbmc7XHJcbiAgICBBbGxvd2VkU3RyaW5nQ2hhcnM6IHN0cmluZztcclxuICAgIE9ubHlBY2NlcHRDdXJyZW50Q3VsdHVyZTogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgUmljaFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIHtcclxuICAgIElzSHRtbFZpZXdlcjogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIE1pblZhbHVlOiBudW1iZXI7XHJcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xyXG4gICAgRGVjaW1hbFByZWNpc2lvbjogbnVtYmVyO1xyXG4gICAgU2hvd1Rob3VzYW5kU2VwZXJhdG9yOiBib29sZWFuO1xyXG4gICAgTnVtYmVyVHlwZTogc3RyaW5nO1xyXG4gICAgQ3VycmVuY3lTeW1ib2w6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgRmlsZVBpY3R1cmVJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBFeHQ6IHN0cmluZztcclxuICAgIEZpbGVJZDogc3RyaW5nO1xyXG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIENhbkRlbGV0ZTogYm9vbGVhbjtcclxuICAgIENhblNhdmU6IGJvb2xlYW47XHJcbiAgICBDYW5WaWV3OiBib29sZWFuO1xyXG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICAgIE1heEZpbGVDb3VudDogbnVtYmVyO1xyXG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xyXG4gICAgT2ZmaWNlT25saW5lOiBib29sZWFuO1xyXG4gICAgVmFsaWRFeHRlbnNpb25zOiBzdHJpbmc7XHJcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIE1lbnVOYW1lOiBzdHJpbmc7XHJcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgRGlzcGxheVR5cGU6IHN0cmluZztcclxuICAgIER5bmFtaWNDb21tYW5kOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEljb25Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge31cclxuZXhwb3J0IGNsYXNzIFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIFNpemVNb2RlOiBudW1iZXI7XHJcbiAgICBNYXhGaWxlU2l6ZUtiOiBudW1iZXI7XHJcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgR2F1Z2VDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XHJcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xyXG4gICAgTWF4VmFsdWUyOiBudW1iZXI7XHJcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xyXG4gICAgTWluVmFsdWUyOiBudW1iZXI7XHJcbiAgICBWYWx1ZTogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCB0eXBlIFJlbGF0aW9uTGlzdFR5cGVzID1cclxuICAgIHwgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgU2luZ2xlUmVsYXRpb25Db250cm9sSW5mb01vZGVsO1xyXG5leHBvcnQgY2xhc3MgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcclxuICAgIFVsdlNldHRpbmc6IFJlcG9ydE1vZGVsO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XHJcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJhYmV0ZWhBa3NlVGFraUxpc3RpQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgQXV0b1NhdmU7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlbGF0ZWRSZXBvcnRDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XHJcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XHJcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcclxufVxyXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBFeHRyYVRleHQ6IHN0cmluZztcclxuICAgIFN1Z2dlc3Rpb25zOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEVudW1Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICAgIFNob3dBc1JhZGlvQnV0dG9uOiBib29sZWFuO1xyXG4gICAgSWNvbkRpc3BsYXlUeXBlOiBzdHJpbmc7XHJcbiAgICBEYXRhU291cmNlOiB7XHJcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xyXG4gICAgfTtcclxuICAgIEVtcHR5Um93RGF0YTogUm93RGF0YU9wdGlvbjtcclxufVxyXG5leHBvcnQgY2xhc3MgUm93RGF0YU9wdGlvbiB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgSXNFbXB0eTogYm9vbGVhbjtcclxuICAgIHR4dDogc3RyaW5nO1xyXG4gICAgdHh0X3NhZmU/OiBzdHJpbmc7XHJcbiAgICB1cmw6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgQ2FsZW5kYXJUeXBlOiBzdHJpbmc7XHJcbiAgICBEYXRlRm9ybWF0OiBzdHJpbmc7XHJcbiAgICBTaG93RGF0ZTE6IGJvb2xlYW47XHJcbiAgICBTaG93VGltZTE6IGJvb2xlYW47XHJcbiAgICBUaW1lRm9ybWF0OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEJvb2xDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgRmFsc2VDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBUcnVlQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgVHJ1ZUljb246IHN0cmluZztcclxuICAgIFZpZXdUeXBlOiBzdHJpbmc7XHJcbiAgICBGYWxzZUljb246IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIElubmVyQ3RybHI6IENvbnRyb2xJbmZvVHlwZXM7XHJcbiAgICBFeGVjdXRhaW9uVGltZTogc3RyaW5nO1xyXG4gICAgRWRpdFR5cGU6IHN0cmluZztcclxuICAgIERvbnRTaG93UmVjYWxjdWxhdGVCdXR0b246IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIFN1YmZvcm1Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgVHlwZURlZklkOiBhbnk7XHJcbiAgICBUeXBlRGVmSWNvbjogc3RyaW5nO1xyXG4gICAgSXNDb21wb3NlZFJlbGF0aW9uOiBzdHJpbmc7XHJcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XHJcbiAgICBUeXBlVmlld0lkOiBzdHJpbmc7XHJcbiAgICBGb3JtUGFuZWxTZXR0aW5nOiBGb3JtU2V0dGluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm8ge1xyXG4gICAgZmlsZUlkOiBzdHJpbmc7XHJcbiAgICBmaWxlVXJsOiBzdHJpbmc7XHJcbiAgICB2aWV3SW5Ccm93c2VyOiBib29sZWFuO1xyXG4gICAgY29udmVydFRvOiBzdHJpbmc7XHJcbiAgICBpc09mZmljZU9ubGluZTogYm9vbGVhbjtcclxuICAgIGZvck9jeDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm9SZXN1bHQge1xyXG4gICAgZmlsZW5hbWU6IHN0cmluZztcclxuICAgIGNvbnRlbnQ6IHN0cmluZztcclxuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmc7XHJcbiAgICBzdWNjZWVkOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBMaW5lYXJMaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIERlZmF1bHRGaWVsZDogc3RyaW5nO1xyXG4gICAgRXh0cmFKc29uUHJvcEZpZWxkOiBzdHJpbmc7XHJcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XHJcbiAgICBJc0dlbmVyYWxJbmZvOiBib29sZWFuO1xyXG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICAgIFJlbGF0aW9uOiBMaXN0UmVsYXRpb25Nb2RlbDtcclxuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcclxuICAgIFJvd0ljb246IHN0cmluZztcclxuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBMaXN0UmVsYXRpb25Nb2RlbCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBDaGlsZEZkSWQ6IHN0cmluZztcclxuICAgIENoaWxkRmROYW1lOiBzdHJpbmc7XHJcbiAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xyXG4gICAgUGFyZW50TW9JZDogc3RyaW5nO1xyXG4gICAgUmVsYXRpb25UeXBlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XHJcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XHJcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XHJcbiAgICBIaWRlQ29tYm86IGJvb2xlYW47XHJcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XHJcbiAgICBQYXNzUGFyZW50Rm9ybTogYm9vbGVhbjtcclxuICAgIFNob3dOZXdCdXR0b246IGJvb2xlYW47XHJcbiAgICBTaG93T2tDYW5jZWw6IGJvb2xlYW47XHJcbiAgICBWaWV3UmVsYXRlZEZvcm1UeXBlOiBzdHJpbmc7XHJcbiAgICBUYXJnZXRUeXBlRGVmSWQ6IHN0cmluZztcclxuICAgIERhdGFTb3VyY2U6IHtcclxuICAgICAgICBSb3dzOiBSb3dEYXRhT3B0aW9uW107XHJcbiAgICB9O1xyXG4gICAgUHJldmlld0ZpZWxkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgUHJldmlld0ZpZWxkSWQ6IHN0cmluZztcclxuICAgIFByZXZpZXdGaWVsZE5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29udHJvbEluZm9UeXBlcyA9XHJcbiAgICB8IFN1YmZvcm1Db250cm9sSW5mb01vZGVsXHJcbiAgICB8IENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgQm9vbENvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgRW51bUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgSWNvbkNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgRmlsZUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IE51bWJlckNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgU3RyaW5nQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgR2F1Z2VDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IENvbW1hbmRDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlld1NldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgTGF5b3V0OTQ6IGFueTtcclxuICAgIENvbnRyb2xJbmZvOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVNldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgRGF0YToge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgICAgICBNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIH07XHJcbiAgICBWaWV3OiBGb3JtVmlld1NldHRpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgICRGaWVsZERpY3Q/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgJFJlcG9ydElkPzogc3RyaW5nO1xyXG4gICAgJFR5cGU/OiBzdHJpbmc7XHJcbiAgICAkU3R5bGVJbmRleD86IG51bWJlcltdO1xyXG4gICAgJENhcHRpb246IHN0cmluZztcclxuICAgICRJY29uPzogc3RyaW5nO1xyXG4gICAgJFN0YXRlPzogc3RyaW5nO1xyXG4gICAgJFR5cGVEZWZJZD86IHN0cmluZztcclxuICAgICRUeXBlRGVmTmFtZT86IHN0cmluZztcclxuICAgICRDaGlsZHJlbj86IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIEluaGVyaXRhbmNlPzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIEluaGVyaXRhbmNlSW5mbz86IHtcclxuICAgICAgICBDaGlsZEZpZWxkTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIFBhcmVudEZpZWxkTmFtZTogc3RyaW5nO1xyXG4gICAgfTtcclxuICAgIElkOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgQ2FsZW5kYXJNZXRhb2JqZWN0RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICAkQ29sb3I6IHN0cmluZztcclxuICAgICRNb21lbnRTdGFydERhdGU6IHN0cmluZztcclxuICAgICRNb21lbnRFbmREYXRlOiBzdHJpbmc7XHJcbiAgICAkU3RhcnRUaW1lczogc3RyaW5nO1xyXG4gICAgJEVuZFRpbWVzOiBzdHJpbmc7XHJcbiAgICAkVGl0bGU6IHN0cmluZztcclxuICAgICROb3Rlczogc3RyaW5nO1xyXG4gICAgJFN0YXJ0RGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XHJcbiAgICAkRW5kRGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNb0ZvclJlcG9ydE1vZGVsIHtcclxuICAgICRUeXBlPzogc3RyaW5nO1xyXG4gICAgVHlwZURlZklkOiBzdHJpbmc7XHJcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xyXG4gICAgSWNvbj86IHN0cmluZztcclxuICAgIE1vRGF0YUxpc3Q6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+O1xyXG4gICAgRGVsZXRlZExpc3Q6IEFycmF5PHsgSWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfT47XHJcbiAgICBBZGRlZExpc3Q6IEFycmF5PHsgSWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfT47XHJcbiAgICBQYWdpbmc6IFBhZ2luZ1NldHRpbmc7XHJcbiAgICBSZWxhdGlvbj86IHtcclxuICAgICAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcclxuICAgICAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XHJcbiAgICAgICAgUGFyZW50RmRJZDogc3RyaW5nO1xyXG4gICAgICAgIENoaWxkRmRJZDogc3RyaW5nO1xyXG4gICAgICAgIFBhcmVudEZkTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIENoaWxkRmROYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgUGFzc1BhcmVudE1vRmllbGQ6IHN0cmluZztcclxuICAgICAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xyXG4gICAgICAgIElzQXV0b1NhdmVfUmVsb2FkUGFyZW50Rm9ybXM6IGJvb2xlYW47XHJcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRSb290UGFyZW50TGlzdDogYm9vbGVhbjtcclxuICAgIH07XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLkRlbGV0ZWRMaXN0ID0gdGhpcy5BZGRlZExpc3QgPSB0aGlzLk1vRGF0YUxpc3QgPSBbXTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0QmFzZUluZm8ge1xyXG4gICAgSWQ6IHN0cmluZztcclxuICAgIENhcHRpb246IHN0cmluZztcclxuICAgIEZvbGRlcklkOiBzdHJpbmc7XHJcbiAgICBJY29uVXJsOiBzdHJpbmc7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRFeHRyYUluZm8gZXh0ZW5kcyBSZXBvcnRCYXNlSW5mbyB7XHJcbiAgICBUeXBlRGVmSWQ6IHN0cmluZztcclxuICAgIFR5cGVEZWZDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBSZXBvcnRUeXBlOiBzdHJpbmc7XHJcbiAgICBIaWRlVG9vbGJhcjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1ldGFvYmplY3RSZWxhdGlvbk1vZGVsIGV4dGVuZHMgTGlzdFJlbGF0aW9uTW9kZWwge1xyXG4gICAgUGFyZW50RmRJZDogc3RyaW5nO1xyXG4gICAgUGFzc1BhcmVudE1vRmllbGQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRmllbGRJbmZvVHlwZUVudW0ge1xyXG4gICAgSW50SW5mbyA9IDAsXHJcbiAgICBTdHJpbmdJbmZvID0gMixcclxuICAgIERhdGVJbmZvID0gMyxcclxuICAgIEJvb2xJbmZvID0gNSxcclxuICAgIEVudW1JbmZvID0gNixcclxuICAgIFVzZXJJbmZvID0gNyxcclxuICAgIENhdGVnb3J5SW5mbyA9IDgsXHJcbiAgICBNZXRhT2JqZWN0SW5mbyA9IDksXHJcbiAgICBDb21tYW5kSW5mbyA9IDEwLCAvLyAweDAwMDAwMDBBXHJcbiAgICBQaWN0dXJlc0luZm8gPSAxMSwgLy8gMHgwMDAwMDAwQlxyXG4gICAgUmVsYXRpb25JbmZvID0gMTIsIC8vIDB4MDAwMDAwMENcclxuICAgIEhpc3RvcnlJbmZvID0gMTMsIC8vIDB4MDAwMDAwMERcclxuICAgIFJlbGF0aW9uSW5mb1JldmVyc2VfQWtzTGlzdGkgPSAxNCwgLy8gMHgwMDAwMDAwRVxyXG4gICAgQ3JlYXRvclVzZXJJbmZvID0gMTUsIC8vIDB4MDAwMDAwMEZcclxuICAgIENyZWF0aW9uRGF0ZUluZm8gPSAxNiwgLy8gMHgwMDAwMDAxMFxyXG4gICAgTGFzdFVwZGF0ZURhdGVJbmZvID0gMTcsIC8vIDB4MDAwMDAwMTFcclxuICAgIFJlbWluZGVySW5mbyA9IDE4LCAvLyAweDAwMDAwMDEyXHJcbiAgICBSaWNoU3RyaW5nSW5mbyA9IDE5LCAvLyAweDAwMDAwMDEzXHJcbiAgICBDb252ZXJ0Q29tbWFuZEluZm8gPSAyMCwgLy8gMHgwMDAwMDAxNFxyXG4gICAgUmVsYXRpb25JbmZvU2luZ2xlUmV2ZXJzZV9Ba3NUYWtpTGlzdGkgPSAyMSwgLy8gMHgwMDAwMDAxNVxyXG4gICAgRGlhbENvbW1hbmRJbmZvID0gMjIsIC8vIDB4MDAwMDAwMTZcclxuICAgIEZpbmRDb250YWN0Q29tbWFuZEluZm8gPSAyMywgLy8gMHgwMDAwMDAxN1xyXG4gICAgU2VxdWVuY2VDb21tYW5kSW5mbyA9IDI0LCAvLyAweDAwMDAwMDE4XHJcbiAgICBDdXJyZW5jeUluZm8gPSAyNSwgLy8gMHgwMDAwMDAxOVxyXG4gICAgU2luZ2xlUGljdHVyZUluZm8gPSAyNiwgLy8gMHgwMDAwMDAxQVxyXG4gICAgV29yZFJlcG9ydENvbW1hbmRJbmZvID0gMjcsIC8vIDB4MDAwMDAwMUJcclxuICAgIEhpZXJhcmNoaWNhbEluZm8gPSAyOCwgLy8gMHgwMDAwMDAxQ1xyXG4gICAgVGltZVNwYW5JbmZvID0gMjksIC8vIDB4MDAwMDAwMURcclxuICAgIFJlcG9ydEluZm8gPSAzMCwgLy8gMHgwMDAwMDAxRVxyXG4gICAgRmlsZUluZm8gPSAzMSwgLy8gMHgwMDAwMDAxRlxyXG4gICAgV29yZEZpbGVJbmZvID0gMzIsIC8vIDB4MDAwMDAwMjBcclxuICAgIFBpY3R1cmVGaWxlSW5mbyA9IDMzLCAvLyAweDAwMDAwMDIxXHJcbiAgICBHYXVnZUluZm8gPSAzNCwgLy8gMHgwMDAwMDAyMlxyXG4gICAgQ29kZUluZm8gPSAzNSwgLy8gMHgwMDAwMDAyM1xyXG4gICAgV29ya0NlbnRlckluZm8gPSAzNiwgLy8gMHgwMDAwMDAyNFxyXG4gICAgSXNEZWxldGVkSW5mbyA9IDM3LCAvLyAweDAwMDAwMDI1XHJcbiAgICBSb3dOdW1iZXJJbmZvID0gMzgsIC8vIDB4MDAwMDAwMjZcclxuICAgIEJpbmFyeUluZm8gPSAzOSwgLy8gMHgwMDAwMDAyN1xyXG4gICAgUmV2ZXJzZU1ldGFPYmplY3RJbmZvX0Frc1Rha2lUYWtpID0gNDAsIC8vIDB4MDAwMDAwMjhcclxuICAgIENvbG9ySW5mbyA9IDQxLCAvLyAweDAwMDAwMDI5XHJcbiAgICBJY29uSW5mbyA9IDQyLCAvLyAweDAwMDAwMDJBXHJcbiAgICBSZWZyZXNoRmllbGRDb21tYW5kSW5mbyA9IDQzLCAvLyAweDAwMDAwMDJCXHJcbiAgICBSZWZlcmVuY2VGaWVsZEluZm8gPSA0NCwgLy8gMHgwMDAwMDAyQ1xyXG4gICAgU2VhcmNoQ29tbWFuZEluZm8gPSA0NSwgLy8gMHgwMDAwMDAyRFxyXG4gICAgT3JkZXJJbmZvID0gNDYgLy8gMHgwMDAwMDAyRVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NOYW1lc01vZGVsIHtcclxuICAgIENvbW1hbmRCYXJDbGFzczogc3RyaW5nO1xyXG4gICAgRGF0YUNsYXNzOiBzdHJpbmc7XHJcbiAgICBTZWxlY3Rpb25DbGFzczogc3RyaW5nO1xyXG4gICAgVmlld2VyQ2xhc3M6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhTW9kZWwge1xyXG4gICAgQ3VzdG9tQ29tbWFuZHM/OiBDdXN0b21Db21tYW5kW107XHJcbiAgICBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M/OiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XHJcbiAgICBQYXJlbnRVbHZDb25maWc/OiBhbnk7XHJcbiAgICBSZWxhdGlvbj86IE1ldGFvYmplY3RSZWxhdGlvbk1vZGVsO1xyXG4gICAgUmVwb3J0PzogUmVwb3J0RXh0cmFJbmZvO1xyXG4gICAgRXh0cmFKc29uUHJvcFJlcG9ydD86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBDbGFzc05hbWVzOiBDbGFzc05hbWVzTW9kZWw7XHJcbiAgICBFeHRyYTogRXh0cmFNb2RlbDtcclxuICAgIFZpZXc6IFZpZXdUeXBlcztcclxuICAgIFNlYXJjaFBhbmVsOiBhbnk7XHJcbiAgICBEZWZhdWx0SXRlbUNvbXBvbmVudCA9ICdSZXBvcnREZWZhdWx0SXRlbUNvbXBvbmVudCc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0Q29tbWFuZHNBY2Nlc3Mge1xyXG4gICAgQWRkOiBib29sZWFuO1xyXG4gICAgQWRkVG9MaXN0OiBib29sZWFuO1xyXG4gICAgRGVsZXRlOiBib29sZWFuO1xyXG4gICAgRWRpdDogYm9vbGVhbjtcclxuICAgIEV4cG9ydDogYm9vbGVhbjtcclxuICAgIFByaW50OiBib29sZWFuO1xyXG4gICAgUmVmcmVzaDogYm9vbGVhbjtcclxuICAgIFJlbW92ZUZyb21MaXN0OiBib29sZWFuO1xyXG4gICAgVmlldzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tbWFuZCB7XHJcbiAgICBEYXRhOiBhbnk7XHJcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgSGlkZURpc2FibGU6IGJvb2xlYW47XHJcbiAgICBJY29uVXJsOiBzdHJpbmc7XHJcbiAgICBJc0xhcmdlOiBib29sZWFuO1xyXG4gICAgTXl0eXBlOiBzdHJpbmc7XHJcbiAgICBPcmRlcjogbnVtYmVyO1xyXG4gICAgU2hvd09uQ29udGV4dDogYm9vbGVhbjtcclxuICAgIFNob3dPblRvb2xiYXI6IGJvb2xlYW47XHJcbiAgICBUZXh0OiBzdHJpbmc7XHJcbiAgICBVc2VBbHdheXM6IGJvb2xlYW47XHJcbiAgICBVc2VGb3JNdWx0aTogYm9vbGVhbjtcclxuICAgIFVzZUZvclNpbmdsZTogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgRGF0YTogTW9Gb3JSZXBvcnRNb2RlbDtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydExpc3RNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBWaWV3OiBHcmlkVmlldztcclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Rm9ybU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcclxuICAgIFZpZXc6IEZvcm1WaWV3O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVZpZXcge1xyXG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcclxuICAgIFBhcmVudElkRGJOYW1lOiBzdHJpbmc7XHJcbiAgICBTaG93U2VsZWN0aW9uQ2hlY2tzOiBib29sZWFuO1xyXG4gICAgVHJlZUF1dG9PcGVuTGV2ZWxzOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFZpZXcge1xyXG4gICAgQWxsb3dHcmlkQ29sdW1uU29ydDogYm9vbGVhbjtcclxuICAgIEF1dG9JbmxpbmVFZGl0OiBib29sZWFuO1xyXG4gICAgQ29sdW1uUmVxdWVzdEVudW06IHN0cmluZztcclxuICAgIENvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+O1xyXG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcclxuICAgIERpc2FibGVSb3dSZWxvYWQ6IGJvb2xlYW47XHJcbiAgICBHcmlkU2V0dGluZzogR3JpZFNldHRpbmc7XHJcbiAgICBHcmlkX0ZyZWVDb2x1bW5TaXppbmc6IGJvb2xlYW47XHJcbiAgICBHcmlkX0dyaWRMaW5lczogc3RyaW5nO1xyXG4gICAgR3JpZF9IaWRlSGVhZGVyOiBib29sZWFuO1xyXG4gICAgR3JpZF9TaG93Um93TnVtYmVyOiBib29sZWFuO1xyXG4gICAgSGFzQ29uZGl0aW9uYWxGb3JtYXQ6IGJvb2xlYW47XHJcbiAgICBIYXNTdW1tYXJ5Um93OiBib29sZWFuO1xyXG4gICAgSGlkZUljb246IGJvb2xlYW47XHJcbiAgICBJc0NoZWNrTGlzdDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVmlldyB7XHJcbiAgICBDYWxlbmRhckZpZWxkczogQ2FsZW5kYXJGaWVsZHM7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlldyB7XHJcbiAgICBGb3JtUGFuZWxTZXR0aW5nOiBhbnk7XHJcbn1cclxuZXhwb3J0IHR5cGUgVmlld1R5cGVzID0gR3JpZFZpZXcgfCBDYWxlbmRhclZpZXcgfCBUcmVlVmlldyB8IEZvcm1WaWV3O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVwb3J0TW9kZWxUeXBlcyA9IFJlcG9ydExpc3RNb2RlbCB8IFJlcG9ydENhbGVuZGFyTW9kZWwgfCBSZXBvcnRGb3JtTW9kZWwgfCBSZXBvcnRUcmVlTW9kZWw7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Q2FsZW5kYXJNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBWaWV3OiBDYWxlbmRhclZpZXc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFRyZWVNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBWaWV3OiBUcmVlVmlldztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRmllbGRzIHtcclxuICAgIEVuZERhdGU6IHN0cmluZztcclxuICAgIE5vdGVzOiBzdHJpbmc7XHJcbiAgICBTdGFydERhdGU6IHN0cmluZztcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBDb2xvcjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld0NvbHVtbiB7XHJcbiAgICBBbGlhczogc3RyaW5nO1xyXG4gICAgQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgRmllbGREZWZJZDogc3RyaW5nO1xyXG4gICAgRmllbGRUeXBlSWQ6IG51bWJlciB8IHN0cmluZztcclxuICAgIEZpZWxkVHlwZTogc3RyaW5nO1xyXG4gICAgSGFzU3VtbWFyeTogYm9vbGVhbjtcclxuICAgIEhpZGRlbjogYm9vbGVhbjtcclxuICAgIElzTHRyOiBib29sZWFuO1xyXG4gICAgSXNQcmV2aWV3OiBib29sZWFuO1xyXG4gICAgTWV0YUZpZWxkVHlwZUlkOiBzdHJpbmc7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBXaWR0aDogbnVtYmVyO1xyXG4gICAgVGFnPzogc3RyaW5nO1xyXG4gICAgSWNvbjogc3RyaW5nO1xyXG4gICAgT25seUltYWdlPzogYm9vbGVhbjtcclxuICAgIEV4dHJhPzogYW55O1xyXG4gICAgJENvbnRlbnRXaWR0aD86IHN0cmluZztcclxuICAgICRXaWR0aD86IHN0cmluZztcclxuICAgICRDb2x1bW5XaWR0aE51bT86IG51bWJlcjtcclxuICAgICRDb2x1bW5XaWR0aD86IHN0cmluZztcclxuICAgICRGaXRDb250YWluZXJXaWR0aD86IHN0cmluZztcclxuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xyXG4gICAgJENTU0NsYXNzTmFtZT86IHN0cmluZztcclxuICAgICRDdXN0b21Db21wb25lbnQ/OiBFanJheU9sZ287XHJcbiAgICAkVGV4dFdpZHRoPzogbnVtYmVyO1xyXG4gICAgJElzSW1hZ2VPcmljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgR3JpZFNldHRpbmcge1xyXG4gICAgQ29sU2V0dGluZ0xpc3Q6IEFycmF5PENvbFNldHRpbmc+O1xyXG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XHJcbiAgICBBdXRvU2l6ZUNvbHVtbnM6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgV2lkdGg6IG51bWJlcjtcclxuICAgIElzSGlkZGVuOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTb3J0U2V0dGluZyB7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBTb3J0RGlyZWN0aW9uOiBzdHJpbmc7XHJcbiAgICBJc0dyb3VwZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRGaWVsZCB7XHJcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZztcclxuICAgIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbHVtbi5OYW1lO1xyXG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IGNvbHVtbi5DYXB0aW9uO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XHJcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5EYXRlSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWUgKyAnJENhcHRpb24nXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5JY29uSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWVdLlVybDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXN1bHQge1xyXG4gICAgZGF0YTogeyBzdGg6IHN0cmluZyB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFBsYWNlSG9sZGVycz86IFBsYWNlSG9sZGVyRGF0YU1vZGVsW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnREYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQbGFjZUhvbGRlckRhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIElzUGFnZTogYm9vbGVhbjtcclxuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgUGxhY2VIb2xkZXI6IFBsYWNlSG9sZGVyRGF0YU1vZGVsO1xyXG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XHJcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUxpc3RSZXBvcnRNb2RlbCBleHRlbmRzIE1vRm9yUmVwb3J0TW9kZWwge1xyXG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xyXG4gICAgTW9kdWxlTGlzdDogTW9kdWxlTGlzdFJlcG9ydE1vZGVsO1xyXG4gICAgQ2hpbGRQYWdlTGlzdDogUGFnZUxpc3RSZXBvcnRNb2RlbDtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBSb3V0ZTogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0Um91dGU6IHN0cmluZztcclxuICAgIElzTG9naW5Sb3V0ZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRhbERhdGFNb2RlbCBleHRlbmRzIFBhZ2VEYXRhTW9kZWwge1xyXG4gICAgSXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgICBJc1B3YTogYm9vbGVhbjtcclxuICAgIFBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBWaXNpYmlsaXR5IHtcclxuICAgIGVuYWJsZTogYm9vbGVhbjtcclxuICAgIHZpc2libGU6IGJvb2xlYW47XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVyTGF5b3V0IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBTdWJ0aXRsZTogc3RyaW5nO1xyXG4gICAgQXZhdGFyOiBhbnk7XHJcbiAgICBGYWNldExpc3Q6IHsgTW9EYXRhTGlzdDogTWV0YW9iamVjdERhdGFNb2RlbFtdIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVudUl0ZW0ge1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgaXRlbUlkOiBzdHJpbmc7XHJcbiAgICBEYXRhOiBhbnk7XHJcbiAgICBDb21tYW5kOiBhbnk7XHJcbiAgICBoYW5kbGVyOiAoKSA9PiB2b2lkO1xyXG4gICAgSXNCdWlsdGluPzogYm9vbGVhbjtcclxuICAgIG1lbnU/OiB7IGl0ZW1zOiBNZW51SXRlbVtdIH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdTZXR0aW5nIHtcclxuICAgIEVuZEluZGV4OiBudW1iZXI7XHJcbiAgICBIYXNQYWdpbmc6IGJvb2xlYW47XHJcbiAgICBQYWdlOiBudW1iZXI7XHJcbiAgICBQYWdlU2l6ZTogbnVtYmVyO1xyXG4gICAgUm93Q291bnQ6IG51bWJlcjtcclxuICAgIFN0YXJ0SW5kZXg6IG51bWJlcjtcclxuICAgIFRvdGFsUGFnZXM6IG51bWJlcjtcclxuICAgIFRvdGFsUm93czogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mb1R5cGUge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgSGlkZGVuOiBib29sZWFuO1xyXG4gICAgQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgSXNNYW5kYXRvcnk/OiBib29sZWFuO1xyXG4gICAgV2lkdGg6IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFBhbmVsU2V0dGluZ3MgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xyXG4gICAgSXNQdWJsaWM6IGJvb2xlYW47XHJcbiAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGJvb2xlYW47XHJcbiAgICBTZWFyY2hNbz86IHN0cmluZztcclxuICAgIEZpZWxkc1NldHRpbmc/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBEZXZpY2VTaXplID0gJ2Rlc2t0b3AnIHwgJ21vYmlsZScgfCAndGFibGV0JztcclxuZXhwb3J0IGNvbnN0IERhdGVSYW5nZXMgPSBbXHJcbiAgICAnRGF0ZVJfTm9uZScsXHJcbiAgICAnRGF0ZVJfU3BlY2lmaWNSYW5nZScsXHJcbiAgICAnRGF0ZVJfVG9kYXknLFxyXG4gICAgJ0RhdGVSX1RoaXNXZWVrJyxcclxuICAgICdEYXRlUl9UaGlzTW9udGgnLFxyXG4gICAgJ0RhdGVSX1RoaXNZZWFyJyxcclxuICAgICdEYXRlUl9EYXlzQmVmb3JlJyxcclxuICAgICdEYXRlUl9QcmV2V2VlaycsXHJcbiAgICAnRGF0ZVJfUHJldk1vbnRoJyxcclxuICAgICdEYXRlUl9QcmV2WWVhcicsXHJcbiAgICAnRGF0ZVJfRGF5c0FmdGVyJyxcclxuICAgICdEYXRlUl9OZXh0V2VlaycsXHJcbiAgICAnRGF0ZVJfTmV4dE1vbnRoJyxcclxuICAgICdEYXRlUl9OZXh0WWVhcidcclxuXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBvcnRWaWV3QmFzZSB7XHJcbiAgICBVaUNvbXBvbmVudDoge1xyXG4gICAgICAgIENvbXBvbmVudDogYm9vbGVhbjtcclxuICAgICAgICBNb2R1bGU6IHN0cmluZztcclxuICAgICAgICBNb2R1bGVGaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIE5hbWU6IHN0cmluZztcclxuICAgICAgICBTZWxlY3Rvcjogc3RyaW5nO1xyXG4gICAgICAgIFNldHRpbmdzOiBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZztcclxuICAgIH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBUeXBlOiBzdHJpbmc7XHJcbiAgICBJY29uOiBzdHJpbmc7XHJcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XHJcbiAgICBIaWRkZW46IGJvb2xlYW47XHJcbiAgICBFbmFibGVTZWFyY2g6IGJvb2xlYW47XHJcbiAgICBEaXNhYmxlUmVzcG9uc2l2ZT86IGJvb2xlYW47XHJcbiAgICBEaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudT86IGJvb2xlYW47XHJcbiAgICBIb3Jpem9udGFsR3JvdXBCeTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRTZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIFRpdGxlPzogc3RyaW5nO1xyXG4gICAgeHR5cGU6IHN0cmluZztcclxuICAgIFRleHRWaXNpYmxlPzogYm9vbGVhbjtcclxuICAgIGl0ZW1zOiBMYXlvdXRTZXR0aW5nW107XHJcbiAgICBJc1Jvb3Q/OiBib29sZWFuO1xyXG4gICAgU2VsZWN0ZWRUYWJQYWdlTmFtZT86IHN0cmluZztcclxufVxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSA9ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZU5vZGVPYmoge1xyXG4gICAgaXNFeHBhbmQ6IGJvb2xlYW47XHJcbiAgICB2aXNpYmlsaXR5OiBib29sZWFuO1xyXG4gICAgZXhwYW5kOiAoKSA9PiB2b2lkO1xyXG4gICAgY29sbGFwc2U6ICgpID0+IHZvaWQ7XHJcbiAgICBEYXRhOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgY2hpbGRyZW46IFRyZWVOb2RlT2JqW107XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIGxlYWY6IGJvb2xlYW47XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBsZXZlbDogbnVtYmVyO1xyXG4gICAgbG9hZGluZz86IGJvb2xlYW47XHJcbiAgICBoYXNPbmVEZXB0aExldmVsPzogYm9vbGVhbjtcclxuICAgIHBhcmVudE5vZGU6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIGZpcnN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIGxhc3RDaGlsZDogVHJlZU5vZGVPYmogfCBudWxsO1xyXG4gICAgcHJldmlvdXNTaWJsaW5nOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBuZXh0U2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xyXG4gICAgYXR0cmlidXRlczogeyBEYXRhOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbCB9O1xyXG4gICAgaGFzQ2hpbGROb2RlczogKCkgPT4gYm9vbGVhbjtcclxuICAgIG5vRHJvcDogYm9vbGVhbjtcclxuICAgICRDaGlsZHJlbj86IFRyZWVOb2RlT2JqW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uUmVzaXplZEFyZ3Mge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxuICAgIHRoRG9tOiBIVE1MVGFibGVDZWxsRWxlbWVudDtcclxufVxyXG5leHBvcnQgdHlwZSBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyA9IHsgY29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47IHJlc2l6ZWQ6IEFycmF5PENvbHVtblJlc2l6ZWRBcmdzPiB9O1xyXG5leHBvcnQgdHlwZSBSZWxhdGlvbkl0ZW1UeXBlID0ge1xyXG4gICAgSWQ6IHN0cmluZztcclxuICAgIFNvdXJjZVR5cGVEZWZJZDogc3RyaW5nO1xyXG4gICAgT2JqZWN0SW5SZWxhdGlvbk5hbWU6IHN0cmluZztcclxuICAgIEdyb3VwQ2FwdGlvbjogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFanJheU9sZ28gZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIE1vZHVsZTogc3RyaW5nO1xyXG4gICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIFNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgICBQYXJhbWV0ZXJzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIFNldHRpbmdzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVXBsb2FkaW5nU3RhdGUge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB1cGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBzdGF0ZTogJ1VwbG9hZGluZycgfCAnRXJyb3InIHwgJ0NvbXBsZXRlJyB8ICdTdGFydCc7XHJcbiAgICBwcm9ncmVzczogYW55O1xyXG59XHJcbmV4cG9ydCB0eXBlIEdyb3VwQnlJdGVtID0geyBba2V5OiBzdHJpbmddOiBhbnk7IGlkOiBzdHJpbmc7IGtleTogc3RyaW5nOyB2YWx1ZTogYW55W10gfTtcclxuZXhwb3J0IHR5cGUgTm90aWZ5T3B0aW9ucyA9IHtcclxuICAgIFNvdW5kOiBib29sZWFuOyAvLyBTb3VuZCBvZiBub3RpZmljYXRpb24uIFNldCB0aGlzIGZhbHNlIHRvIGRpc2FibGUgc291bmQuXHJcbiAgICBJbWFnZTogc3RyaW5nIHwgbnVsbDsgLy8gSW1hZ2Ugc291cmNlIHN0cmluZ1xyXG4gICAgVGl0bGU6IHN0cmluZyB8IG51bGw7IC8vIFRpdGxlIG9mIG5vdGlmaWNhdGlvbi4gSWYgeW91IGRvIG5vdCBpbmNsdWRlIHRoZSB0aXRsZSBpbiBvcHRpb25zIGl0IHdpbGwgYXV0b21hdGljYWxseSB0YWtlcyBpdHMgdmFsdWVcclxuICAgIEljb246IGJvb2xlYW47IC8vIEljb24gb2Ygbm90aWZpY2F0aW9uLiBMZWF2ZSBhcyBpcyBmb3IgZGVmYXVsdCBpY29uIG9yIHNldCBjdXN0b20gc3RyaW5nXHJcbiAgICBEZWxheTogbnVtYmVyOyAvLyBIaWRlIG5vdGlmaWNhdGlvbiBhZnRlciB0aGlzIHRpbWUgKGluIG1pbGlzZWNvbmRzKVxyXG4gICAgQ2xvc2FibGU6IGJvb2xlYW47IC8vIE1ha2Ugbm90aWZpY2F0aW9ucyBjbG9zYWJsZVxyXG4gICAgRGVsYXlJbmRpY2F0b3I6IGJvb2xlYW47IC8vIFNob3cgdGltZXIgaW5kaWNhdG9yXHJcbiAgICBDbG9zZU9uQ2xpY2s6IGJvb2xlYW47IC8vIENsb3NlIG5vdGlmaWNhdGlvbnMgYnkgY2xpY2tpbmcgb24gdGhlbVxyXG4gICAgSXNSdGw6IGJvb2xlYW47XHJcbiAgICBQb3NpdGlvbjogc3RyaW5nIHwgb2JqZWN0OyAvLyBBdmFpbGFibGUgb3B0aW9uczogXCJ0b3AgbGVmdFwiLCBcInRvcCByaWdodFwiLCBcImJvdHRvbSBsZWZ0XCIsIFwiYm90dG9tIHJpZ2h0XCIsIFwiY2VudGVyIHRvcFwiLCBcImNlbnRlciBib3R0b21cIlxyXG4gICAgU291bmRQYXRoOiBzdHJpbmc7IC8vIFRoZSBmb2xkZXIgcGF0aCB3aGVyZSBzb3VuZHMgYXJlIGxvY2F0ZWRcclxuICAgIFNpemU6IHN0cmluZzsgLy8gbm9ybWFsLCBtaW5pLCBsYXJnZVxyXG4gICAgQ29udGludWVEZWxheU9uSW5hY3RpdmVUYWI6IGJvb2xlYW47IC8vIENvbnRpbnVlIGRlbGF5IHdoZW4gYnJvd3NlciB0YWIgaXMgaW5hY3RpdmVcclxuICAgIFdpZHRoOiBudW1iZXI7IC8vIFdpZHRoIG9mIG5vdGlmaWNhdGlvbiBib3hcclxuICAgIE1lc3NhZ2VIZWlnaHQ6IG51bWJlcjsgLy8gTm90aWZpY2F0aW9uIG1lc3NhZ2UgbWF4aW11bSBoZWlnaHQuXHJcbiAgICBOb3RpZmljYXRpb25JdGVtPzogTm90aWZpY2F0aW9uSXRlbTtcclxufTtcclxuZXhwb3J0IHR5cGUgU2hhcmVCdXR0b25zQ2hvaWNlRGVmID0ge1xyXG4gICAgZm9ybVBhbmVsQ3RybHI6IGFueTtcclxuICAgIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgY2hvaWNlTGlzdDogQ2hvaWNlRGVmW107XHJcbiAgICBhZGQ6IGJvb2xlYW47XHJcbn07XHJcbmV4cG9ydCB0eXBlIENob2ljZURlZiA9IHtcclxuICAgIEFjdGl2aXR5RGVmSWQ6IHN0cmluZztcclxuICAgIEFjdGl2aXR5UnVuSWQ6IHN0cmluZztcclxuICAgIENob2ljZURlZklkOiBzdHJpbmc7XHJcbiAgICBDaG9pY2VOYW1lPzogc3RyaW5nO1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIEljb24/OiBzdHJpbmc7XHJcbiAgICBIYXNCYXI/OiBib29sZWFuO1xyXG59O1xyXG5leHBvcnQgdHlwZSBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMgPSB7XHJcbiAgICBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgcmVzdWx0OiBhbnk7XHJcbiAgICBlcnJvcjogYW55O1xyXG4gICAgY2hvaWNlPzogQ2hvaWNlRGVmO1xyXG59O1xyXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QYXlsb2FkID0ge1xyXG4gICAgbXNnOiBzdHJpbmc7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgaW1hZ2U6IHN0cmluZztcclxuICAgIG1vO1xyXG4gICAgdWlPcHRpb25zOiBOb3RpZnlPcHRpb25zO1xyXG4gICAgb3RoZXJPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59O1xyXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25BY3Rpb24gPSB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgSWQ6IHN0cmluZztcclxuICAgIEljb246IHN0cmluZztcclxuICAgIFN0YXR1czogc3RyaW5nIHwgYW55O1xyXG59O1xyXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25JdGVtID0gTWV0YW9iamVjdERhdGFNb2RlbCAmIHtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBVbnJlYWQ6IGJvb2xlYW47XHJcbiAgICBDb250ZW50OiBzdHJpbmc7XHJcbiAgICAkU2FmZUNvbnRlbnQ/OiBTYWZlSHRtbDtcclxuICAgIFByaW9yaXR5OiBudW1iZXI7XHJcbiAgICBTdWJqZWN0OiBzdHJpbmc7XHJcbiAgICBUYWc6IHN0cmluZztcclxuICAgIEljb246IHN0cmluZztcclxuICAgIEltYWdlOiBzdHJpbmc7XHJcbiAgICBDcmVhdGlvbkRhdGU6IERhdGU7XHJcbiAgICBDcmVhdGlvbkRhdGUkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgVWlBY3Rpb25zPzogTm90aWZpY2F0aW9uQWN0aW9uW107XHJcbiAgICAkQ2hvaWNlRGVmU3RhdHVzPzogV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXhOb3RpZmljYXRpb25QYXlsb2FkID0ge1xyXG4gICAgbGFuZzogc3RyaW5nO1xyXG4gICAgaXNSdGw6IGJvb2xlYW47XHJcbiAgICBub3RpZmljYXRpb25JdGVtOiBOb3RpZmljYXRpb25JdGVtO1xyXG59O1xyXG5leHBvcnQgdHlwZSBGb3JtVmlzaWJpbGl0eVN0YXR1cyA9ICdQZW5kaW5nJyB8ICdWaXNpYmxlJztcclxuZXhwb3J0IHR5cGUgQ2FydGFibGVUZW1wbGF0ZUtleSA9IHsgVHlwZURlZklkOiBzdHJpbmc7IFNldHRpbmdzSWQ6IHN0cmluZyB9O1xyXG5leHBvcnQgZW51bSBTb3J0RGlyZWN0aW9uIHtcclxuICAgIE5PTkUgPSAnbm9uZScsXHJcbiAgICBBU0MgPSAnYXNjJyxcclxuICAgIERFU0MgPSAnZGVzYydcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Tb3J0IHtcclxuICAgIGZpZWxkOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xyXG4gICAgaXNOdW1iZXI/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSW5wdXQge1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgY2F0ZWdvcnk6IHN0cmluZyB8IG51bGw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uR3JvdXAge1xyXG4gICAgZmllbGQ6IHN0cmluZztcclxuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcclxuICAgIHNob3dBc0NvbHVtbjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uUGFnZSB7XHJcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xyXG4gICAgY3VycmVudFBhZ2U6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU3RhdGUge1xyXG4gICAgc29ydEJ5OiBDb2xsZWN0aW9uU29ydFtdO1xyXG4gICAgZ3JvdXBCeTogQ29sbGVjdGlvbkdyb3VwW107XHJcbiAgICBwYWdlOiBDb2xsZWN0aW9uUGFnZTtcclxuICAgIHNlYXJjaElucHV0OiBTZWFyY2hJbnB1dDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVN0YXRlIGV4dGVuZHMgQ29sbGVjdGlvblN0YXRlIHtcclxuICAgIGNvbHVtbnM6IHN0cmluZ1tdO1xyXG4gICAgY29sdW1uS2V5czogc3RyaW5nW107XHJcbiAgICBmcmVlemVUb0NvbHVtbjogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5leHBvcnQgZW51bSBTZWxlY3Rpb25Nb2RlIHtcclxuICAgIFNJTkdMRSA9ICdzaW5nbGUnLFxyXG4gICAgTVVMVElQTEUgPSAnbXVsdGlwbGUnLFxyXG4gICAgTk9ORSA9ICdub25lJ1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVVsdk1haW5DdHJsciB7XHJcbiAgICBBZGFwdGVyOiBhbnk7XHJcbiAgICBTZXR0aW5nOiBhbnk7XHJcbiAgICBTeXN0ZW06IGFueTtcclxuICAgIFVsdlBhcmFtczogYW55O1xyXG4gICAgRmVhdHVyZXM6IGFueTtcclxuICAgIFVpT3ZlcnJpZGU6IGFueTtcclxuICAgIFNlYXJjaFBhbmVsQ3RybHI6IGFueTtcclxuICAgIFNlbGVjdGlvbkFkYXB0ZXI6IGFueTtcclxuICAgIERhdGFDdHJscjogVHlwZVVsdkRhdGFDdHJscjtcclxuICAgIENvbW1hbmRCYXJDdHJscjogYW55O1xyXG4gICAgVmlld2VyQWRhcHRlcjogYW55O1xyXG4gICAgUGFyZW50TW86IGFueTtcclxuICAgIEZpZWxkQ3RybHI6IGFueTtcclxuICAgIGlzTWFuZGF0b3J5OiBib29sZWFuOyAvLyBwb3J0YWwgdXNlIGl0LiBjb21wb25lbnQgbWFkYXJla1xyXG4gICAgLy8vIFJlbGF0ZWQgZmllbGQgb2YgVWx2XHJcbiAgICAvLyBQYXJlbnRGaWVsZEluZm9DdHJscjogbnVsbCxcclxuICAgIElzUHJldmlld1NvdXJjZUZpZWxkOiBib29sZWFuO1xyXG4gICAgLy8vIEluZGljYXRlIHdoZXRoZXIgdGhpcyBVbHYgaXMgdXNlZCBhcyByZWxhdGlvbiBmaWVsZCB0aGF0IGlzIFByZXZpZXdTb3VyY2UgZm9yIGEgc3ViZm9ybVxyXG4gICAgU2hvd09rQ2FuY2VsQnV0dG9uczogYm9vbGVhbjtcclxuICAgIF9pc0VuYWJsZTogYm9vbGVhbjtcclxuICAgIF9pc1JlYWRPbmx5OiBib29sZWFuO1xyXG4gICAgX2lzVmlzaWJsZTogYm9vbGVhbjtcclxuICAgIEZvb3R0ZXJCdXR0b25zOiBib29sZWFuO1xyXG4gICAgUmVmcmVzaFJvd3NCeU1vc05vU2VsZWN0aW9uQ2hhbmdlKFxyXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxyXG4gICAgICAgIGFkZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXHJcbiAgICAgICAgZGVsZXRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdXHJcbiAgICApOiB2b2lkO1xyXG4gICAgUmVmcmVzaFJvd3NCeU1vcyhcclxuICAgICAgICBlZGlkZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXSxcclxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxyXG4gICAgICAgIGRlbGV0ZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXVxyXG4gICAgKTogdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUeXBlVWx2RGF0YUN0cmxyIHtcclxuICAgIEdldEVkaXRGb3JtUGFyYW1zKG1vLCBpc1JlYWRPbmx5LCBpc05ldywgaW5oZXJpdGFuY2VDaGlsZFR5cGVEZWYsIGRvUmV0dXJuKTogUmVjb3JkPHN0cmluZywgYW55PjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1Db21wb25lbnRQYXJhbXMge1xyXG4gICAgZm9ybVNldHRpbmc/OiBGb3JtU2V0dGluZztcclxuICAgIG1vSWQ6IHN0cmluZztcclxuICAgIHR5cGVEZWZJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgcmVwb3J0SWQ/OiBzdHJpbmc7XHJcbiAgICB2aWV3SWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBWaWV3TmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIGluRGlhbG9nPzogYm9vbGVhbjtcclxuICAgIGlzU2ltcGxlPzogYm9vbGVhbjtcclxuICAgIGxvYWRBY3Rpdml0eVZpZXc/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQnJ1bGVBY3Rpb25NZXNzYWdlIHtcclxuICAgIE1lc3NhZ2VUeXBlOiBudW1iZXI7XHJcbiAgICBFc2NhcGVDaGFyYWN0ZXJzOiBib29sZWFuO1xyXG4gICAgTWVzc2FnZUV4cHJlc3Npb246IHN0cmluZztcclxuICAgIE1lc3NhZ2VFeHByZXNzaW9uSHRtbDogU2FmZUh0bWw7XHJcbn1cclxuZXhwb3J0IHR5cGUgQ29sdW1uU3VtbWFyeVR5cGUgPSB7XHJcbiAgICBtb0FycjogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xyXG4gICAgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uO1xyXG4gICAgZ3JvdXBOYW1lOiBzdHJpbmc7XHJcbiAgICBncm91cExldmVsOiBudW1iZXI7XHJcbiAgICBzdW1tYXJ5Rm46ICh2YWwpID0+IHZvaWQ7XHJcbn07XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyUmVwb3J0U2V0dGluZyB7XHJcbiAgICBSZWxhdGVkUmVwb3J0OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgUm93Q2xpY2s6IHN0cmluZztcclxuICAgIERhdGFPbmx5OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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LFFBSXhCO0FBaUNELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBEYXRlSW5mbyBhcyBEYXRlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXNlcnZpY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIFVsdlBhcmFtVHlwZSA9IHtcclxuICAgIEZsYWdzOiB7IERhdGE6IHN0cmluZzsgRXh0cmE6IHN0cmluZzsgU2VhcmNoOiBzdHJpbmc7IFZpZXc6IHN0cmluZyB9O1xyXG4gICAgUmVwb3J0TmFtZTogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ/OiBzdHJpbmc7XHJcbiAgICBVc2FnZUVudW06IHN0cmluZztcclxufTtcclxuZXhwb3J0IGNsYXNzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIENvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcclxuICAgIENvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkOiBzdHJpbmc7XHJcbiAgICBDb250cm9sRmllbGREZWZJZDogc3RyaW5nO1xyXG4gICAgQ29udHJvbE5hbWU6IHN0cmluZztcclxuICAgIFJlbGF0ZWRGaWVsZExpc3Q6IFtdO1xyXG4gICAgSGlkZTogYm9vbGVhbjtcclxuICAgIHh0eXBlOiBzdHJpbmc7XHJcbiAgICBMYWJlbFBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBJc01hbmRhdG9yeTogYm9vbGVhbjtcclxuICAgIElzVmlzaWJsZTogYm9vbGVhbjtcclxuICAgIFNob3dMYWJlbCA9IHRydWU7XHJcbiAgICBJc1JlYWRPbmx5OiBib29sZWFuO1xyXG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgSXNCb2xkOiBib29sZWFuO1xyXG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XHJcbiAgICBKc29uRXh0cmFQcm9wOiBhbnkgfCBudWxsO1xyXG4gICAgQ29tcG9uZW50OiBzdHJpbmc7XHJcbiAgICBJbmZvOiBDb250cm9sSW5mb1R5cGVzO1xyXG4gICAgRmllbGRJY29uOiBzdHJpbmc7XHJcbiAgICBJc0x0cjogYm9vbGVhbjtcclxuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlQXR0YWNobWVudEluZm8ge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgSWQ6IHN0cmluZztcclxuICAgIElzTmV3OiBib29sZWFuO1xyXG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xyXG4gICAgVHlwZTogc3RyaW5nO1xyXG4gICAgRmlsZU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBNYXhMZW5ndGg6IG51bWJlcjtcclxuICAgIE1pbkxlbmd0aDogbnVtYmVyO1xyXG4gICAgUmVndWxhckV4cHJlc3Npb246IHN0cmluZztcclxuICAgIElzUGFzc3dvcmQ6IGJvb2xlYW47XHJcbiAgICBJc011bHRpTGluZTogYm9vbGVhbjtcclxuICAgIE51bGxUZXh0OiBzdHJpbmc7XHJcbiAgICBBbGxvd2VkU3RyaW5nQ2hhcnM6IHN0cmluZztcclxuICAgIE9ubHlBY2NlcHRDdXJyZW50Q3VsdHVyZTogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgUmljaFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIHtcclxuICAgIElzSHRtbFZpZXdlcjogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIE1pblZhbHVlOiBudW1iZXI7XHJcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xyXG4gICAgRGVjaW1hbFByZWNpc2lvbjogbnVtYmVyO1xyXG4gICAgU2hvd1Rob3VzYW5kU2VwZXJhdG9yOiBib29sZWFuO1xyXG4gICAgTnVtYmVyVHlwZTogc3RyaW5nO1xyXG4gICAgQ3VycmVuY3lTeW1ib2w6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgRmlsZVBpY3R1cmVJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBFeHQ6IHN0cmluZztcclxuICAgIEZpbGVJZDogc3RyaW5nO1xyXG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIENhbkRlbGV0ZTogYm9vbGVhbjtcclxuICAgIENhblNhdmU6IGJvb2xlYW47XHJcbiAgICBDYW5WaWV3OiBib29sZWFuO1xyXG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICAgIE1heEZpbGVDb3VudDogbnVtYmVyO1xyXG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xyXG4gICAgT2ZmaWNlT25saW5lOiBib29sZWFuO1xyXG4gICAgVmFsaWRFeHRlbnNpb25zOiBzdHJpbmc7XHJcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIE1lbnVOYW1lOiBzdHJpbmc7XHJcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgRGlzcGxheVR5cGU6IHN0cmluZztcclxuICAgIER5bmFtaWNDb21tYW5kOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEljb25Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge31cclxuZXhwb3J0IGNsYXNzIFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIFNpemVNb2RlOiBudW1iZXI7XHJcbiAgICBNYXhGaWxlU2l6ZUtiOiBudW1iZXI7XHJcbiAgICBWYWxpZEV4dGVuc2lvbnM6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgR2F1Z2VDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XHJcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xyXG4gICAgTWF4VmFsdWUyOiBudW1iZXI7XHJcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xyXG4gICAgTWluVmFsdWUyOiBudW1iZXI7XHJcbiAgICBWYWx1ZTogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCB0eXBlIFJlbGF0aW9uTGlzdFR5cGVzID1cclxuICAgIHwgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgU2luZ2xlUmVsYXRpb25Db250cm9sSW5mb01vZGVsO1xyXG5leHBvcnQgY2xhc3MgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcclxuICAgIFVsdlNldHRpbmc6IFJlcG9ydE1vZGVsO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XHJcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJhYmV0ZWhBa3NlVGFraUxpc3RpQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgQXV0b1NhdmU7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlbGF0ZWRSZXBvcnRDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XHJcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XHJcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcclxufVxyXG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBFeHRyYVRleHQ6IHN0cmluZztcclxuICAgIFN1Z2dlc3Rpb25zOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEVudW1Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICAgIFNob3dBc1JhZGlvQnV0dG9uOiBib29sZWFuO1xyXG4gICAgSWNvbkRpc3BsYXlUeXBlOiBzdHJpbmc7XHJcbiAgICBEYXRhU291cmNlOiB7XHJcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xyXG4gICAgfTtcclxuICAgIEVtcHR5Um93RGF0YTogUm93RGF0YU9wdGlvbjtcclxufVxyXG5leHBvcnQgY2xhc3MgUm93RGF0YU9wdGlvbiB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgSXNFbXB0eTogYm9vbGVhbjtcclxuICAgIHR4dDogc3RyaW5nO1xyXG4gICAgdHh0X3NhZmU/OiBzdHJpbmc7XHJcbiAgICB1cmw6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgQ2FsZW5kYXJUeXBlOiBzdHJpbmc7XHJcbiAgICBEYXRlRm9ybWF0OiBzdHJpbmc7XHJcbiAgICBTaG93RGF0ZTE6IGJvb2xlYW47XHJcbiAgICBTaG93VGltZTE6IGJvb2xlYW47XHJcbiAgICBUaW1lRm9ybWF0OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEJvb2xDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgRmFsc2VDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBUcnVlQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgVHJ1ZUljb246IHN0cmluZztcclxuICAgIFZpZXdUeXBlOiBzdHJpbmc7XHJcbiAgICBGYWxzZUljb246IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIElubmVyQ3RybHI6IENvbnRyb2xJbmZvVHlwZXM7XHJcbiAgICBFeGVjdXRhaW9uVGltZTogc3RyaW5nO1xyXG4gICAgRWRpdFR5cGU6IHN0cmluZztcclxuICAgIERvbnRTaG93UmVjYWxjdWxhdGVCdXR0b246IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIFN1YmZvcm1Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgVHlwZURlZklkOiBhbnk7XHJcbiAgICBUeXBlRGVmSWNvbjogc3RyaW5nO1xyXG4gICAgSXNDb21wb3NlZFJlbGF0aW9uOiBzdHJpbmc7XHJcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XHJcbiAgICBUeXBlVmlld0lkOiBzdHJpbmc7XHJcbiAgICBGb3JtUGFuZWxTZXR0aW5nOiBGb3JtU2V0dGluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm8ge1xyXG4gICAgZmlsZUlkOiBzdHJpbmc7XHJcbiAgICBmaWxlVXJsOiBzdHJpbmc7XHJcbiAgICB2aWV3SW5Ccm93c2VyOiBib29sZWFuO1xyXG4gICAgY29udmVydFRvOiBzdHJpbmc7XHJcbiAgICBpc09mZmljZU9ubGluZTogYm9vbGVhbjtcclxuICAgIGZvck9jeDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm9SZXN1bHQge1xyXG4gICAgZmlsZW5hbWU6IHN0cmluZztcclxuICAgIGNvbnRlbnQ6IHN0cmluZztcclxuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmc7XHJcbiAgICBzdWNjZWVkOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBMaW5lYXJMaXN0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIERlZmF1bHRGaWVsZDogc3RyaW5nO1xyXG4gICAgRXh0cmFKc29uUHJvcEZpZWxkOiBzdHJpbmc7XHJcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XHJcbiAgICBJc0dlbmVyYWxJbmZvOiBib29sZWFuO1xyXG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcclxuICAgIFJlbGF0aW9uOiBMaXN0UmVsYXRpb25Nb2RlbDtcclxuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcclxuICAgIFJvd0ljb246IHN0cmluZztcclxuICAgIFRhcmdldFR5cGVEZWZJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBMaXN0UmVsYXRpb25Nb2RlbCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBDaGlsZEZkSWQ6IHN0cmluZztcclxuICAgIENoaWxkRmROYW1lOiBzdHJpbmc7XHJcbiAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xyXG4gICAgUGFyZW50TW9JZDogc3RyaW5nO1xyXG4gICAgUmVsYXRpb25UeXBlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XHJcbiAgICBEcm9wRG93blJlcG9ydElkOiBzdHJpbmc7XHJcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XHJcbiAgICBIaWRlQ29tYm86IGJvb2xlYW47XHJcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XHJcbiAgICBQYXNzUGFyZW50Rm9ybTogYm9vbGVhbjtcclxuICAgIFNob3dOZXdCdXR0b246IGJvb2xlYW47XHJcbiAgICBTaG93T2tDYW5jZWw6IGJvb2xlYW47XHJcbiAgICBWaWV3UmVsYXRlZEZvcm1UeXBlOiBzdHJpbmc7XHJcbiAgICBUYXJnZXRUeXBlRGVmSWQ6IHN0cmluZztcclxuICAgIERhdGFTb3VyY2U6IHtcclxuICAgICAgICBSb3dzOiBSb3dEYXRhT3B0aW9uW107XHJcbiAgICB9O1xyXG4gICAgUHJldmlld0ZpZWxkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgUHJldmlld0ZpZWxkSWQ6IHN0cmluZztcclxuICAgIFByZXZpZXdGaWVsZE5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29udHJvbEluZm9UeXBlcyA9XHJcbiAgICB8IFN1YmZvcm1Db250cm9sSW5mb01vZGVsXHJcbiAgICB8IENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgQm9vbENvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgRW51bUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgSWNvbkNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgRmlsZUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgRGF0ZVRpbWVDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IE51bWJlckNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgU3RyaW5nQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgR2F1Z2VDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IENvbW1hbmRDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlld1NldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgTGF5b3V0OTQ6IGFueTtcclxuICAgIENvbnRyb2xJbmZvOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVNldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgRGF0YToge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgICAgICBNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIH07XHJcbiAgICBWaWV3OiBGb3JtVmlld1NldHRpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgICRGaWVsZERpY3Q/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgJFJlcG9ydElkPzogc3RyaW5nO1xyXG4gICAgJFR5cGU/OiBzdHJpbmc7XHJcbiAgICAkU3R5bGVJbmRleD86IG51bWJlcltdO1xyXG4gICAgJENhcHRpb246IHN0cmluZztcclxuICAgICRJY29uPzogc3RyaW5nO1xyXG4gICAgJFN0YXRlPzogc3RyaW5nO1xyXG4gICAgJFR5cGVEZWZJZD86IHN0cmluZztcclxuICAgICRUeXBlRGVmTmFtZT86IHN0cmluZztcclxuICAgICRDaGlsZHJlbj86IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIEluaGVyaXRhbmNlPzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIEluaGVyaXRhbmNlSW5mbz86IHtcclxuICAgICAgICBDaGlsZEZpZWxkTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIFBhcmVudEZpZWxkTmFtZTogc3RyaW5nO1xyXG4gICAgfTtcclxuICAgIElkOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgQ2FsZW5kYXJNZXRhb2JqZWN0RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICAkQ29sb3I6IHN0cmluZztcclxuICAgICRNb21lbnRTdGFydERhdGU6IHN0cmluZztcclxuICAgICRNb21lbnRFbmREYXRlOiBzdHJpbmc7XHJcbiAgICAkU3RhcnRUaW1lczogc3RyaW5nO1xyXG4gICAgJEVuZFRpbWVzOiBzdHJpbmc7XHJcbiAgICAkVGl0bGU6IHN0cmluZztcclxuICAgICROb3Rlczogc3RyaW5nO1xyXG4gICAgJFN0YXJ0RGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XHJcbiAgICAkRW5kRGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNb0ZvclJlcG9ydE1vZGVsIHtcclxuICAgICRUeXBlPzogc3RyaW5nO1xyXG4gICAgVHlwZURlZklkOiBzdHJpbmc7XHJcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xyXG4gICAgSWNvbj86IHN0cmluZztcclxuICAgIE1vRGF0YUxpc3Q6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+O1xyXG4gICAgRGVsZXRlZExpc3Q6IEFycmF5PHsgSWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfT47XHJcbiAgICBBZGRlZExpc3Q6IEFycmF5PHsgSWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfT47XHJcbiAgICBQYWdpbmc6IFBhZ2luZ1NldHRpbmc7XHJcbiAgICBSZWxhdGlvbj86IHtcclxuICAgICAgICBSZWxhdGlvblR5cGU6IHN0cmluZztcclxuICAgICAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XHJcbiAgICAgICAgUGFyZW50RmRJZDogc3RyaW5nO1xyXG4gICAgICAgIENoaWxkRmRJZDogc3RyaW5nO1xyXG4gICAgICAgIFBhcmVudEZkTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIENoaWxkRmROYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgUGFzc1BhcmVudE1vRmllbGQ6IHN0cmluZztcclxuICAgICAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xyXG4gICAgICAgIElzQXV0b1NhdmVfUmVsb2FkUGFyZW50Rm9ybXM6IGJvb2xlYW47XHJcbiAgICAgICAgSXNBdXRvU2F2ZV9SZWxvYWRSb290UGFyZW50TGlzdDogYm9vbGVhbjtcclxuICAgIH07XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLkRlbGV0ZWRMaXN0ID0gdGhpcy5BZGRlZExpc3QgPSB0aGlzLk1vRGF0YUxpc3QgPSBbXTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0QmFzZUluZm8ge1xyXG4gICAgSWQ6IHN0cmluZztcclxuICAgIENhcHRpb246IHN0cmluZztcclxuICAgIEZvbGRlcklkOiBzdHJpbmc7XHJcbiAgICBJY29uVXJsOiBzdHJpbmc7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRFeHRyYUluZm8gZXh0ZW5kcyBSZXBvcnRCYXNlSW5mbyB7XHJcbiAgICBUeXBlRGVmSWQ6IHN0cmluZztcclxuICAgIFR5cGVEZWZDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBSZXBvcnRUeXBlOiBzdHJpbmc7XHJcbiAgICBIaWRlVG9vbGJhcjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1ldGFvYmplY3RSZWxhdGlvbk1vZGVsIGV4dGVuZHMgTGlzdFJlbGF0aW9uTW9kZWwge1xyXG4gICAgUGFyZW50RmRJZDogc3RyaW5nO1xyXG4gICAgUGFzc1BhcmVudE1vRmllbGQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRmllbGRJbmZvVHlwZUVudW0ge1xyXG4gICAgSW50SW5mbyA9IDAsXHJcbiAgICBTdHJpbmdJbmZvID0gMixcclxuICAgIERhdGVJbmZvID0gMyxcclxuICAgIEJvb2xJbmZvID0gNSxcclxuICAgIEVudW1JbmZvID0gNixcclxuICAgIFVzZXJJbmZvID0gNyxcclxuICAgIENhdGVnb3J5SW5mbyA9IDgsXHJcbiAgICBNZXRhT2JqZWN0SW5mbyA9IDksXHJcbiAgICBDb21tYW5kSW5mbyA9IDEwLCAvLyAweDAwMDAwMDBBXHJcbiAgICBQaWN0dXJlc0luZm8gPSAxMSwgLy8gMHgwMDAwMDAwQlxyXG4gICAgUmVsYXRpb25JbmZvID0gMTIsIC8vIDB4MDAwMDAwMENcclxuICAgIEhpc3RvcnlJbmZvID0gMTMsIC8vIDB4MDAwMDAwMERcclxuICAgIFJlbGF0aW9uSW5mb1JldmVyc2VfQWtzTGlzdGkgPSAxNCwgLy8gMHgwMDAwMDAwRVxyXG4gICAgQ3JlYXRvclVzZXJJbmZvID0gMTUsIC8vIDB4MDAwMDAwMEZcclxuICAgIENyZWF0aW9uRGF0ZUluZm8gPSAxNiwgLy8gMHgwMDAwMDAxMFxyXG4gICAgTGFzdFVwZGF0ZURhdGVJbmZvID0gMTcsIC8vIDB4MDAwMDAwMTFcclxuICAgIFJlbWluZGVySW5mbyA9IDE4LCAvLyAweDAwMDAwMDEyXHJcbiAgICBSaWNoU3RyaW5nSW5mbyA9IDE5LCAvLyAweDAwMDAwMDEzXHJcbiAgICBDb252ZXJ0Q29tbWFuZEluZm8gPSAyMCwgLy8gMHgwMDAwMDAxNFxyXG4gICAgUmVsYXRpb25JbmZvU2luZ2xlUmV2ZXJzZV9Ba3NUYWtpTGlzdGkgPSAyMSwgLy8gMHgwMDAwMDAxNVxyXG4gICAgRGlhbENvbW1hbmRJbmZvID0gMjIsIC8vIDB4MDAwMDAwMTZcclxuICAgIEZpbmRDb250YWN0Q29tbWFuZEluZm8gPSAyMywgLy8gMHgwMDAwMDAxN1xyXG4gICAgU2VxdWVuY2VDb21tYW5kSW5mbyA9IDI0LCAvLyAweDAwMDAwMDE4XHJcbiAgICBDdXJyZW5jeUluZm8gPSAyNSwgLy8gMHgwMDAwMDAxOVxyXG4gICAgU2luZ2xlUGljdHVyZUluZm8gPSAyNiwgLy8gMHgwMDAwMDAxQVxyXG4gICAgV29yZFJlcG9ydENvbW1hbmRJbmZvID0gMjcsIC8vIDB4MDAwMDAwMUJcclxuICAgIEhpZXJhcmNoaWNhbEluZm8gPSAyOCwgLy8gMHgwMDAwMDAxQ1xyXG4gICAgVGltZVNwYW5JbmZvID0gMjksIC8vIDB4MDAwMDAwMURcclxuICAgIFJlcG9ydEluZm8gPSAzMCwgLy8gMHgwMDAwMDAxRVxyXG4gICAgRmlsZUluZm8gPSAzMSwgLy8gMHgwMDAwMDAxRlxyXG4gICAgV29yZEZpbGVJbmZvID0gMzIsIC8vIDB4MDAwMDAwMjBcclxuICAgIFBpY3R1cmVGaWxlSW5mbyA9IDMzLCAvLyAweDAwMDAwMDIxXHJcbiAgICBHYXVnZUluZm8gPSAzNCwgLy8gMHgwMDAwMDAyMlxyXG4gICAgQ29kZUluZm8gPSAzNSwgLy8gMHgwMDAwMDAyM1xyXG4gICAgV29ya0NlbnRlckluZm8gPSAzNiwgLy8gMHgwMDAwMDAyNFxyXG4gICAgSXNEZWxldGVkSW5mbyA9IDM3LCAvLyAweDAwMDAwMDI1XHJcbiAgICBSb3dOdW1iZXJJbmZvID0gMzgsIC8vIDB4MDAwMDAwMjZcclxuICAgIEJpbmFyeUluZm8gPSAzOSwgLy8gMHgwMDAwMDAyN1xyXG4gICAgUmV2ZXJzZU1ldGFPYmplY3RJbmZvX0Frc1Rha2lUYWtpID0gNDAsIC8vIDB4MDAwMDAwMjhcclxuICAgIENvbG9ySW5mbyA9IDQxLCAvLyAweDAwMDAwMDI5XHJcbiAgICBJY29uSW5mbyA9IDQyLCAvLyAweDAwMDAwMDJBXHJcbiAgICBSZWZyZXNoRmllbGRDb21tYW5kSW5mbyA9IDQzLCAvLyAweDAwMDAwMDJCXHJcbiAgICBSZWZlcmVuY2VGaWVsZEluZm8gPSA0NCwgLy8gMHgwMDAwMDAyQ1xyXG4gICAgU2VhcmNoQ29tbWFuZEluZm8gPSA0NSwgLy8gMHgwMDAwMDAyRFxyXG4gICAgT3JkZXJJbmZvID0gNDYgLy8gMHgwMDAwMDAyRVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NOYW1lc01vZGVsIHtcclxuICAgIENvbW1hbmRCYXJDbGFzczogc3RyaW5nO1xyXG4gICAgRGF0YUNsYXNzOiBzdHJpbmc7XHJcbiAgICBTZWxlY3Rpb25DbGFzczogc3RyaW5nO1xyXG4gICAgVmlld2VyQ2xhc3M6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhTW9kZWwge1xyXG4gICAgQ3VzdG9tQ29tbWFuZHM/OiBDdXN0b21Db21tYW5kW107XHJcbiAgICBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M/OiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XHJcbiAgICBQYXJlbnRVbHZDb25maWc/OiBhbnk7XHJcbiAgICBSZWxhdGlvbj86IE1ldGFvYmplY3RSZWxhdGlvbk1vZGVsO1xyXG4gICAgUmVwb3J0PzogUmVwb3J0RXh0cmFJbmZvO1xyXG4gICAgRXh0cmFKc29uUHJvcFJlcG9ydD86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBDbGFzc05hbWVzOiBDbGFzc05hbWVzTW9kZWw7XHJcbiAgICBFeHRyYTogRXh0cmFNb2RlbDtcclxuICAgIFZpZXc6IFZpZXdUeXBlcztcclxuICAgIFNlYXJjaFBhbmVsOiBhbnk7XHJcbiAgICBEZWZhdWx0SXRlbUNvbXBvbmVudCA9ICdSZXBvcnREZWZhdWx0SXRlbUNvbXBvbmVudCc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0Q29tbWFuZHNBY2Nlc3Mge1xyXG4gICAgQWRkOiBib29sZWFuO1xyXG4gICAgQWRkVG9MaXN0OiBib29sZWFuO1xyXG4gICAgRGVsZXRlOiBib29sZWFuO1xyXG4gICAgRWRpdDogYm9vbGVhbjtcclxuICAgIEV4cG9ydDogYm9vbGVhbjtcclxuICAgIFByaW50OiBib29sZWFuO1xyXG4gICAgUmVmcmVzaDogYm9vbGVhbjtcclxuICAgIFJlbW92ZUZyb21MaXN0OiBib29sZWFuO1xyXG4gICAgVmlldzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tbWFuZCB7XHJcbiAgICBEYXRhOiBhbnk7XHJcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgSGlkZURpc2FibGU6IGJvb2xlYW47XHJcbiAgICBJY29uVXJsOiBzdHJpbmc7XHJcbiAgICBJc0xhcmdlOiBib29sZWFuO1xyXG4gICAgTXl0eXBlOiBzdHJpbmc7XHJcbiAgICBPcmRlcjogbnVtYmVyO1xyXG4gICAgU2hvd09uQ29udGV4dDogYm9vbGVhbjtcclxuICAgIFNob3dPblRvb2xiYXI6IGJvb2xlYW47XHJcbiAgICBUZXh0OiBzdHJpbmc7XHJcbiAgICBVc2VBbHdheXM6IGJvb2xlYW47XHJcbiAgICBVc2VGb3JNdWx0aTogYm9vbGVhbjtcclxuICAgIFVzZUZvclNpbmdsZTogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgRGF0YTogTW9Gb3JSZXBvcnRNb2RlbDtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydExpc3RNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBWaWV3OiBHcmlkVmlldztcclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Rm9ybU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcclxuICAgIFZpZXc6IEZvcm1WaWV3O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVZpZXcge1xyXG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcclxuICAgIFBhcmVudElkRGJOYW1lOiBzdHJpbmc7XHJcbiAgICBTaG93U2VsZWN0aW9uQ2hlY2tzOiBib29sZWFuO1xyXG4gICAgVHJlZUF1dG9PcGVuTGV2ZWxzOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFZpZXcge1xyXG4gICAgQWxsb3dHcmlkQ29sdW1uU29ydDogYm9vbGVhbjtcclxuICAgIEF1dG9JbmxpbmVFZGl0OiBib29sZWFuO1xyXG4gICAgQ29sdW1uUmVxdWVzdEVudW06IHN0cmluZztcclxuICAgIENvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+O1xyXG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcclxuICAgIERpc2FibGVSb3dSZWxvYWQ6IGJvb2xlYW47XHJcbiAgICBHcmlkU2V0dGluZzogR3JpZFNldHRpbmc7XHJcbiAgICBHcmlkX0ZyZWVDb2x1bW5TaXppbmc6IGJvb2xlYW47XHJcbiAgICBHcmlkX0dyaWRMaW5lczogc3RyaW5nO1xyXG4gICAgR3JpZF9IaWRlSGVhZGVyOiBib29sZWFuO1xyXG4gICAgR3JpZF9TaG93Um93TnVtYmVyOiBib29sZWFuO1xyXG4gICAgSGFzQ29uZGl0aW9uYWxGb3JtYXQ6IGJvb2xlYW47XHJcbiAgICBIYXNTdW1tYXJ5Um93OiBib29sZWFuO1xyXG4gICAgSGlkZUljb246IGJvb2xlYW47XHJcbiAgICBJc0NoZWNrTGlzdDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVmlldyB7XHJcbiAgICBDYWxlbmRhckZpZWxkczogQ2FsZW5kYXJGaWVsZHM7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlldyB7XHJcbiAgICBGb3JtUGFuZWxTZXR0aW5nOiBhbnk7XHJcbn1cclxuZXhwb3J0IHR5cGUgVmlld1R5cGVzID0gR3JpZFZpZXcgfCBDYWxlbmRhclZpZXcgfCBUcmVlVmlldyB8IEZvcm1WaWV3O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVwb3J0TW9kZWxUeXBlcyA9IFJlcG9ydExpc3RNb2RlbCB8IFJlcG9ydENhbGVuZGFyTW9kZWwgfCBSZXBvcnRGb3JtTW9kZWwgfCBSZXBvcnRUcmVlTW9kZWw7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Q2FsZW5kYXJNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBWaWV3OiBDYWxlbmRhclZpZXc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFRyZWVNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBWaWV3OiBUcmVlVmlldztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRmllbGRzIHtcclxuICAgIEVuZERhdGU6IHN0cmluZztcclxuICAgIE5vdGVzOiBzdHJpbmc7XHJcbiAgICBTdGFydERhdGU6IHN0cmluZztcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBDb2xvcjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld0NvbHVtbiB7XHJcbiAgICBBbGlhczogc3RyaW5nO1xyXG4gICAgQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgRmllbGREZWZJZDogc3RyaW5nO1xyXG4gICAgRmllbGRUeXBlSWQ6IG51bWJlciB8IHN0cmluZztcclxuICAgIEZpZWxkVHlwZTogc3RyaW5nO1xyXG4gICAgSGFzU3VtbWFyeTogYm9vbGVhbjtcclxuICAgIEhpZGRlbjogYm9vbGVhbjtcclxuICAgIElzTHRyOiBib29sZWFuO1xyXG4gICAgSXNQcmV2aWV3OiBib29sZWFuO1xyXG4gICAgTWV0YUZpZWxkVHlwZUlkOiBzdHJpbmc7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBXaWR0aDogbnVtYmVyO1xyXG4gICAgVGFnPzogc3RyaW5nO1xyXG4gICAgSWNvbjogc3RyaW5nO1xyXG4gICAgT25seUltYWdlPzogYm9vbGVhbjtcclxuICAgIEV4dHJhPzogYW55O1xyXG4gICAgJENvbnRlbnRXaWR0aD86IHN0cmluZztcclxuICAgICRXaWR0aD86IHN0cmluZztcclxuICAgICRDb2x1bW5XaWR0aE51bT86IG51bWJlcjtcclxuICAgICRDb2x1bW5XaWR0aD86IHN0cmluZztcclxuICAgICRGaXRDb250YWluZXJXaWR0aD86IHN0cmluZztcclxuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xyXG4gICAgJENTU0NsYXNzTmFtZT86IHN0cmluZztcclxuICAgICRDdXN0b21Db21wb25lbnQ/OiBFanJheU9sZ287XHJcbiAgICAkVGV4dFdpZHRoPzogbnVtYmVyO1xyXG4gICAgJElzSW1hZ2VPcmljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgR3JpZFNldHRpbmcge1xyXG4gICAgQ29sU2V0dGluZ0xpc3Q6IEFycmF5PENvbFNldHRpbmc+O1xyXG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XHJcbiAgICBBdXRvU2l6ZUNvbHVtbnM6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgV2lkdGg6IG51bWJlcjtcclxuICAgIElzSGlkZGVuOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTb3J0U2V0dGluZyB7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBTb3J0RGlyZWN0aW9uOiBzdHJpbmc7XHJcbiAgICBJc0dyb3VwZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRGaWVsZCB7XHJcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZztcclxuICAgIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbHVtbi5OYW1lO1xyXG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IGNvbHVtbi5DYXB0aW9uO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XHJcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5EYXRlSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWUgKyAnJENhcHRpb24nXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5JY29uSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWVdLlVybDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXN1bHQge1xyXG4gICAgZGF0YTogeyBzdGg6IHN0cmluZyB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFBsYWNlSG9sZGVycz86IFBsYWNlSG9sZGVyRGF0YU1vZGVsW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnREYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQbGFjZUhvbGRlckRhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIElzUGFnZTogYm9vbGVhbjtcclxuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgUGxhY2VIb2xkZXI6IFBsYWNlSG9sZGVyRGF0YU1vZGVsO1xyXG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XHJcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUxpc3RSZXBvcnRNb2RlbCBleHRlbmRzIE1vRm9yUmVwb3J0TW9kZWwge1xyXG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xyXG4gICAgTW9kdWxlTGlzdDogTW9kdWxlTGlzdFJlcG9ydE1vZGVsO1xyXG4gICAgQ2hpbGRQYWdlTGlzdDogUGFnZUxpc3RSZXBvcnRNb2RlbDtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBSb3V0ZTogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0Um91dGU6IHN0cmluZztcclxuICAgIElzTG9naW5Sb3V0ZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRhbERhdGFNb2RlbCBleHRlbmRzIFBhZ2VEYXRhTW9kZWwge1xyXG4gICAgSXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgICBJc1B3YTogYm9vbGVhbjtcclxuICAgIFBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBWaXNpYmlsaXR5IHtcclxuICAgIGVuYWJsZTogYm9vbGVhbjtcclxuICAgIHZpc2libGU6IGJvb2xlYW47XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVyTGF5b3V0IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBTdWJ0aXRsZTogc3RyaW5nO1xyXG4gICAgQXZhdGFyOiBhbnk7XHJcbiAgICBGYWNldExpc3Q6IHsgTW9EYXRhTGlzdDogTWV0YW9iamVjdERhdGFNb2RlbFtdIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVudUl0ZW0ge1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgaXRlbUlkOiBzdHJpbmc7XHJcbiAgICBEYXRhOiBhbnk7XHJcbiAgICBDb21tYW5kOiBhbnk7XHJcbiAgICBoYW5kbGVyOiAoKSA9PiB2b2lkO1xyXG4gICAgSXNCdWlsdGluPzogYm9vbGVhbjtcclxuICAgIG1lbnU/OiB7IGl0ZW1zOiBNZW51SXRlbVtdIH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdTZXR0aW5nIHtcclxuICAgIEVuZEluZGV4OiBudW1iZXI7XHJcbiAgICBIYXNQYWdpbmc6IGJvb2xlYW47XHJcbiAgICBQYWdlOiBudW1iZXI7XHJcbiAgICBQYWdlU2l6ZTogbnVtYmVyO1xyXG4gICAgUm93Q291bnQ6IG51bWJlcjtcclxuICAgIFN0YXJ0SW5kZXg6IG51bWJlcjtcclxuICAgIFRvdGFsUGFnZXM6IG51bWJlcjtcclxuICAgIFRvdGFsUm93czogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mb1R5cGUge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgSGlkZGVuOiBib29sZWFuO1xyXG4gICAgQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgSXNNYW5kYXRvcnk/OiBib29sZWFuO1xyXG4gICAgV2lkdGg6IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFBhbmVsU2V0dGluZ3MgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xyXG4gICAgSXNQdWJsaWM6IGJvb2xlYW47XHJcbiAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGJvb2xlYW47XHJcbiAgICBTZWFyY2hNbz86IHN0cmluZztcclxuICAgIEZpZWxkc1NldHRpbmc/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBEZXZpY2VTaXplID0gJ2Rlc2t0b3AnIHwgJ21vYmlsZScgfCAndGFibGV0JztcclxuZXhwb3J0IGNvbnN0IERhdGVSYW5nZXMgPSBbXHJcbiAgICAnRGF0ZVJfTm9uZScsXHJcbiAgICAnRGF0ZVJfU3BlY2lmaWNSYW5nZScsXHJcbiAgICAnRGF0ZVJfVG9kYXknLFxyXG4gICAgJ0RhdGVSX1RoaXNXZWVrJyxcclxuICAgICdEYXRlUl9UaGlzTW9udGgnLFxyXG4gICAgJ0RhdGVSX1RoaXNZZWFyJyxcclxuICAgICdEYXRlUl9EYXlzQmVmb3JlJyxcclxuICAgICdEYXRlUl9QcmV2V2VlaycsXHJcbiAgICAnRGF0ZVJfUHJldk1vbnRoJyxcclxuICAgICdEYXRlUl9QcmV2WWVhcicsXHJcbiAgICAnRGF0ZVJfRGF5c0FmdGVyJyxcclxuICAgICdEYXRlUl9OZXh0V2VlaycsXHJcbiAgICAnRGF0ZVJfTmV4dE1vbnRoJyxcclxuICAgICdEYXRlUl9OZXh0WWVhcidcclxuXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBvcnRWaWV3QmFzZSB7XHJcbiAgICBVaUNvbXBvbmVudDoge1xyXG4gICAgICAgIENvbXBvbmVudDogYm9vbGVhbjtcclxuICAgICAgICBNb2R1bGU6IHN0cmluZztcclxuICAgICAgICBNb2R1bGVGaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIE5hbWU6IHN0cmluZztcclxuICAgICAgICBTZWxlY3Rvcjogc3RyaW5nO1xyXG4gICAgICAgIFNldHRpbmdzOiBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZztcclxuICAgIH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBUeXBlOiBzdHJpbmc7XHJcbiAgICBJY29uOiBzdHJpbmc7XHJcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XHJcbiAgICBIaWRkZW46IGJvb2xlYW47XHJcbiAgICBFbmFibGVTZWFyY2g6IGJvb2xlYW47XHJcbiAgICBEaXNhYmxlUmVzcG9uc2l2ZT86IGJvb2xlYW47XHJcbiAgICBEaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudT86IGJvb2xlYW47XHJcbiAgICBIb3Jpem9udGFsR3JvdXBCeTogYm9vbGVhbjtcclxuICAgIEJhY2tncm91bmRJbWFnZTogRmlsZUF0dGFjaG1lbnRJbmZvO1xyXG4gICAgQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0U2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBUaXRsZT86IHN0cmluZztcclxuICAgIHh0eXBlOiBzdHJpbmc7XHJcbiAgICBUZXh0VmlzaWJsZT86IGJvb2xlYW47XHJcbiAgICBpdGVtczogTGF5b3V0U2V0dGluZ1tdO1xyXG4gICAgSXNSb290PzogYm9vbGVhbjtcclxuICAgIFNlbGVjdGVkVGFiUGFnZU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBYmJyZXZhdGlvbkRldmljZVNpemUgPSAncycgfCAnbScgfCAnbCcgfCAneGwnO1xyXG5leHBvcnQgZGVjbGFyZSB0eXBlIENhcmRNZWRpYVNpemUgPSAnMzJ4MzInIHwgJzY0eDY0JyB8ICcxMjh4MTI4JyB8ICcyNTZ4MjU2JztcclxuZXhwb3J0IGludGVyZmFjZSBUcmVlTm9kZU9iaiB7XHJcbiAgICBpc0V4cGFuZDogYm9vbGVhbjtcclxuICAgIHZpc2liaWxpdHk6IGJvb2xlYW47XHJcbiAgICBleHBhbmQ6ICgpID0+IHZvaWQ7XHJcbiAgICBjb2xsYXBzZTogKCkgPT4gdm9pZDtcclxuICAgIERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBjaGlsZHJlbjogVHJlZU5vZGVPYmpbXTtcclxuICAgIGljb246IHN0cmluZztcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgbGVhZjogYm9vbGVhbjtcclxuICAgIHRleHQ6IHN0cmluZztcclxuICAgIGxldmVsOiBudW1iZXI7XHJcbiAgICBsb2FkaW5nPzogYm9vbGVhbjtcclxuICAgIGhhc09uZURlcHRoTGV2ZWw/OiBib29sZWFuO1xyXG4gICAgcGFyZW50Tm9kZTogVHJlZU5vZGVPYmogfCBudWxsO1xyXG4gICAgZmlyc3RDaGlsZDogVHJlZU5vZGVPYmogfCBudWxsO1xyXG4gICAgbGFzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBwcmV2aW91c1NpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIG5leHRTaWJsaW5nOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBhdHRyaWJ1dGVzOiB7IERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsIH07XHJcbiAgICBoYXNDaGlsZE5vZGVzOiAoKSA9PiBib29sZWFuO1xyXG4gICAgbm9Ecm9wOiBib29sZWFuO1xyXG4gICAgJENoaWxkcmVuPzogVHJlZU5vZGVPYmpbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5SZXNpemVkQXJncyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICB3aWR0aDogbnVtYmVyO1xyXG4gICAgdGhEb206IEhUTUxUYWJsZUNlbGxFbGVtZW50O1xyXG59XHJcbmV4cG9ydCB0eXBlIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzID0geyBjb2x1bW5zOiBBcnJheTxSZXBvcnRWaWV3Q29sdW1uPjsgcmVzaXplZDogQXJyYXk8Q29sdW1uUmVzaXplZEFyZ3M+IH07XHJcbmV4cG9ydCB0eXBlIFJlbGF0aW9uSXRlbVR5cGUgPSB7XHJcbiAgICBJZDogc3RyaW5nO1xyXG4gICAgU291cmNlVHlwZURlZklkOiBzdHJpbmc7XHJcbiAgICBPYmplY3RJblJlbGF0aW9uTmFtZTogc3RyaW5nO1xyXG4gICAgR3JvdXBDYXB0aW9uOiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVqcmF5T2xnbyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgTW9kdWxlOiBzdHJpbmc7XHJcbiAgICBNb2R1bGVGaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgU2VsZWN0b3I6IHN0cmluZztcclxuICAgIFBhcmFtZXRlcnM/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgU2V0dGluZ3M/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRpbmdTdGF0ZSB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIHVwbG9hZGluZzogYm9vbGVhbjtcclxuICAgIHN0YXRlOiAnVXBsb2FkaW5nJyB8ICdFcnJvcicgfCAnQ29tcGxldGUnIHwgJ1N0YXJ0JztcclxuICAgIHByb2dyZXNzOiBhbnk7XHJcbn1cclxuZXhwb3J0IHR5cGUgR3JvdXBCeUl0ZW0gPSB7IFtrZXk6IHN0cmluZ106IGFueTsgaWQ6IHN0cmluZzsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnlbXSB9O1xyXG5leHBvcnQgdHlwZSBOb3RpZnlPcHRpb25zID0ge1xyXG4gICAgU291bmQ6IGJvb2xlYW47IC8vIFNvdW5kIG9mIG5vdGlmaWNhdGlvbi4gU2V0IHRoaXMgZmFsc2UgdG8gZGlzYWJsZSBzb3VuZC5cclxuICAgIEltYWdlOiBzdHJpbmcgfCBudWxsOyAvLyBJbWFnZSBzb3VyY2Ugc3RyaW5nXHJcbiAgICBUaXRsZTogc3RyaW5nIHwgbnVsbDsgLy8gVGl0bGUgb2Ygbm90aWZpY2F0aW9uLiBJZiB5b3UgZG8gbm90IGluY2x1ZGUgdGhlIHRpdGxlIGluIG9wdGlvbnMgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHRha2VzIGl0cyB2YWx1ZVxyXG4gICAgSWNvbjogYm9vbGVhbjsgLy8gSWNvbiBvZiBub3RpZmljYXRpb24uIExlYXZlIGFzIGlzIGZvciBkZWZhdWx0IGljb24gb3Igc2V0IGN1c3RvbSBzdHJpbmdcclxuICAgIERlbGF5OiBudW1iZXI7IC8vIEhpZGUgbm90aWZpY2F0aW9uIGFmdGVyIHRoaXMgdGltZSAoaW4gbWlsaXNlY29uZHMpXHJcbiAgICBDbG9zYWJsZTogYm9vbGVhbjsgLy8gTWFrZSBub3RpZmljYXRpb25zIGNsb3NhYmxlXHJcbiAgICBEZWxheUluZGljYXRvcjogYm9vbGVhbjsgLy8gU2hvdyB0aW1lciBpbmRpY2F0b3JcclxuICAgIENsb3NlT25DbGljazogYm9vbGVhbjsgLy8gQ2xvc2Ugbm90aWZpY2F0aW9ucyBieSBjbGlja2luZyBvbiB0aGVtXHJcbiAgICBJc1J0bDogYm9vbGVhbjtcclxuICAgIFBvc2l0aW9uOiBzdHJpbmcgfCBvYmplY3Q7IC8vIEF2YWlsYWJsZSBvcHRpb25zOiBcInRvcCBsZWZ0XCIsIFwidG9wIHJpZ2h0XCIsIFwiYm90dG9tIGxlZnRcIiwgXCJib3R0b20gcmlnaHRcIiwgXCJjZW50ZXIgdG9wXCIsIFwiY2VudGVyIGJvdHRvbVwiXHJcbiAgICBTb3VuZFBhdGg6IHN0cmluZzsgLy8gVGhlIGZvbGRlciBwYXRoIHdoZXJlIHNvdW5kcyBhcmUgbG9jYXRlZFxyXG4gICAgU2l6ZTogc3RyaW5nOyAvLyBub3JtYWwsIG1pbmksIGxhcmdlXHJcbiAgICBDb250aW51ZURlbGF5T25JbmFjdGl2ZVRhYjogYm9vbGVhbjsgLy8gQ29udGludWUgZGVsYXkgd2hlbiBicm93c2VyIHRhYiBpcyBpbmFjdGl2ZVxyXG4gICAgV2lkdGg6IG51bWJlcjsgLy8gV2lkdGggb2Ygbm90aWZpY2F0aW9uIGJveFxyXG4gICAgTWVzc2FnZUhlaWdodDogbnVtYmVyOyAvLyBOb3RpZmljYXRpb24gbWVzc2FnZSBtYXhpbXVtIGhlaWdodC5cclxuICAgIE5vdGlmaWNhdGlvbkl0ZW0/OiBOb3RpZmljYXRpb25JdGVtO1xyXG59O1xyXG5leHBvcnQgdHlwZSBTaGFyZUJ1dHRvbnNDaG9pY2VEZWYgPSB7XHJcbiAgICBmb3JtUGFuZWxDdHJscjogYW55O1xyXG4gICAgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBjaG9pY2VMaXN0OiBDaG9pY2VEZWZbXTtcclxuICAgIGFkZDogYm9vbGVhbjtcclxufTtcclxuZXhwb3J0IHR5cGUgQ2hvaWNlRGVmID0ge1xyXG4gICAgQWN0aXZpdHlEZWZJZDogc3RyaW5nO1xyXG4gICAgQWN0aXZpdHlSdW5JZDogc3RyaW5nO1xyXG4gICAgQ2hvaWNlRGVmSWQ6IHN0cmluZztcclxuICAgIENob2ljZU5hbWU/OiBzdHJpbmc7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgSWNvbj86IHN0cmluZztcclxuICAgIEhhc0Jhcj86IGJvb2xlYW47XHJcbn07XHJcbmV4cG9ydCB0eXBlIFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cyA9IHtcclxuICAgIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgICByZXN1bHQ6IGFueTtcclxuICAgIGVycm9yOiBhbnk7XHJcbiAgICBjaG9pY2U/OiBDaG9pY2VEZWY7XHJcbn07XHJcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblBheWxvYWQgPSB7XHJcbiAgICBtc2c6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBpbWFnZTogc3RyaW5nO1xyXG4gICAgbW87XHJcbiAgICB1aU9wdGlvbnM6IE5vdGlmeU9wdGlvbnM7XHJcbiAgICBvdGhlck9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn07XHJcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbkFjdGlvbiA9IHtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBJZDogc3RyaW5nO1xyXG4gICAgSWNvbjogc3RyaW5nO1xyXG4gICAgU3RhdHVzOiBzdHJpbmcgfCBhbnk7XHJcbn07XHJcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvbkl0ZW0gPSBNZXRhb2JqZWN0RGF0YU1vZGVsICYge1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIFVucmVhZDogYm9vbGVhbjtcclxuICAgIENvbnRlbnQ6IHN0cmluZztcclxuICAgICRTYWZlQ29udGVudD86IFNhZmVIdG1sO1xyXG4gICAgUHJpb3JpdHk6IG51bWJlcjtcclxuICAgIFN1YmplY3Q6IHN0cmluZztcclxuICAgIFRhZzogc3RyaW5nO1xyXG4gICAgSWNvbjogc3RyaW5nO1xyXG4gICAgSW1hZ2U6IHN0cmluZztcclxuICAgIENyZWF0aW9uRGF0ZTogRGF0ZTtcclxuICAgIENyZWF0aW9uRGF0ZSRDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBVaUFjdGlvbnM/OiBOb3RpZmljYXRpb25BY3Rpb25bXTtcclxuICAgICRDaG9pY2VEZWZTdGF0dXM/OiBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXM7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBFeE5vdGlmaWNhdGlvblBheWxvYWQgPSB7XHJcbiAgICBsYW5nOiBzdHJpbmc7XHJcbiAgICBpc1J0bDogYm9vbGVhbjtcclxuICAgIG5vdGlmaWNhdGlvbkl0ZW06IE5vdGlmaWNhdGlvbkl0ZW07XHJcbn07XHJcbmV4cG9ydCB0eXBlIEZvcm1WaXNpYmlsaXR5U3RhdHVzID0gJ1BlbmRpbmcnIHwgJ1Zpc2libGUnO1xyXG5leHBvcnQgdHlwZSBDYXJ0YWJsZVRlbXBsYXRlS2V5ID0geyBUeXBlRGVmSWQ6IHN0cmluZzsgU2V0dGluZ3NJZDogc3RyaW5nIH07XHJcbmV4cG9ydCBlbnVtIFNvcnREaXJlY3Rpb24ge1xyXG4gICAgTk9ORSA9ICdub25lJyxcclxuICAgIEFTQyA9ICdhc2MnLFxyXG4gICAgREVTQyA9ICdkZXNjJ1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblNvcnQge1xyXG4gICAgZmllbGQ6IHN0cmluZyB8IG51bGw7XHJcbiAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XHJcbiAgICBpc051bWJlcj86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hJbnB1dCB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Hcm91cCB7XHJcbiAgICBmaWVsZDogc3RyaW5nO1xyXG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xyXG4gICAgc2hvd0FzQ29sdW1uOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25QYWdlIHtcclxuICAgIHBhZ2VTaXplOiBudW1iZXI7XHJcbiAgICBjdXJyZW50UGFnZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25TdGF0ZSB7XHJcbiAgICBzb3J0Qnk6IENvbGxlY3Rpb25Tb3J0W107XHJcbiAgICBncm91cEJ5OiBDb2xsZWN0aW9uR3JvdXBbXTtcclxuICAgIHBhZ2U6IENvbGxlY3Rpb25QYWdlO1xyXG4gICAgc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlU3RhdGUgZXh0ZW5kcyBDb2xsZWN0aW9uU3RhdGUge1xyXG4gICAgY29sdW1uczogc3RyaW5nW107XHJcbiAgICBjb2x1bW5LZXlzOiBzdHJpbmdbXTtcclxuICAgIGZyZWV6ZVRvQ29sdW1uOiBzdHJpbmcgfCBudWxsO1xyXG59XHJcbmV4cG9ydCBlbnVtIFNlbGVjdGlvbk1vZGUge1xyXG4gICAgU0lOR0xFID0gJ3NpbmdsZScsXHJcbiAgICBNVUxUSVBMRSA9ICdtdWx0aXBsZScsXHJcbiAgICBOT05FID0gJ25vbmUnXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBUeXBlVWx2TWFpbkN0cmxyIHtcclxuICAgIEFkYXB0ZXI6IGFueTtcclxuICAgIFNldHRpbmc6IGFueTtcclxuICAgIFN5c3RlbTogYW55O1xyXG4gICAgVWx2UGFyYW1zOiBhbnk7XHJcbiAgICBGZWF0dXJlczogYW55O1xyXG4gICAgVWlPdmVycmlkZTogYW55O1xyXG4gICAgU2VhcmNoUGFuZWxDdHJscjogYW55O1xyXG4gICAgU2VsZWN0aW9uQWRhcHRlcjogYW55O1xyXG4gICAgRGF0YUN0cmxyOiBUeXBlVWx2RGF0YUN0cmxyO1xyXG4gICAgQ29tbWFuZEJhckN0cmxyOiBhbnk7XHJcbiAgICBWaWV3ZXJBZGFwdGVyOiBhbnk7XHJcbiAgICBQYXJlbnRNbzogYW55O1xyXG4gICAgRmllbGRDdHJscjogYW55O1xyXG4gICAgaXNNYW5kYXRvcnk6IGJvb2xlYW47IC8vIHBvcnRhbCB1c2UgaXQuIGNvbXBvbmVudCBtYWRhcmVrXHJcbiAgICAvLy8gUmVsYXRlZCBmaWVsZCBvZiBVbHZcclxuICAgIC8vIFBhcmVudEZpZWxkSW5mb0N0cmxyOiBudWxsLFxyXG4gICAgSXNQcmV2aWV3U291cmNlRmllbGQ6IGJvb2xlYW47XHJcbiAgICAvLy8gSW5kaWNhdGUgd2hldGhlciB0aGlzIFVsdiBpcyB1c2VkIGFzIHJlbGF0aW9uIGZpZWxkIHRoYXQgaXMgUHJldmlld1NvdXJjZSBmb3IgYSBzdWJmb3JtXHJcbiAgICBTaG93T2tDYW5jZWxCdXR0b25zOiBib29sZWFuO1xyXG4gICAgX2lzRW5hYmxlOiBib29sZWFuO1xyXG4gICAgX2lzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgICBfaXNWaXNpYmxlOiBib29sZWFuO1xyXG4gICAgRm9vdHRlckJ1dHRvbnM6IGJvb2xlYW47XHJcbiAgICBSZWZyZXNoUm93c0J5TW9zTm9TZWxlY3Rpb25DaGFuZ2UoXHJcbiAgICAgICAgZWRpZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXHJcbiAgICAgICAgYWRkZWRNb3M6IE1ldGFvYmplY3REYXRhTW9kZWxbXSxcclxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cclxuICAgICk6IHZvaWQ7XHJcbiAgICBSZWZyZXNoUm93c0J5TW9zKFxyXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxyXG4gICAgICAgIGFkZGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXHJcbiAgICAgICAgZGVsZXRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdXHJcbiAgICApOiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVVbHZEYXRhQ3RybHIge1xyXG4gICAgR2V0RWRpdEZvcm1QYXJhbXMobW8sIGlzUmVhZE9ubHksIGlzTmV3LCBpbmhlcml0YW5jZUNoaWxkVHlwZURlZiwgZG9SZXR1cm4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbXBvbmVudFBhcmFtcyB7XHJcbiAgICBmb3JtU2V0dGluZz86IEZvcm1TZXR0aW5nO1xyXG4gICAgbW9JZDogc3RyaW5nO1xyXG4gICAgdHlwZURlZklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICByZXBvcnRJZD86IHN0cmluZztcclxuICAgIHZpZXdJZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIFZpZXdOYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgaW5EaWFsb2c/OiBib29sZWFuO1xyXG4gICAgaXNTaW1wbGU/OiBib29sZWFuO1xyXG4gICAgbG9hZEFjdGl2aXR5Vmlldz86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBCcnVsZUFjdGlvbk1lc3NhZ2Uge1xyXG4gICAgTWVzc2FnZVR5cGU6IG51bWJlcjtcclxuICAgIEVzY2FwZUNoYXJhY3RlcnM6IGJvb2xlYW47XHJcbiAgICBNZXNzYWdlRXhwcmVzc2lvbjogc3RyaW5nO1xyXG4gICAgTWVzc2FnZUV4cHJlc3Npb25IdG1sOiBTYWZlSHRtbDtcclxufVxyXG5leHBvcnQgdHlwZSBDb2x1bW5TdW1tYXJ5VHlwZSA9IHtcclxuICAgIG1vQXJyOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW47XHJcbiAgICBncm91cE5hbWU6IHN0cmluZztcclxuICAgIGdyb3VwTGV2ZWw6IG51bWJlcjtcclxuICAgIHN1bW1hcnlGbjogKHZhbCkgPT4gdm9pZDtcclxufTtcclxuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJSZXBvcnRTZXR0aW5nIHtcclxuICAgIFJlbGF0ZWRSZXBvcnQ6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBSb3dDbGljazogc3RyaW5nO1xyXG4gICAgRGF0YU9ubHk6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IHR5cGUgQ3NzQmFja2dyb3VuZCA9IHtcclxuICAgIGNvbG9yOiBzdHJpbmc7XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIHJlcGVhdDogYm9vbGVhbjtcclxufTtcclxuIl19
|
|
@@ -42,6 +42,7 @@ export class ReportBaseComponent extends BaseComponent {
|
|
|
42
42
|
this.rendered = true;
|
|
43
43
|
this.context.rendered = true;
|
|
44
44
|
this.inDialog$ = this._ulvMainService.inDialog$;
|
|
45
|
+
this.cssBackground$ = this._ulvMainService.cssBackground$;
|
|
45
46
|
this.isMultiSelect$ = this._ulvMainService.isMultiSelect$;
|
|
46
47
|
this.fullscreen$ = this._ulvMainService.fullscreen$;
|
|
47
48
|
this.hideSearchpanel$ = this._ulvMainService.hideSearchpanel$;
|
|
@@ -262,4 +263,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
262
263
|
}], pageSizeChange: [{
|
|
263
264
|
type: Output
|
|
264
265
|
}] } });
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFJTix1QkFBdUIsRUFDMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3RGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUEwQnZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBd0RsRCxZQUFzQixjQUE2QixFQUFZLGVBQStCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFqRHBGLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RCx1QkFBa0IsR0FBRztZQUNqQixjQUFjLEVBQUUsRUFBRTtZQUNsQixlQUFlLEVBQUUsS0FBSztZQUN0QixlQUFlLEVBQUUsRUFBRTtZQUNuQixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFLRixpQkFBWSxHQUF5RSxJQUFJLENBQUM7UUE4QmhGLDBCQUFxQixH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SUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDZCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsVUFBVSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDN0IsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUNTLHdCQUF3QixDQUFDLFVBQVU7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsMEJBQTBCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkUsQ0FBQzsrR0FsVFEsbUJBQW1CO21HQUFuQixtQkFBbUIsb05BSmxCLEVBQUU7OzRGQUlILG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOytHQUVZLE9BQU87c0JBQWYsS0FBSztnQkFJRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBJbnB1dCxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIE91dHB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBwbHVjaywgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdldEFsbENvbHVtbnNTb3J0ZWQsIGdldFJlc2V0R3JpZFNldHRpbmdzLCBnZXRVbmlxdWVJZCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFBvcnRhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wb3J0YWwuc2VydmljZSc7XHJcbmltcG9ydCB7IFVsdk1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdWx2bWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XHJcbmltcG9ydCB7XHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgR3JpZFNldHRpbmcsXHJcbiAgICBDb2xTZXR0aW5nLFxyXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcclxuICAgIFNvcnRTZXR0aW5nLFxyXG4gICAgTWVudUl0ZW0sXHJcbiAgICBQYWdpbmdTZXR0aW5nLFxyXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxyXG4gICAgY29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3MsXHJcbiAgICBGb3JtU2V0dGluZyxcclxuICAgIENvbHVtblN1bW1hcnlUeXBlXHJcbn0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXBvcnRTZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBFeHRyYTogYW55O1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLXJlcG9ydC1iYXNlJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgY29udGV4dDoge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgICAgICBTZXR0aW5nOiBSZXBvcnRTZXR0aW5nO1xyXG4gICAgfTtcclxuICAgIEBJbnB1dCgpIGN1cnJlbnRQYWdlOiBudW1iZXI7XHJcblxyXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIEBPdXRwdXQoKSBwYWdlU2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIGRlZmF1bHRHcmlkU2V0dGluZyA9IHtcclxuICAgICAgICBDb2xTZXR0aW5nTGlzdDogW10sXHJcbiAgICAgICAgQXV0b1NpemVDb2x1bW5zOiBmYWxzZSxcclxuICAgICAgICBTb3J0U2V0dGluZ0xpc3Q6IFtdLFxyXG4gICAgICAgIEhpZGRlbjogdHJ1ZVxyXG4gICAgfTtcclxuICAgIGl0ZW1TZWxlY3Rvcjogc3RyaW5nO1xyXG4gICAgYWxsQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xyXG4gICAgaWQ6IHN0cmluZztcclxuXHJcbiAgICBzb3J0U2V0dGluZ3M6IHsgSXNHcm91cGVkOiBib29sZWFuOyBOYW1lOiBzdHJpbmc7IFNvcnREaXJlY3Rpb246IHN0cmluZyB9W10gfCBudWxsID0gbnVsbDtcclxuICAgIHBhcmFtZXRlcnM6IGFueTtcclxuICAgIGZpZWxkczogYW55O1xyXG5cclxuICAgIHZpc2libGVDb2x1bW5zJDogT2JzZXJ2YWJsZTxSZXBvcnRWaWV3Q29sdW1uW10+O1xyXG4gICAgc2VhcmNoVGVybSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIG1vRGF0YUxpc3QkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XHJcbiAgICBncmlkU2V0dGluZyQ6IE9ic2VydmFibGU8R3JpZFNldHRpbmc+O1xyXG4gICAgZ3JvdXBieSQ6IE9ic2VydmFibGU8U29ydFNldHRpbmdbXT47XHJcbiAgICBhbGxDaGVja2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHBhZ2luZ1NldHRpbmckOiBPYnNlcnZhYmxlPFBhZ2luZ1NldHRpbmcgfCBudWxsPjtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XHJcbiAgICBtYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgaW5EaWFsb2ckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaXNNdWx0aVNlbGVjdCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBmdWxsc2NyZWVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIG1lbnVJdGVtcyQ6IE9ic2VydmFibGU8TWVudUl0ZW1bXT47XHJcbiAgICB0b29sYmFyQnV0dG9ucyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG4gICAgdG9vbGJhckVuYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlVG9vbGJhciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlU2VhcmNocGFuZWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgc2VsZWN0ZWRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IHVuZGVmaW5lZD47XHJcbiAgICBjb25kaXRpb25hbEZvcm1hdHMkOiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICAgIG5ld0lubGluZUVkaXRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw+O1xyXG4gICAgY2FydGFibGVUZW1wbGF0ZXMkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfSB8IG51bGw+O1xyXG4gICAgY2FydGFibGVDaGlsZHNNbyQ6IE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gfCBudWxsPjtcclxuICAgIHNlbGVjdGVkQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBncmlkRnJlZUNvbHVtblNpemluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gICAgcHJvdGVjdGVkIF92aXNpYmxlQ29sdW1uc1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVwb3J0Vmlld0NvbHVtbltdPihbXSk7XHJcbiAgICBwcm90ZWN0ZWQgc2VhcmNoVGVybVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XHJcbiAgICBwcm90ZWN0ZWQgZ3JpZFNldHRpbmdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdyaWRTZXR0aW5nPih0aGlzLmRlZmF1bHRHcmlkU2V0dGluZyk7XHJcbiAgICBwcm90ZWN0ZWQgZ3JvdXBieVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U29ydFNldHRpbmdbXT4oW10pO1xyXG4gICAgcHJpdmF0ZSBfYWxsQ2hlY2tlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSwgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNvbHVtbnMkID0gdGhpcy5fdmlzaWJsZUNvbHVtbnNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJCA9IHRoaXMuc2VhcmNoVGVybVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nJCA9IHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5ncm91cGJ5JCA9IHRoaXMuZ3JvdXBieVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmFsbENoZWNrZWQkID0gdGhpcy5fYWxsQ2hlY2tlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmZpZWxkcyA9IHt9O1xyXG4gICAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UudG9vbGJhckJ1dHRvbnMkO1xyXG4gICAgfVxyXG4gICAgZ2V0IG1vRGF0YUxpc3QoKTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdFNvdXJjZS5nZXRWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnJlbmRlcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmluRGlhbG9nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmluRGlhbG9nJDtcclxuICAgICAgICB0aGlzLmlzTXVsdGlTZWxlY3QkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaXNNdWx0aVNlbGVjdCQ7XHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmZ1bGxzY3JlZW4kO1xyXG4gICAgICAgIHRoaXMuaGlkZVNlYXJjaHBhbmVsJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmhpZGVTZWFyY2hwYW5lbCQ7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XHJcbiAgICAgICAgdGhpcy5oaWRlVG9vbGJhciQgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlVG9vbGJhciQ7XHJcbiAgICAgICAgdGhpcy5uZXdJbmxpbmVFZGl0TW8kID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubmV3SW5saW5lRWRpdE1vJDtcclxuICAgICAgICB0aGlzLmNvbmRpdGlvbmFsRm9ybWF0cyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5jb25kaXRpb25hbEZvcm1hdHMkO1xyXG4gICAgICAgIHRoaXMuY2FydGFibGVUZW1wbGF0ZXMkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FydGFibGVUZW1wbGF0ZXMkO1xyXG4gICAgICAgIHRoaXMuY2FydGFibGVDaGlsZHNNbyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5jYXJ0YWJsZUNoaWxkc01vJDtcclxuICAgICAgICB0aGlzLnRpdGxlJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnRpdGxlJC5waXBlKHBsdWNrKCd0ZXh0JykpO1xyXG4gICAgICAgIHRoaXMubWVudUl0ZW1zJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1lbnVJdGVtcyQ7XHJcbiAgICAgICAgdGhpcy5wYWdpbmdTZXR0aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnBhZ2luZ1NldHRpbmckO1xyXG4gICAgICAgIHRoaXMudG9vbGJhckVuYWJsZSQgPSB0aGlzLl91bHZNYWluU2VydmljZS5lbmFibGUkO1xyXG4gICAgICAgIHRoaXMuZ3JpZEZyZWVDb2x1bW5TaXppbmckID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZ3JpZEZyZWVDb2x1bW5TaXppbmckO1xyXG4gICAgICAgIHRoaXMubWFzayQgPSB0aGlzLl91bHZNYWluU2VydmljZS52aXdlck1hc2skLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNbyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5tb0RhdGFMaXN0JC5waXBlKG1hcCgoaXRlbXMpID0+IGl0ZW1zLmZpbmQoKGMpID0+IGMuJElzQ2hlY2tlZCkpKTtcclxuICAgICAgICB0aGlzLm1vRGF0YUxpc3QkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdCQucGlwZSh0YXAoKGl0ZW1zKSA9PiB0aGlzLl9zZXRBbGxDaGVja2VkKGl0ZW1zKSkpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5zZWxlY3RlZENvdW50JDtcclxuXHJcbiAgICAgICAgdGhpcy5jb250ZXh0Lm9uKHtcclxuICAgICAgICAgICAgc2NvcGU6IHRoaXMsXHJcbiAgICAgICAgICAgIE1vRGF0YUxpc3RDaGFuZ2VkOiB0aGlzLl9tb0RhdGFMaXN0Q2hhbmdlZCxcclxuICAgICAgICAgICAgR3JpZFNldHRpbmdDaGFuZ2VkOiB0aGlzLl9ncmlkU2V0dGluZ0NoYW5nZWRcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBpbiBnaGVpcmUgZmFhbCBib29kIGNob24gbW9zaGtlbCBlaWphZCBtaWthcmRcclxuICAgICAgICAvLyB2YSBkYXIgdWx2IGV2ZW50IGJhaWFkIHJhaXNlIHNoYXZhZFxyXG4gICAgICAgIC8vIGtlIGRhdGEgYW1hZGUgc2hvZGUgdmEgdWx2bWFpbnNlcnZpY2UgYW4gcmEgYmVnaXJhZC5nb3phcmVzaCBtb3J0YWJldFxyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCh0aGlzLmNvbnRleHQubW9EYXRhTGlzdCk7XHJcblxyXG4gICAgICAgIGxldCBncmlkU2V0dGluZyA9IHRoaXMuZGVmYXVsdEdyaWRTZXR0aW5nO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQuR2V0R3JpZFNldHRpbmcpIHtcclxuICAgICAgICAgICAgZ3JpZFNldHRpbmcgPSB0aGlzLmNvbnRleHQuR2V0R3JpZFNldHRpbmcoKSB8fCB0aGlzLmRlZmF1bHRHcmlkU2V0dGluZztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3NldFZpc2libGVDb2x1bW5zKCk7XHJcblxyXG4gICAgICAgIGdyaWRTZXR0aW5nLlNvcnRTZXR0aW5nTGlzdCB8fD0gW107XHJcbiAgICAgICAgdGhpcy5hbGxDb2x1bW5zID0gdGhpcy5jb250ZXh0LmFsbENvbHVtbnMgfHwgW107XHJcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkU2V0dGluZyhncmlkU2V0dGluZywgZmFsc2UsIGZhbHNlKTtcclxuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICAgICAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpLlBhcmFtZXRlcnMnLFxyXG4gICAgICAgICAgICBudWxsXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmlkID0gZ2V0VW5pcXVlSWQoNCk7XHJcblxyXG4gICAgICAgIHRoaXMuaXRlbVNlbGVjdG9yID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5DbGFzc05hbWVzLkN1c3RvbVVpUm93LlNlbGVjdG9yJyk7XHJcblxyXG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzJyk7XHJcbiAgICAgICAgY29uc3QgZmllbGRTZXR0aW5ncyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMucGFyYW1ldGVycywgJ0ZpZWxkU2V0dGluZ3MuTW9EYXRhTGlzdCcsIFtdKTtcclxuXHJcbiAgICAgICAgZmllbGRTZXR0aW5ncy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGRzW2MuQ29tcG9uZW50UGFyYW1ldGVyLiRDYXB0aW9uXSA9IGMuJENhcHRpb247XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UuY29udGV4dC5SZWZyZXNoQWxsQ21kVWkoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcblxyXG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICB0YXAoKGRldmljZVNpemUpID0+IHRoaXMuX2RldmljZVNpemVDaGFuZ2VkKGRldmljZVNpemUpKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLndpbmRvd1Jlc2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl93aW5kb3dSZXNpemVkKCkpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dD8uZmlyZUV2ZW50KCdhZnRlcnJlbmRlcicsIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQudW4oJ01vRGF0YUxpc3RDaGFuZ2VkJywgdGhpcy5fbW9EYXRhTGlzdENoYW5nZWQpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC51bignR3JpZFNldHRpbmdDaGFuZ2VkJywgdGhpcy5fZ3JpZFNldHRpbmdDaGFuZ2VkKTtcclxuICAgIH1cclxuICAgIG9uUmVzZXRHcmlkU2V0dGluZ3MoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYWxsQ29sdW1ucyA9IHRoaXMuYWxsQ29sdW1ucy5tYXAoKGMpID0+ICh7XHJcbiAgICAgICAgICAgIC4uLmMsXHJcbiAgICAgICAgICAgIEhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgICAgIFdpZHRoOiAwLFxyXG4gICAgICAgICAgICAkV2lkdGg6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgJFdpZHRoMjogdW5kZWZpbmVkXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIGNvbnN0IGdyaWRTZXR0aW5ncyA9IGdldFJlc2V0R3JpZFNldHRpbmdzKGFsbENvbHVtbnMsIHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkU2V0dGluZyhncmlkU2V0dGluZ3MsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfY29sdW1uU3VtbWFyeShlOiBDb2x1bW5TdW1tYXJ5VHlwZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoXHJcbiAgICAgICAgICAgICdjb2x1bW5TdW1tYXJ5JyxcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICAgICBlLm1vQXJyLFxyXG4gICAgICAgICAgICBlLmNvbHVtbixcclxuICAgICAgICAgICAgZS5ncm91cExldmVsLFxyXG4gICAgICAgICAgICBlLmdyb3VwTmFtZSxcclxuICAgICAgICAgICAgZS5zdW1tYXJ5Rm5cclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9ncmlkU2V0dGluZ0NoYW5nZWQoc2V0dGluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UubmV4dChzZXR0aW5nKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfbW9EYXRhTGlzdENoYW5nZWQobW9EYXRhTGlzdCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdChtb0RhdGFMaXN0KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0QWxsQ2hlY2tlZChpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fYWxsQ2hlY2tlZFNvdXJjZS5uZXh0KGl0ZW1zLmxlbmd0aCA+IDAgJiYgIWl0ZW1zLnNvbWUoKGMpID0+ICFjLiRJc0NoZWNrZWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2hhbmRsZUNvbHVtbnNSZXNpemVkKGU6IGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZ3JpZFNldHRpbmc6IEdyaWRTZXR0aW5nID0gdGhpcy5ncmlkU2V0dGluZ1NvdXJjZS5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIGNvbnN0IHsgY29sdW1ucywgcmVzaXplZCB9ID0gZTtcclxuICAgICAgICBjb25zdCBjb2xMaXN0OiBDb2xTZXR0aW5nW10gPSBncmlkU2V0dGluZy5Db2xTZXR0aW5nTGlzdDtcclxuICAgICAgICByZXNpemVkLmZvckVhY2goKGNvbHVtbjEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcmVzaXplZENvbHVtbiA9IGNvbHVtbnMuZmluZCgoYykgPT4gYy5OYW1lID09PSBjb2x1bW4xLm5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoIWNvbExpc3QpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2xMaXN0LmZpbmQoKGMpID0+IGMuTmFtZSA9PT0gcmVzaXplZENvbHVtbj8uTmFtZSk7XHJcbiAgICAgICAgICAgIGlmIChjb2x1bW4pIHtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi5XaWR0aCA9IGNvbHVtbjEud2lkdGg7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzaXplZENvbHVtbikge1xyXG4gICAgICAgICAgICAgICAgY29sTGlzdC5wdXNoKHsgSXNIaWRkZW46IHJlc2l6ZWRDb2x1bW4uSGlkZGVuLCBOYW1lOiByZXNpemVkQ29sdW1uLk5hbWUsIFdpZHRoOiBjb2x1bW4xLndpZHRoIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fcmFpc2VFdmVudFVzZXJTZXR0aW5nQ2hhbmdlZChncmlkU2V0dGluZyk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFZpc2libGVDb2x1bW5zKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBHZXRBbGxDb2x1bW5zU29ydGVkKHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbnNTb3VyY2UubmV4dChjb2x1bW5zLmZpbHRlcigoYykgPT4gIWMuSGlkZGVuKSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgYXBwbHlHcm91cGJ5KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNvcnRMaXN0OiBTb3J0U2V0dGluZ1tdID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgJ1NldHRpbmcuVmlldy5HcmlkU2V0dGluZy5Tb3J0U2V0dGluZ0xpc3QnLFxyXG4gICAgICAgICAgICBbXVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5ncm91cGJ5U291cmNlLm5leHQoc29ydExpc3QuZmlsdGVyKChjKSA9PiBjLklzR3JvdXBlZCkpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9yYWlzZVJvd0NsaWNrKGluZGV4LCBtbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dD8uZmlyZUV2ZW50KCdyb3dkYmxjbGljaycsIHRoaXMuY29udGV4dCwgaW5kZXgsIG1vKTtcclxuICAgIH1cclxuICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICBwcm90ZWN0ZWQgX2RldmljZVNpemVDaGFuZ2VkKF86IHN0cmluZyk6IHZvaWQge31cclxuICAgIHByb3RlY3RlZCBfd2luZG93UmVzaXplZCgpOiB2b2lkIHt9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9vcGVuTW8obW8sIGkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yYWlzZVJvd0NsaWNrKGksIG1vKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdXBkYXRlR3JpZFNldHRpbmcoc2V0dGluZywgaXNTb3J0ID0gZmFsc2UsIHJhaXNlRXZlbnQgPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFzZXR0aW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LlNldHRpbmcuVmlldy5HcmlkU2V0dGluZyA9IHNldHRpbmc7XHJcbiAgICAgICAgdGhpcy5ncmlkU2V0dGluZ1NvdXJjZS5uZXh0KHNldHRpbmcpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlHcm91cGJ5KCk7XHJcbiAgICAgICAgaWYgKGlzU29ydCkge1xyXG4gICAgICAgICAgICBzZXR0aW5nLkV2ZW50ID0gJ1NvcnRDaGFuZ2UnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNldHRpbmcuRXZlbnQgPSAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fc2V0VmlzaWJsZUNvbHVtbnMoKTtcclxuICAgICAgICB0aGlzLl9kZXZpY2VTaXplQ2hhbmdlZCh0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUpO1xyXG4gICAgICAgIGlmIChyYWlzZUV2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JhaXNlRXZlbnRVc2VyU2V0dGluZ0NoYW5nZWQoc2V0dGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVNvcnRTZXR0aW5ncyhzb3J0U2V0dGluZ3MsIHJhaXNlRXZlbnQgPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZ3JpZFNldHRpbmdzID0gdGhpcy5jb250ZXh0LlNldHRpbmcuVmlldy5HcmlkU2V0dGluZztcclxuICAgICAgICBncmlkU2V0dGluZ3MuU29ydFNldHRpbmdMaXN0ID0gc29ydFNldHRpbmdzO1xyXG4gICAgICAgIHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UubmV4dChncmlkU2V0dGluZ3MpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlHcm91cGJ5KCk7XHJcbiAgICAgICAgZ3JpZFNldHRpbmdzLkV2ZW50ID0gJ1NvcnRDaGFuZ2UnO1xyXG4gICAgICAgIGlmIChyYWlzZUV2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JhaXNlRXZlbnRVc2VyU2V0dGluZ0NoYW5nZWQoZ3JpZFNldHRpbmdzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3JhaXNlRXZlbnRVc2VyU2V0dGluZ0NoYW5nZWQoZ3JpZFNldHRpbmc6IEdyaWRTZXR0aW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnVXNlclNldHRpbmdDaGFuZ2UnLCB0aGlzLmNvbnRleHQsIGdyaWRTZXR0aW5nKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfdWx2Q29tbWFuZENsaWNrZWQobW8sIGluZGV4KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQ2hlY2tlZEFsbCgpO1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdChtbywgaW5kZXgpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9jaGVja2VkQWxsKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3Q7XHJcbiAgICAgICAgbW9EYXRhTGlzdC5mb3JFYWNoKChtbykgPT4gKG1vLiRJc0NoZWNrZWQgPSB0cnVlKSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93U2VsZWN0QWxsJywgdGhpcy5jb250ZXh0KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmVtb3ZlQ2hlY2tlZEFsbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kZXNlbGN0QWxsKCk7XHJcbiAgICAgICAgLy8gdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93RGVzZWxlY3RBbGwnLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfZGVzZWxjdEFsbCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBtb0RhdGFMaXN0ID0gdGhpcy5tb0RhdGFMaXN0O1xyXG4gICAgICAgIG1vRGF0YUxpc3QuZm9yRWFjaCgobW8pID0+IChtby4kSXNDaGVja2VkID0gZmFsc2UpKTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfZGVzZWxlY3QobW8sIGluZGV4KTogTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICAgICAgbW8uJElzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd2Rlc2VsZWN0JywgdGhpcy5jb250ZXh0LCBpbmRleCwgbW8pO1xyXG4gICAgICAgIHJldHVybiBtbztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3NlbGVjdChtbywgaW5kZXgpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgICAgICAvLyAgICB0aGlzLl9kZXNlbGN0QWxsKCk7XHJcbiAgICAgICAgbW8uJElzQ2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgncm93c2VsZWN0JywgdGhpcy5jb250ZXh0LCBpbmRleCwgbW8pO1xyXG4gICAgICAgIHJldHVybiBtbztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2RvQ2hlY2tlZEFsbChjaGVja2VkKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoZWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tlZEFsbCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZUNoZWNrZWRBbGwoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9nZXRTZWxlY3RlZCgpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRNbyA9IHRoaXMubW9EYXRhTGlzdC5maW5kKChtbykgPT4gbW8uJElzQ2hlY2tlZCk7XHJcbiAgICAgICAgaWYgKCFzZWxlY3RlZE1vKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxlY3RlZE1vLmpzb24gPSBzZWxlY3RlZE1vO1xyXG4gICAgICAgIHJldHVybiBzZWxlY3RlZE1vO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIHJlZnJlc2hDb250ZXh0TW9EYXRhTGlzdChtb0RhdGFMaXN0KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnUmVmcmVzaENvbnRleHRNb0RhdGFMaXN0JywgbW9EYXRhTGlzdCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFJTix1QkFBdUIsRUFDMUIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3RGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUEyQnZDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBeURsRCxZQUFzQixjQUE2QixFQUFZLGVBQStCO1FBQzFGLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFsRHBGLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RCx1QkFBa0IsR0FBRztZQUNqQixjQUFjLEVBQUUsRUFBRTtZQUNsQixlQUFlLEVBQUUsS0FBSztZQUN0QixlQUFlLEVBQUUsRUFBRTtZQUNuQixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFLRixpQkFBWSxHQUF5RSxJQUFJLENBQUM7UUErQmhGLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUNwRSxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNuRCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBYyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM5RSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN6RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUk1RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUM7UUFDMUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQztRQUMxRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDO1FBQzlELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7UUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1FBQ2xELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUM7UUFDMUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUNuRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQztRQUN4RSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1FBRTFELElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1osS0FBSyxFQUFFLElBQUk7WUFDWCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7U0FDL0MsQ0FBQyxDQUFDO1FBQ0gsZ0RBQWdEO1FBQ2hELHNDQUFzQztRQUN0Qyx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5RCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzlCLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsV0FBVyxDQUFDLGVBQWUsS0FBSyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQzlDLElBQUksQ0FBQyxPQUFPLEVBQ1osd0NBQXdDLEVBQ3hDLElBQUksQ0FDUCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSx5Q0FBeUMsQ0FBQyxDQUFDO1FBRTlHLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsd0NBQXdDLENBQUMsQ0FBQztRQUMzRyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSwwQkFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4RyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxXQUFXO2FBQ1gsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzNCLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzNEO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxtQkFBbUI7UUFDZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxHQUFHLENBQUM7WUFDSixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLFNBQVM7WUFDakIsT0FBTyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFDLENBQUM7UUFDSixNQUFNLFlBQVksR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDUyxjQUFjLENBQUMsQ0FBb0I7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQ2xCLGVBQWUsRUFDZixJQUFJLENBQUMsT0FBTyxFQUNaLENBQUMsQ0FBQyxLQUFLLEVBQ1AsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLENBQUMsVUFBVSxFQUNaLENBQUMsQ0FBQyxTQUFTLEVBQ1gsQ0FBQyxDQUFDLFNBQVMsQ0FDZCxDQUFDO0lBQ04sQ0FBQztJQUNTLG1CQUFtQixDQUFDLE9BQU87UUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ1Msa0JBQWtCLENBQUMsVUFBVTtRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ1MsY0FBYyxDQUFDLEtBQTRCO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFUyxxQkFBcUIsQ0FBQyxDQUEwQjtRQUN0RCxNQUFNLFdBQVcsR0FBZ0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25FLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sT0FBTyxHQUFpQixXQUFXLENBQUMsY0FBYyxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN4QixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ1gsT0FBTztZQUNYLENBQUM7WUFDRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuRSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU0sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNqQyxDQUFDO2lCQUFNLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDckcsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDUyxrQkFBa0I7UUFDeEIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ1MsWUFBWTtRQUNsQixNQUFNLFFBQVEsR0FBa0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUM1RCxJQUFJLENBQUMsT0FBTyxFQUNaLDBDQUEwQyxFQUMxQyxFQUFFLENBQ0wsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDUyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDOUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxvQkFBb0I7SUFDVixrQkFBa0IsQ0FBQyxDQUFTLElBQVMsQ0FBQztJQUN0QyxjQUFjLEtBQVUsQ0FBQztJQUV6QixPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVTLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLFVBQVUsR0FBRyxJQUFJO1FBQ2xFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE9BQU8sQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7SUFDUyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxHQUFHLElBQUk7UUFDeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMzRCxZQUFZLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixZQUFZLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDTCxDQUFDO0lBQ1MsNkJBQTZCLENBQUMsV0FBd0I7UUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQ1Msa0JBQWtCLENBQUMsRUFBRSxFQUFFLEtBQUs7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNTLFdBQVc7UUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNTLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsMERBQTBEO0lBQzlELENBQUM7SUFFUyxXQUFXO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ1MsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLO1FBQ3pCLEVBQUUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVTLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSztRQUN2Qix5QkFBeUI7UUFDekIsRUFBRSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRVMsYUFBYSxDQUFDLE9BQU87UUFDM0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRVMsWUFBWTtRQUNsQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNkLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxVQUFVLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUM3QixPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBQ1Msd0JBQXdCLENBQUMsVUFBVTtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDOytHQXBUUSxtQkFBbUI7bUdBQW5CLG1CQUFtQixvTkFKbEIsRUFBRTs7NEZBSUgsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsS0FBSztpQkFDcEI7K0dBRVksT0FBTztzQkFBZixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIElucHV0LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHBsdWNrLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2V0QWxsQ29sdW1uc1NvcnRlZCwgZ2V0UmVzZXRHcmlkU2V0dGluZ3MsIGdldFVuaXF1ZUlkIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BvcnRhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWx2TWFpblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91bHZtYWluLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcclxuaW1wb3J0IHtcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXHJcbiAgICBHcmlkU2V0dGluZyxcclxuICAgIENvbFNldHRpbmcsXHJcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxyXG4gICAgU29ydFNldHRpbmcsXHJcbiAgICBNZW51SXRlbSxcclxuICAgIFBhZ2luZ1NldHRpbmcsXHJcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXHJcbiAgICBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyxcclxuICAgIEZvcm1TZXR0aW5nLFxyXG4gICAgQ29sdW1uU3VtbWFyeVR5cGUsXHJcbiAgICBDc3NCYWNrZ3JvdW5kXHJcbn0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXBvcnRTZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBFeHRyYTogYW55O1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLXJlcG9ydC1iYXNlJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgY29udGV4dDoge1xyXG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgICAgICBTZXR0aW5nOiBSZXBvcnRTZXR0aW5nO1xyXG4gICAgfTtcclxuICAgIEBJbnB1dCgpIGN1cnJlbnRQYWdlOiBudW1iZXI7XHJcblxyXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIEBPdXRwdXQoKSBwYWdlU2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIGRlZmF1bHRHcmlkU2V0dGluZyA9IHtcclxuICAgICAgICBDb2xTZXR0aW5nTGlzdDogW10sXHJcbiAgICAgICAgQXV0b1NpemVDb2x1bW5zOiBmYWxzZSxcclxuICAgICAgICBTb3J0U2V0dGluZ0xpc3Q6IFtdLFxyXG4gICAgICAgIEhpZGRlbjogdHJ1ZVxyXG4gICAgfTtcclxuICAgIGl0ZW1TZWxlY3Rvcjogc3RyaW5nO1xyXG4gICAgYWxsQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xyXG4gICAgaWQ6IHN0cmluZztcclxuXHJcbiAgICBzb3J0U2V0dGluZ3M6IHsgSXNHcm91cGVkOiBib29sZWFuOyBOYW1lOiBzdHJpbmc7IFNvcnREaXJlY3Rpb246IHN0cmluZyB9W10gfCBudWxsID0gbnVsbDtcclxuICAgIHBhcmFtZXRlcnM6IGFueTtcclxuICAgIGZpZWxkczogYW55O1xyXG5cclxuICAgIGNzc0JhY2tncm91bmQkOiBPYnNlcnZhYmxlPENzc0JhY2tncm91bmQgfCBudWxsPjtcclxuICAgIHZpc2libGVDb2x1bW5zJDogT2JzZXJ2YWJsZTxSZXBvcnRWaWV3Q29sdW1uW10+O1xyXG4gICAgc2VhcmNoVGVybSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIG1vRGF0YUxpc3QkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XHJcbiAgICBncmlkU2V0dGluZyQ6IE9ic2VydmFibGU8R3JpZFNldHRpbmc+O1xyXG4gICAgZ3JvdXBieSQ6IE9ic2VydmFibGU8U29ydFNldHRpbmdbXT47XHJcbiAgICBhbGxDaGVja2VkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHBhZ2luZ1NldHRpbmckOiBPYnNlcnZhYmxlPFBhZ2luZ1NldHRpbmcgfCBudWxsPjtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XHJcbiAgICBtYXNrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgaW5EaWFsb2ckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaXNNdWx0aVNlbGVjdCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBmdWxsc2NyZWVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIG1lbnVJdGVtcyQ6IE9ic2VydmFibGU8TWVudUl0ZW1bXT47XHJcbiAgICB0b29sYmFyQnV0dG9ucyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG4gICAgdG9vbGJhckVuYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlVG9vbGJhciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBoaWRlU2VhcmNocGFuZWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgc2VsZWN0ZWRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IHVuZGVmaW5lZD47XHJcbiAgICBjb25kaXRpb25hbEZvcm1hdHMkOiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICAgIG5ld0lubGluZUVkaXRNbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw+O1xyXG4gICAgY2FydGFibGVUZW1wbGF0ZXMkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfSB8IG51bGw+O1xyXG4gICAgY2FydGFibGVDaGlsZHNNbyQ6IE9ic2VydmFibGU8eyBba2V5OiBzdHJpbmddOiBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gfCBudWxsPjtcclxuICAgIHNlbGVjdGVkQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBncmlkRnJlZUNvbHVtblNpemluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gICAgcHJvdGVjdGVkIF92aXNpYmxlQ29sdW1uc1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVwb3J0Vmlld0NvbHVtbltdPihbXSk7XHJcbiAgICBwcm90ZWN0ZWQgc2VhcmNoVGVybVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XHJcbiAgICBwcm90ZWN0ZWQgZ3JpZFNldHRpbmdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdyaWRTZXR0aW5nPih0aGlzLmRlZmF1bHRHcmlkU2V0dGluZyk7XHJcbiAgICBwcm90ZWN0ZWQgZ3JvdXBieVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U29ydFNldHRpbmdbXT4oW10pO1xyXG4gICAgcHJpdmF0ZSBfYWxsQ2hlY2tlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSwgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNvbHVtbnMkID0gdGhpcy5fdmlzaWJsZUNvbHVtbnNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJCA9IHRoaXMuc2VhcmNoVGVybVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nJCA9IHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5ncm91cGJ5JCA9IHRoaXMuZ3JvdXBieVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmFsbENoZWNrZWQkID0gdGhpcy5fYWxsQ2hlY2tlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB0aGlzLmZpZWxkcyA9IHt9O1xyXG4gICAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UudG9vbGJhckJ1dHRvbnMkO1xyXG4gICAgfVxyXG4gICAgZ2V0IG1vRGF0YUxpc3QoKTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdFNvdXJjZS5nZXRWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnJlbmRlcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmluRGlhbG9nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmluRGlhbG9nJDtcclxuICAgICAgICB0aGlzLmNzc0JhY2tncm91bmQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY3NzQmFja2dyb3VuZCQ7XHJcbiAgICAgICAgdGhpcy5pc011bHRpU2VsZWN0JCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmlzTXVsdGlTZWxlY3QkO1xyXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiQgPSB0aGlzLl91bHZNYWluU2VydmljZS5mdWxsc2NyZWVuJDtcclxuICAgICAgICB0aGlzLmhpZGVTZWFyY2hwYW5lbCQgPSB0aGlzLl91bHZNYWluU2VydmljZS5oaWRlU2VhcmNocGFuZWwkO1xyXG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xyXG4gICAgICAgIHRoaXMuaGlkZVRvb2xiYXIkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuaGlkZVRvb2xiYXIkO1xyXG4gICAgICAgIHRoaXMubmV3SW5saW5lRWRpdE1vJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm5ld0lubGluZUVkaXRNbyQ7XHJcbiAgICAgICAgdGhpcy5jb25kaXRpb25hbEZvcm1hdHMkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY29uZGl0aW9uYWxGb3JtYXRzJDtcclxuICAgICAgICB0aGlzLmNhcnRhYmxlVGVtcGxhdGVzJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNhcnRhYmxlVGVtcGxhdGVzJDtcclxuICAgICAgICB0aGlzLmNhcnRhYmxlQ2hpbGRzTW8kID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuY2FydGFibGVDaGlsZHNNbyQ7XHJcbiAgICAgICAgdGhpcy50aXRsZSQgPSB0aGlzLl91bHZNYWluU2VydmljZS50aXRsZSQucGlwZShwbHVjaygndGV4dCcpKTtcclxuICAgICAgICB0aGlzLm1lbnVJdGVtcyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5tZW51SXRlbXMkO1xyXG4gICAgICAgIHRoaXMucGFnaW5nU2V0dGluZyQgPSB0aGlzLl91bHZNYWluU2VydmljZS5wYWdpbmdTZXR0aW5nJDtcclxuICAgICAgICB0aGlzLnRvb2xiYXJFbmFibGUkID0gdGhpcy5fdWx2TWFpblNlcnZpY2UuZW5hYmxlJDtcclxuICAgICAgICB0aGlzLmdyaWRGcmVlQ29sdW1uU2l6aW5nJCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmdyaWRGcmVlQ29sdW1uU2l6aW5nJDtcclxuICAgICAgICB0aGlzLm1hc2skID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uudml3ZXJNYXNrJC5waXBlKGRlYm91bmNlVGltZSgyMDApKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW8kID0gdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdCQucGlwZShtYXAoKGl0ZW1zKSA9PiBpdGVtcy5maW5kKChjKSA9PiBjLiRJc0NoZWNrZWQpKSk7XHJcbiAgICAgICAgdGhpcy5tb0RhdGFMaXN0JCA9IHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1vRGF0YUxpc3QkLnBpcGUodGFwKChpdGVtcykgPT4gdGhpcy5fc2V0QWxsQ2hlY2tlZChpdGVtcykpKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnQkID0gdGhpcy5fdWx2TWFpblNlcnZpY2Uuc2VsZWN0ZWRDb3VudCQ7XHJcblxyXG4gICAgICAgIHRoaXMuY29udGV4dC5vbih7XHJcbiAgICAgICAgICAgIHNjb3BlOiB0aGlzLFxyXG4gICAgICAgICAgICBNb0RhdGFMaXN0Q2hhbmdlZDogdGhpcy5fbW9EYXRhTGlzdENoYW5nZWQsXHJcbiAgICAgICAgICAgIEdyaWRTZXR0aW5nQ2hhbmdlZDogdGhpcy5fZ3JpZFNldHRpbmdDaGFuZ2VkXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gaW4gZ2hlaXJlIGZhYWwgYm9vZCBjaG9uIG1vc2hrZWwgZWlqYWQgbWlrYXJkXHJcbiAgICAgICAgLy8gdmEgZGFyIHVsdiBldmVudCBiYWlhZCByYWlzZSBzaGF2YWRcclxuICAgICAgICAvLyBrZSBkYXRhIGFtYWRlIHNob2RlIHZhIHVsdm1haW5zZXJ2aWNlIGFuIHJhIGJlZ2lyYWQuZ296YXJlc2ggbW9ydGFiZXRcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QodGhpcy5jb250ZXh0Lm1vRGF0YUxpc3QpO1xyXG5cclxuICAgICAgICBsZXQgZ3JpZFNldHRpbmcgPSB0aGlzLmRlZmF1bHRHcmlkU2V0dGluZztcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0LkdldEdyaWRTZXR0aW5nKSB7XHJcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nID0gdGhpcy5jb250ZXh0LkdldEdyaWRTZXR0aW5nKCkgfHwgdGhpcy5kZWZhdWx0R3JpZFNldHRpbmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zZXRWaXNpYmxlQ29sdW1ucygpO1xyXG5cclxuICAgICAgICBncmlkU2V0dGluZy5Tb3J0U2V0dGluZ0xpc3QgfHw9IFtdO1xyXG4gICAgICAgIHRoaXMuYWxsQ29sdW1ucyA9IHRoaXMuY29udGV4dC5hbGxDb2x1bW5zIHx8IFtdO1xyXG4gICAgICAgIHRoaXMudXBkYXRlR3JpZFNldHRpbmcoZ3JpZFNldHRpbmcsIGZhbHNlLCBmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaS5QYXJhbWV0ZXJzJyxcclxuICAgICAgICAgICAgbnVsbFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5pZCA9IGdldFVuaXF1ZUlkKDQpO1xyXG5cclxuICAgICAgICB0aGlzLml0ZW1TZWxlY3RvciA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ2xhc3NOYW1lcy5DdXN0b21VaVJvdy5TZWxlY3RvcicpO1xyXG5cclxuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycycpO1xyXG4gICAgICAgIGNvbnN0IGZpZWxkU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLnBhcmFtZXRlcnMsICdGaWVsZFNldHRpbmdzLk1vRGF0YUxpc3QnLCBbXSk7XHJcblxyXG4gICAgICAgIGZpZWxkU2V0dGluZ3MuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZpZWxkc1tjLkNvbXBvbmVudFBhcmFtZXRlci4kQ2FwdGlvbl0gPSBjLiRDYXB0aW9uO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLmNvbnRleHQuUmVmcmVzaEFsbENtZFVpKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG5cclxuICAgICAgICB0aGlzLmRldmljZVNpemUkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgdGFwKChkZXZpY2VTaXplKSA9PiB0aGlzLl9kZXZpY2VTaXplQ2hhbmdlZChkZXZpY2VTaXplKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fd2luZG93UmVzaXplZCgpKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQ/LmZpcmVFdmVudCgnYWZ0ZXJyZW5kZXInLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdNb0RhdGFMaXN0Q2hhbmdlZCcsIHRoaXMuX21vRGF0YUxpc3RDaGFuZ2VkKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0dyaWRTZXR0aW5nQ2hhbmdlZCcsIHRoaXMuX2dyaWRTZXR0aW5nQ2hhbmdlZCk7XHJcbiAgICB9XHJcbiAgICBvblJlc2V0R3JpZFNldHRpbmdzKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFsbENvbHVtbnMgPSB0aGlzLmFsbENvbHVtbnMubWFwKChjKSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5jLFxyXG4gICAgICAgICAgICBIaWRkZW46IGZhbHNlLFxyXG4gICAgICAgICAgICBXaWR0aDogMCxcclxuICAgICAgICAgICAgJFdpZHRoOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICRXaWR0aDI6IHVuZGVmaW5lZFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICBjb25zdCBncmlkU2V0dGluZ3MgPSBnZXRSZXNldEdyaWRTZXR0aW5ncyhhbGxDb2x1bW5zLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlR3JpZFNldHRpbmcoZ3JpZFNldHRpbmdzLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NvbHVtblN1bW1hcnkoZTogQ29sdW1uU3VtbWFyeVR5cGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KFxyXG4gICAgICAgICAgICAnY29sdW1uU3VtbWFyeScsXHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dCxcclxuICAgICAgICAgICAgZS5tb0FycixcclxuICAgICAgICAgICAgZS5jb2x1bW4sXHJcbiAgICAgICAgICAgIGUuZ3JvdXBMZXZlbCxcclxuICAgICAgICAgICAgZS5ncm91cE5hbWUsXHJcbiAgICAgICAgICAgIGUuc3VtbWFyeUZuXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfZ3JpZFNldHRpbmdDaGFuZ2VkKHNldHRpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nU291cmNlLm5leHQoc2V0dGluZyk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX21vRGF0YUxpc3RDaGFuZ2VkKG1vRGF0YUxpc3QpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QobW9EYXRhTGlzdCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldEFsbENoZWNrZWQoaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2FsbENoZWNrZWRTb3VyY2UubmV4dChpdGVtcy5sZW5ndGggPiAwICYmICFpdGVtcy5zb21lKChjKSA9PiAhYy4kSXNDaGVja2VkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVDb2x1bW5zUmVzaXplZChlOiBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZyA9IHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UuZ2V0VmFsdWUoKTtcclxuICAgICAgICBjb25zdCB7IGNvbHVtbnMsIHJlc2l6ZWQgfSA9IGU7XHJcbiAgICAgICAgY29uc3QgY29sTGlzdDogQ29sU2V0dGluZ1tdID0gZ3JpZFNldHRpbmcuQ29sU2V0dGluZ0xpc3Q7XHJcbiAgICAgICAgcmVzaXplZC5mb3JFYWNoKChjb2x1bW4xKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc2l6ZWRDb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGMpID0+IGMuTmFtZSA9PT0gY29sdW1uMS5uYW1lKTtcclxuICAgICAgICAgICAgaWYgKCFjb2xMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgY29sdW1uID0gY29sTGlzdC5maW5kKChjKSA9PiBjLk5hbWUgPT09IHJlc2l6ZWRDb2x1bW4/Lk5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoY29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uV2lkdGggPSBjb2x1bW4xLndpZHRoO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc2l6ZWRDb2x1bW4pIHtcclxuICAgICAgICAgICAgICAgIGNvbExpc3QucHVzaCh7IElzSGlkZGVuOiByZXNpemVkQ29sdW1uLkhpZGRlbiwgTmFtZTogcmVzaXplZENvbHVtbi5OYW1lLCBXaWR0aDogY29sdW1uMS53aWR0aCB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3JhaXNlRXZlbnRVc2VyU2V0dGluZ0NoYW5nZWQoZ3JpZFNldHRpbmcpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRWaXNpYmxlQ29sdW1ucygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb2x1bW5zID0gR2V0QWxsQ29sdW1uc1NvcnRlZCh0aGlzLmNvbnRleHQpO1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5zU291cmNlLm5leHQoY29sdW1ucy5maWx0ZXIoKGMpID0+ICFjLkhpZGRlbikpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIGFwcGx5R3JvdXBieSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzb3J0TGlzdDogU29ydFNldHRpbmdbXSA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQsXHJcbiAgICAgICAgICAgICdTZXR0aW5nLlZpZXcuR3JpZFNldHRpbmcuU29ydFNldHRpbmdMaXN0JyxcclxuICAgICAgICAgICAgW11cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBieVNvdXJjZS5uZXh0KHNvcnRMaXN0LmZpbHRlcigoYykgPT4gYy5Jc0dyb3VwZWQpKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmFpc2VSb3dDbGljayhpbmRleCwgbW8pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQ/LmZpcmVFdmVudCgncm93ZGJsY2xpY2snLCB0aGlzLmNvbnRleHQsIGluZGV4LCBtbyk7XHJcbiAgICB9XHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgcHJvdGVjdGVkIF9kZXZpY2VTaXplQ2hhbmdlZChfOiBzdHJpbmcpOiB2b2lkIHt9XHJcbiAgICBwcm90ZWN0ZWQgX3dpbmRvd1Jlc2l6ZWQoKTogdm9pZCB7fVxyXG5cclxuICAgIHByb3RlY3RlZCBfb3Blbk1vKG1vLCBpKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmFpc2VSb3dDbGljayhpLCBtbyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUdyaWRTZXR0aW5nKHNldHRpbmcsIGlzU29ydCA9IGZhbHNlLCByYWlzZUV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghc2V0dGluZykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29udGV4dC5TZXR0aW5nLlZpZXcuR3JpZFNldHRpbmcgPSBzZXR0aW5nO1xyXG4gICAgICAgIHRoaXMuZ3JpZFNldHRpbmdTb3VyY2UubmV4dChzZXR0aW5nKTtcclxuICAgICAgICB0aGlzLmFwcGx5R3JvdXBieSgpO1xyXG4gICAgICAgIGlmIChpc1NvcnQpIHtcclxuICAgICAgICAgICAgc2V0dGluZy5FdmVudCA9ICdTb3J0Q2hhbmdlJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZXR0aW5nLkV2ZW50ID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NldFZpc2libGVDb2x1bW5zKCk7XHJcbiAgICAgICAgdGhpcy5fZGV2aWNlU2l6ZUNoYW5nZWQodGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplKTtcclxuICAgICAgICBpZiAocmFpc2VFdmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKHNldHRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCB1cGRhdGVTb3J0U2V0dGluZ3Moc29ydFNldHRpbmdzLCByYWlzZUV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGdyaWRTZXR0aW5ncyA9IHRoaXMuY29udGV4dC5TZXR0aW5nLlZpZXcuR3JpZFNldHRpbmc7XHJcbiAgICAgICAgZ3JpZFNldHRpbmdzLlNvcnRTZXR0aW5nTGlzdCA9IHNvcnRTZXR0aW5ncztcclxuICAgICAgICB0aGlzLmdyaWRTZXR0aW5nU291cmNlLm5leHQoZ3JpZFNldHRpbmdzKTtcclxuICAgICAgICB0aGlzLmFwcGx5R3JvdXBieSgpO1xyXG4gICAgICAgIGdyaWRTZXR0aW5ncy5FdmVudCA9ICdTb3J0Q2hhbmdlJztcclxuICAgICAgICBpZiAocmFpc2VFdmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKGdyaWRTZXR0aW5ncyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9yYWlzZUV2ZW50VXNlclNldHRpbmdDaGFuZ2VkKGdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1VzZXJTZXR0aW5nQ2hhbmdlJywgdGhpcy5jb250ZXh0LCBncmlkU2V0dGluZyk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3VsdkNvbW1hbmRDbGlja2VkKG1vLCBpbmRleCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlbW92ZUNoZWNrZWRBbGwoKTtcclxuICAgICAgICB0aGlzLl9zZWxlY3QobW8sIGluZGV4KTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfY2hlY2tlZEFsbCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBtb0RhdGFMaXN0ID0gdGhpcy5tb0RhdGFMaXN0O1xyXG4gICAgICAgIG1vRGF0YUxpc3QuZm9yRWFjaCgobW8pID0+IChtby4kSXNDaGVja2VkID0gdHJ1ZSkpO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd1NlbGVjdEFsbCcsIHRoaXMuY29udGV4dCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3JlbW92ZUNoZWNrZWRBbGwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGVzZWxjdEFsbCgpO1xyXG4gICAgICAgIC8vIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd0Rlc2VsZWN0QWxsJywgdGhpcy5jb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2Rlc2VsY3RBbGwoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbW9EYXRhTGlzdCA9IHRoaXMubW9EYXRhTGlzdDtcclxuICAgICAgICBtb0RhdGFMaXN0LmZvckVhY2goKG1vKSA9PiAobW8uJElzQ2hlY2tlZCA9IGZhbHNlKSk7XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2Rlc2VsZWN0KG1vLCBpbmRleCk6IE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgICAgIG1vLiRJc0NoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QoKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdyb3dkZXNlbGVjdCcsIHRoaXMuY29udGV4dCwgaW5kZXgsIG1vKTtcclxuICAgICAgICByZXR1cm4gbW87XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9zZWxlY3QobW8sIGluZGV4KTogTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICAgICAgLy8gICAgdGhpcy5fZGVzZWxjdEFsbCgpO1xyXG4gICAgICAgIG1vLiRJc0NoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLnJlU2V0TW9EYXRhTGlzdCgpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ3Jvd3NlbGVjdCcsIHRoaXMuY29udGV4dCwgaW5kZXgsIG1vKTtcclxuICAgICAgICByZXR1cm4gbW87XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9kb0NoZWNrZWRBbGwoY2hlY2tlZCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrZWRBbGwoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVDaGVja2VkQWxsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfZ2V0U2VsZWN0ZWQoKTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTW8gPSB0aGlzLm1vRGF0YUxpc3QuZmluZCgobW8pID0+IG1vLiRJc0NoZWNrZWQpO1xyXG4gICAgICAgIGlmICghc2VsZWN0ZWRNbykge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZWN0ZWRNby5qc29uID0gc2VsZWN0ZWRNbztcclxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRNbztcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCByZWZyZXNoQ29udGV4dE1vRGF0YUxpc3QobW9EYXRhTGlzdCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1JlZnJlc2hDb250ZXh0TW9EYXRhTGlzdCcsIG1vRGF0YUxpc3QpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, SkipSelf } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output, SkipSelf, HostBinding } from '@angular/core';
|
|
2
2
|
import { BaseComponent } from './base.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
@@ -21,6 +21,7 @@ export class ReportViewBaseComponent extends BaseComponent {
|
|
|
21
21
|
this._portalService = _portalService;
|
|
22
22
|
this._uploadService = _uploadService;
|
|
23
23
|
this._groupByService = _groupByService;
|
|
24
|
+
this._reportView = true;
|
|
24
25
|
this.rowActivable = true;
|
|
25
26
|
this.columnSummary = new EventEmitter();
|
|
26
27
|
this.escapeKey = new EventEmitter();
|
|
@@ -200,6 +201,10 @@ export class ReportViewBaseComponent extends BaseComponent {
|
|
|
200
201
|
onFilter(column) {
|
|
201
202
|
this.filter.emit(column);
|
|
202
203
|
}
|
|
204
|
+
onAction(commandBody) {
|
|
205
|
+
const command = new Function(commandBody);
|
|
206
|
+
command();
|
|
207
|
+
}
|
|
203
208
|
onDynamicComponentEvents(e, mo, index) {
|
|
204
209
|
switch (e.title) {
|
|
205
210
|
case 'rowCheck':
|
|
@@ -234,7 +239,7 @@ export class ReportViewBaseComponent extends BaseComponent {
|
|
|
234
239
|
this.rowIndicator = Number(columns[0].MetaFieldTypeId) === 41;
|
|
235
240
|
}
|
|
236
241
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportViewBaseComponent, deps: [{ token: i1.TitleCasePipe }, { token: i2.BbbTranslatePipe }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i2.FindColumnByDbNamePipe }, { token: i3.UlvMainService }, { token: i3.PortalService }, { token: i3.UploadService, optional: true }, { token: i3.GroupByService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
237
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", simpleInlineEdit: "simpleInlineEdit", inlineEditWithoutSelection: "inlineEditWithoutSelection", hideToolbar: "hideToolbar", hideTitle: "hideTitle", toolbarButtons: "toolbarButtons", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", hideIcon: "hideIcon", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", groupSummary: "groupSummary", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", hasInlineDeleteButton: "hasInlineDeleteButton", hasInlineEditButton: "hasInlineEditButton", contextSetting: "contextSetting", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", pagingSetting: "pagingSetting", containerWidth: "containerWidth" }, outputs: { columnSummary: "columnSummary", escapeKey: "escapeKey", resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", resetGridSettings: "resetGridSettings", sortSettingsChange: "sortSettingsChange", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
242
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", simpleInlineEdit: "simpleInlineEdit", inlineEditWithoutSelection: "inlineEditWithoutSelection", hideToolbar: "hideToolbar", hideTitle: "hideTitle", toolbarButtons: "toolbarButtons", allChecked: "allChecked", moDataList: "moDataList", UlvMainCtrlr: "UlvMainCtrlr", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", hideIcon: "hideIcon", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", groupSummary: "groupSummary", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", hasInlineDeleteButton: "hasInlineDeleteButton", hasInlineEditButton: "hasInlineEditButton", contextSetting: "contextSetting", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", pagingSetting: "pagingSetting", containerWidth: "containerWidth" }, outputs: { columnSummary: "columnSummary", escapeKey: "escapeKey", resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", resetGridSettings: "resetGridSettings", sortSettingsChange: "sortSettingsChange", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, host: { properties: { "class.report-view": "this._reportView" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
238
243
|
}
|
|
239
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportViewBaseComponent, decorators: [{
|
|
240
245
|
type: Component,
|
|
@@ -250,7 +255,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
250
255
|
type: SkipSelf
|
|
251
256
|
}, {
|
|
252
257
|
type: Optional
|
|
253
|
-
}] }], propDecorators: {
|
|
258
|
+
}] }], propDecorators: { _reportView: [{
|
|
259
|
+
type: HostBinding,
|
|
260
|
+
args: ['class.report-view']
|
|
261
|
+
}], contextView: [{
|
|
254
262
|
type: Input
|
|
255
263
|
}], viewSetting: [{
|
|
256
264
|
type: Input
|
|
@@ -439,4 +447,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
439
447
|
}], containerWidth: [{
|
|
440
448
|
type: Input
|
|
441
449
|
}] } });
|
|
442
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUlOLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBNkJqRCxNQUFNLE9BQU8sdUJBQTJELFNBQVEsYUFBYTtJQThGekYsSUFBYSxjQUFjLENBQUMsR0FBVztRQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztRQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQWNELFlBQ2MsVUFBeUIsRUFDekIsYUFBK0IsRUFDL0IsR0FBZSxFQUNmLElBQXVCLEVBQ3ZCLFVBQXFCLEVBQ3JCLG1CQUEyQyxFQUMzQyxlQUErQixFQUMvQixjQUE2QixFQUNqQixjQUE4QixFQUNsQixlQUFnQztRQUVsRSxLQUFLLEVBQUUsQ0FBQztRQVhFLGVBQVUsR0FBVixVQUFVLENBQWU7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNs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QkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDTSxjQUFjO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPcHRpb25hbCxcclxuICAgIE91dHB1dCxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFNraXBTZWxmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYmJUcmFuc2xhdGVQaXBlLCBGaW5kQ29sdW1uQnlEYk5hbWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xyXG5pbXBvcnQgeyBHcm91cEJ5U2VydmljZSwgUG9ydGFsU2VydmljZSwgVWx2TWFpblNlcnZpY2UsIFVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXHJcbiAgICBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyxcclxuICAgIERlZmF1bHRDb21tYW5kc0FjY2VzcyxcclxuICAgIERldmljZVNpemUsXHJcbiAgICBGb3JtU2V0dGluZyxcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXHJcbiAgICBSZWxhdGlvbkl0ZW1UeXBlLFxyXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcclxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nLFxyXG4gICAgU2hhcmVCdXR0b25zQ2hvaWNlRGVmLFxyXG4gICAgVHlwZVVsdk1haW5DdHJscixcclxuICAgIFBhZ2luZ1NldHRpbmcsXHJcbiAgICBNZW51SXRlbSxcclxuICAgIENvbHVtblN1bW1hcnlUeXBlLFxyXG4gICAgRWpyYXlPbGdvLFxyXG4gICAgU29ydFNldHRpbmdcclxufSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JucmMtcmVwb3J0LXZpZXctYmFzZScsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxUIGV4dGVuZHMgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBjb250ZXh0VmlldzogYW55O1xyXG4gICAgQElucHV0KCkgdmlld1NldHRpbmc6IFQ7XHJcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBhbnk7XHJcbiAgICBASW5wdXQoKSBpc0NoZWNrTGlzdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNpbXBsZUlubGluZUVkaXQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0V2l0aG91dFNlbGVjdGlvbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGhpZGVUb29sYmFyOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGlkZVRpdGxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgdG9vbGJhckJ1dHRvbnM6IE1lbnVJdGVtW107XHJcbiAgICBASW5wdXQoKSBhbGxDaGVja2VkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbW9EYXRhTGlzdDogYW55O1xyXG4gICAgQElucHV0KCkgVWx2TWFpbkN0cmxyOiBUeXBlVWx2TWFpbkN0cmxyO1xyXG4gICAgQElucHV0KCkgYWNjZXNzOiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XHJcbiAgICBASW5wdXQoKSBncm91cGJ5OiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZENvdW50OiBhbnk7XHJcbiAgICBASW5wdXQoKSBjb25kaXRpb25hbEZvcm1hdHM6IGFueTtcclxuICAgIEBJbnB1dCgpIHBhcmVudEhlaWdodDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IGFueVtdO1xyXG4gICAgQElucHV0KCkgY29sdW1uczogYW55O1xyXG4gICAgQElucHV0KCkgYWxsb3dJbmxpbmVFZGl0OiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWNvbmRhcnlDb2x1bW5zOiBhbnk7XHJcbiAgICBASW5wdXQoKSBwb3BpbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkSW5mbzogTWV0YW9iamVjdERhdGFNb2RlbCB8IGFueTtcclxuICAgIEBJbnB1dCgpIGhhc1N1bW1hcnk6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBoYXNTZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGhpZGVJY29uOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29sdW1uc0NvdW50OiBhbnk7XHJcbiAgICBASW5wdXQoKSBoaWRlT3Blbkljb246IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBvcGVuT25DbGljazogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHR5cGVEZWZJZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgcmVwb3J0SWQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxpc3RFZGl0Vmlld0lkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB0eXBlVmlld0lkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBleHRyYVJlbGF0aW9uOiBhbnk7XHJcbiAgICBASW5wdXQoKSByZWxhdGlvbkxpc3Q6IEFycmF5PFJlbGF0aW9uSXRlbVR5cGU+O1xyXG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSByb3dJdGVtOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQElucHV0KCkgbW9iaWxlT3JUYWJsZXQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpbkRpYWxvZzogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBmdWxsc2NyZWVuOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGlkZVNlYXJjaHBhbmVsOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbmV3SW5saW5lRWRpdE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0TW9kZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG9ubHlJbmxpbmVFZGl0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcm93SG92ZXJhYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZ3JvdXBTdW1tYXJ5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgdGxiQnV0dG9uczogYW55W107XHJcbiAgICBASW5wdXQoKSBmb3JtU2V0dGluZzogRm9ybVNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHJvd0FjdGl2YWJsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XHJcbiAgICBASW5wdXQoKSBydGw7XHJcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xyXG4gICAgQElucHV0KCkgdGl0bGU7XHJcbiAgICBASW5wdXQoKSBoYXNJbmxpbmVEZWxldGVCdXR0b246IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBoYXNJbmxpbmVFZGl0QnV0dG9uOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29udGV4dFNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBncmlkRnJlZUNvbHVtblNpemluZzogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG5hdmlnYXRpb25BcnJvdzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgY2FydGFibGVUZW1wbGF0ZXM6IHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfTtcclxuICAgIEBJbnB1dCgpIGNhcnRhYmxlQ2hpbGRzTW86IHsgW2tleTogc3RyaW5nXTogTWV0YW9iamVjdERhdGFNb2RlbCB9O1xyXG4gICAgQElucHV0KCkgcGFnaW5nU2V0dGluZzogUGFnaW5nU2V0dGluZztcclxuICAgIEBPdXRwdXQoKSBjb2x1bW5TdW1tYXJ5ID0gbmV3IEV2ZW50RW1pdHRlcjxDb2x1bW5TdW1tYXJ5VHlwZT4oKTtcclxuICAgIEBPdXRwdXQoKSBlc2NhcGVLZXkgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgcmVzZXRXb3JrZmxvd1N0YXRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIGRlc2VsZWN0QWxsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbFNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0TmV4dElubGluZVJlY29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IGZpZWxkRGJOYW1lPzogc3RyaW5nIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgdWx2Q29tbWFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIHdvcmtmbG93U2hhcmVCdXR0b25zID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZUJ1dHRvbnNDaG9pY2VEZWY+KCk7XHJcbiAgICBAT3V0cHV0KCkgc29ydERlc2NlbmRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBleGVjdXRlVG9vbGJhckJ1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtSWQ6IHN0cmluZzsgb3B0aW9ucz86IGFueSB9PigpO1xyXG4gICAgQE91dHB1dCgpIHJlc2V0R3JpZFNldHRpbmdzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIHNvcnRTZXR0aW5nc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydFNldHRpbmdbXT4oKTtcclxuICAgIEBPdXRwdXQoKSByb3dDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXg7IGNhdXNlPzsgb25seUNoZWNrPzogYm9vbGVhbiB9PigpO1xyXG4gICAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleCB9PigpO1xyXG4gICAgQE91dHB1dCgpIGNhcnRhYmxlRm9ybUNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXggfT4oKTtcclxuICAgIEBPdXRwdXQoKSBjcmVhdGVOZXdNbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICAgIEBPdXRwdXQoKSB1cGRhdGVNbyA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBleHBhbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmFja0J5U2VsZWN0ZWRGbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpbmRleDsgcmVjb3JkIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgYWxsQ2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICBAT3V0cHV0KCkgbWFuZGF0b3J5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzPigpO1xyXG4gICAgQE91dHB1dCgpIGhhc0RldGFpbHNJblJvdyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBJbnB1dCgpIHNldCBjb250YWluZXJXaWR0aCh2YWw6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lcldpZHRoID0gdmFsO1xyXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lcldpZHRoQ2hhbmdlZCh2YWwpO1xyXG4gICAgfVxyXG4gICAgcmVzaXplZEJ5VXNlcjogYm9vbGVhbjtcclxuICAgIGVsV2lkdGg6IG51bWJlcjtcclxuICAgIGNhblZpZXcgPSBmYWxzZTtcclxuICAgIGZpdFdpZHRoOiBib29sZWFuO1xyXG4gICAgZmlyc3RTZWxlY3RlZE1ldGFvYmplY3Q6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBjb250ZXh0TWVudVdpZHRoID0gMDtcclxuICAgIGZpZWxkRGljdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuICAgIGFjdGlvbkxpc3Q6IGFueVtdO1xyXG4gICAgZGV0YWlsc0NvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXSA9IFtdO1xyXG4gICAgZGV0YWlsc0NvbXBvbmVudDogRWpyYXlPbGdvO1xyXG4gICAgcm93SW5kaWNhdG9yOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBfc2luZ2xlQ2xpY2tlZDogYm9vbGVhbjtcclxuICAgIHByb3RlY3RlZCBfY29udGFpbmVyV2lkdGggPSAwO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF90aXRsZUNhc2U6IFRpdGxlQ2FzZVBpcGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9iYmJUcmFuc2xhdGU6IEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZpbmRDb2x1bW5CeURiTmFtZTogRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3Vsdk1haW5TZXJ2aWNlOiBVbHZNYWluU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlPzogVXBsb2FkU2VydmljZSxcclxuICAgICAgICBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2dyb3VwQnlTZXJ2aWNlPzogR3JvdXBCeVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbiAgICBnZXQgc2hvd1ZpZXdCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuVmlldyAmJiAhdGhpcy5pbmxpbmVFZGl0TW9kZSAmJiAhdGhpcy5oaWRlT3Blbkljb247XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmFjY2Vzcy5WaWV3ICYmICF0aGlzLnNob3dPa0NhbmNlbEJ1dHRvbnMpIHtcclxuICAgICAgICAgICAgdGhpcy5jYW5WaWV3ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hY3Rpb25MaXN0ID0gdGhpcy5fY3JlYXRlQWN0aW9uQnV0dG9ucygpO1xyXG4gICAgICAgIHRoaXMuZWxXaWR0aCA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgdGhpcy5maXRXaWR0aCA9IHRoaXMudmlld1NldHRpbmc/LkZpdFdpZHRoID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnMpIHtcclxuICAgICAgICAgICAgY29uc3QgZmllbGREaWN0ID0ge307XHJcbiAgICAgICAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKChjKSA9PiAoZmllbGREaWN0W2MuQ2FwdGlvbl0gPSBjLk5hbWUpKTtcclxuICAgICAgICAgICAgdGhpcy5maWVsZERpY3QgPSBmaWVsZERpY3Q7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGRldGFpbHNTZXR0aW5nID0gdGhpcy52aWV3U2V0dGluZz8uRGV0YWlsc1NldHRpbmc7XHJcbiAgICAgICAgaWYgKGRldGFpbHNTZXR0aW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsc0NvbXBvbmVudCA9IGRldGFpbHNTZXR0aW5nLkNvbXBvbmVudDtcclxuICAgICAgICAgICAgZGV0YWlsc1NldHRpbmcuQ29sdW1ucy5zcGxpdCgnLCcpLmZvckVhY2goKGNvbHVtbk5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5fZmluZENvbHVtbkJ5RGJOYW1lLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIGNvbHVtbk5hbWUsIHRoaXMuc2Vjb25kYXJ5Q29sdW1ucyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxzQ29sdW1ucy5wdXNoKGNvbHVtbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9zZXRSb3dJbmRpY2F0b3IodGhpcy5jb2x1bW5zKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBvbkFjdGlvbkxpc3RDbGljayhtbzogTWV0YW9iamVjdERhdGFNb2RlbCwgaW5kZXg6IG51bWJlciwgaXRlbUlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXRlbUlkID09PSAnU2hvdycpIHtcclxuICAgICAgICAgICAgdGhpcy5vblJvd0NsaWNrKHsgbW8sIGluZGV4IH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTtcclxuICAgICAgICBjb25zdCBidG4gPSB0aGlzLnRvb2xiYXJCdXR0b25zLmZpbmQoKHRiKSA9PiB0Yj8uaXRlbUlkID09PSBpdGVtSWQpO1xyXG4gICAgICAgIGlmIChidG4pIHtcclxuICAgICAgICAgICAgKGJ0biBhcyBhbnkpLmhhbmRsZXIoYnRuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUFjdGlvbkJ1dHRvbnMoKTogYW55W10ge1xyXG4gICAgICAgIGNvbnN0IGJ1dHRvbnM6IGFueVtdID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzSW5saW5lRWRpdEJ1dHRvbikge1xyXG4gICAgICAgICAgICBidXR0b25zLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgZ2x5cGg6ICdlZGl0JyxcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogJ0VkaXQnLFxyXG4gICAgICAgICAgICAgICAgbmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcclxuICAgICAgICAgICAgICAgIGNsb3NlT25DbGljazogdHJ1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzSW5saW5lRGVsZXRlQnV0dG9uKSB7XHJcbiAgICAgICAgICAgIGJ1dHRvbnMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBnbHlwaDogJ2RlbGV0ZScsXHJcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogJ0RlbGV0ZScsXHJcbiAgICAgICAgICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcclxuICAgICAgICAgICAgICAgIGNsb3NlT25DbGljazogdHJ1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd1ZpZXdCdXR0b24pIHtcclxuICAgICAgICAgICAgYnV0dG9ucy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGdseXBoOiB0aGlzLm5hdmlnYXRpb25BcnJvdyxcclxuICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgICAgICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogJ1Nob3cnLFxyXG4gICAgICAgICAgICAgICAgY2xvc2VPbkNsaWNrOiB0cnVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYnV0dG9ucztcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBsZXQgZGV0ZWN0Q2hhbmdlcyA9IGZhbHNlO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGNoYW5nZXMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpc1trZXldID0gY2hhbmdlc1trZXldLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICAgICAgICAgIGRldGVjdENoYW5nZXMgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKGRldGVjdENoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25EZXNlbGVjdEFsbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlc2VsZWN0QWxsLmVtaXQoKTtcclxuICAgIH1cclxuICAgIG9uUm93Q2hlY2soZTogeyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgaW5kZXg6IG51bWJlcjsgb25seUNoZWNrPzogYm9vbGVhbiB9KTogdm9pZCB7XHJcbiAgICAgICAgLy8gdGhpcy5fc2luZ2xlQ2xpY2tlZCA9IHRydWU7XHJcbiAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgLy8gICBpZiAodGhpcy5fc2luZ2xlQ2xpY2tlZCkge1xyXG4gICAgICAgIC8vICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfSwgMzApO1xyXG4gICAgICAgIC8vIHRoaXMucm93Q2hlY2suZW1pdCh7IG1vLCBpbmRleCwgY2F1c2UgfSk7XHJcbiAgICAgICAgY29uc3QgeyBtbywgaW5kZXgsIG9ubHlDaGVjayB9ID0gZTtcclxuICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbywgaW5kZXgsIG9ubHlDaGVjayB9KTtcclxuICAgIH1cclxuICAgIG9uV29ya2Zsb3dTaGFyZUJ1dHRvbnMoZTogU2hhcmVCdXR0b25zQ2hvaWNlRGVmKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy53b3JrZmxvd1NoYXJlQnV0dG9ucy5lbWl0KGUpO1xyXG4gICAgfVxyXG4gICAgb25PbGdvRXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpc1tlLnRpdGxlXS5lbWl0KGUuZGF0YSk7XHJcbiAgICB9XHJcbiAgICBvblJvd0NsaWNrKHsgbW8sIGluZGV4IH0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zaW5nbGVDbGlja2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yb3dDbGljay5lbWl0KHsgbW8sIGluZGV4IH0pO1xyXG4gICAgfVxyXG4gICAgb25DYXJ0YWJsZUZvcm1DbG9zZWQoeyBtbywgaW5kZXggfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2FydGFibGVGb3JtQ2xvc2VkLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBvbkV4cGFuZENsaWNrKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRDbGljay5lbWl0KG1vKTtcclxuICAgIH1cclxuICAgIG9uQWxsQ2hlY2tib3goY2hlY2tlZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChjaGVja2VkKTtcclxuICAgIH1cclxuICAgIG9uQ2xlYXJDaGVja2JveCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFsbENoZWNrYm94LmVtaXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgb25TZWxlY3ROZXh0SW5saW5lUmVjb3JkKG1vKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3ROZXh0SW5saW5lUmVjb3JkLmVtaXQobW8pO1xyXG4gICAgfVxyXG4gICAgb25FZGl0Rm9ybVBhbmVsU2F2ZShtbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFNhdmUuZW1pdChtbyk7XHJcbiAgICB9XHJcbiAgICBvbkVkaXRGb3JtUGFuZWxDYW5jZWwobW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdChtbyk7XHJcbiAgICB9XHJcbiAgICBvbkVzY2FwZUtleShtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZXNjYXBlS2V5LmVtaXQobW8pO1xyXG4gICAgfVxyXG4gICAgb25FZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UoZTogeyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgZmllbGREYk5hbWU/OiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlLmVtaXQoZSk7XHJcbiAgICB9XHJcbiAgICBvblVsdkNvbW1hbmQoeyBtbywgaW5kZXggfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudWx2Q29tbWFuZENsaWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBvblNvcnRBc2NlbmRpbmcoY29sdW1uKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoY29sdW1uKTtcclxuICAgIH1cclxuICAgIG9uU29ydERlc2NlbmRpbmcoY29sdW1uKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0RGVzY2VuZGluZy5lbWl0KGNvbHVtbik7XHJcbiAgICB9XHJcbiAgICBvbkZpbHRlcihjb2x1bW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZpbHRlci5lbWl0KGNvbHVtbik7XHJcbiAgICB9XHJcbiAgICBvbkR5bmFtaWNDb21wb25lbnRFdmVudHMoZTogeyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0sIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgc3dpdGNoIChlLnRpdGxlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3Jvd0NoZWNrJzpcclxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdyb3dDbGljayc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uUm93Q2xpY2soeyBtbywgaW5kZXggfSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAndWx2Q29tbWFuZCc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uVWx2Q29tbWFuZCh7IG1vLCBpbmRleCB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIF90cmFja0J5U2VsZWN0ZWRGbihpbmRleCwgcmVjb3JkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50cmFja0J5U2VsZWN0ZWRGbj8uZW1pdCh7IGluZGV4LCByZWNvcmQgfSk7XHJcbiAgICB9XHJcbiAgICBfdHJhY2tCeUNvbHVtbihpbmRleDogbnVtYmVyLCBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4pOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBgJHtjb2x1bW4uTmFtZX0ke2luZGV4fWA7XHJcbiAgICB9XHJcbiAgICBfdHJhY2tCeVJvdyhpbmRleDogbnVtYmVyLCByb3c6IE1ldGFvYmplY3REYXRhTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBgJHtyb3cuJEdyb3VwID8gcm93LiRHcm91cCA6IHJvdy5JZH0ke2luZGV4fWA7XHJcbiAgICB9XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXHJcbiAgICBwcm90ZWN0ZWQgX2NvbnRhaW5lcldpZHRoQ2hhbmdlZChfOiBudW1iZXIpOiB2b2lkIHt9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFJvd0luZGljYXRvcihjb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWNvbHVtbnM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucm93SW5kaWNhdG9yID0gTnVtYmVyKGNvbHVtbnNbMF0uTWV0YUZpZWxkVHlwZUlkKSA9PT0gNDE7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
450
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUlOLFFBQVEsRUFDUixXQUFXLEVBQ2QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQTZCakQsTUFBTSxPQUFPLHVCQUEyRCxTQUFRLGFBQWE7SUErRnpGLElBQWEsY0FBYyxDQUFDLEdBQVc7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFjRCxZQUNjLFVBQXlCLEVBQ3pCLGFBQStCLEVBQy9CLEdBQWUsRUFDZixJQUF1QixFQUN2QixVQUFxQixFQUNyQixtQkFBMkMsRUFDM0MsZUFBK0IsRUFDL0IsY0FBNkIsRUFDakIsY0FBOEIsRUFDbEIsZUFBZ0M7UUFFbEUsS0FBSyxFQUFFLENBQUM7UUFYRSxlQUFVLEdBQVYsVUFBVSxDQUFlO1FBQ3pCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNqQixtQkFBYyxHQUFkLGNBQWMs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dkIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDTSxjQUFjO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPcHRpb25hbCxcclxuICAgIE91dHB1dCxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFNraXBTZWxmLFxyXG4gICAgSG9zdEJpbmRpbmdcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udGVudERlbnNpdHkgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJiYlRyYW5zbGF0ZVBpcGUsIEZpbmRDb2x1bW5CeURiTmFtZVBpcGUgfSBmcm9tICcuLi9waXBlcyc7XHJcbmltcG9ydCB7IEdyb3VwQnlTZXJ2aWNlLCBQb3J0YWxTZXJ2aWNlLCBVbHZNYWluU2VydmljZSwgVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHtcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzLFxyXG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxyXG4gICAgRGV2aWNlU2l6ZSxcclxuICAgIEZvcm1TZXR0aW5nLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIFJlbGF0aW9uSXRlbVR5cGUsXHJcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxyXG4gICAgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcsXHJcbiAgICBTaGFyZUJ1dHRvbnNDaG9pY2VEZWYsXHJcbiAgICBUeXBlVWx2TWFpbkN0cmxyLFxyXG4gICAgUGFnaW5nU2V0dGluZyxcclxuICAgIE1lbnVJdGVtLFxyXG4gICAgQ29sdW1uU3VtbWFyeVR5cGUsXHJcbiAgICBFanJheU9sZ28sXHJcbiAgICBTb3J0U2V0dGluZ1xyXG59IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1yZXBvcnQtdmlldy1iYXNlJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFQgZXh0ZW5kcyBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucmVwb3J0LXZpZXcnKSBfcmVwb3J0VmlldyA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBjb250ZXh0VmlldzogYW55O1xyXG4gICAgQElucHV0KCkgdmlld1NldHRpbmc6IFQ7XHJcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBhbnk7XHJcbiAgICBASW5wdXQoKSBpc0NoZWNrTGlzdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNpbXBsZUlubGluZUVkaXQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0V2l0aG91dFNlbGVjdGlvbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGhpZGVUb29sYmFyOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGlkZVRpdGxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgdG9vbGJhckJ1dHRvbnM6IE1lbnVJdGVtW107XHJcbiAgICBASW5wdXQoKSBhbGxDaGVja2VkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbW9EYXRhTGlzdDogYW55O1xyXG4gICAgQElucHV0KCkgVWx2TWFpbkN0cmxyOiBUeXBlVWx2TWFpbkN0cmxyO1xyXG4gICAgQElucHV0KCkgYWNjZXNzOiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XHJcbiAgICBASW5wdXQoKSBncm91cGJ5OiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZENvdW50OiBhbnk7XHJcbiAgICBASW5wdXQoKSBjb25kaXRpb25hbEZvcm1hdHM6IGFueTtcclxuICAgIEBJbnB1dCgpIHBhcmVudEhlaWdodDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IGFueVtdO1xyXG4gICAgQElucHV0KCkgY29sdW1uczogYW55O1xyXG4gICAgQElucHV0KCkgYWxsb3dJbmxpbmVFZGl0OiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWNvbmRhcnlDb2x1bW5zOiBhbnk7XHJcbiAgICBASW5wdXQoKSBwb3BpbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkSW5mbzogTWV0YW9iamVjdERhdGFNb2RlbCB8IGFueTtcclxuICAgIEBJbnB1dCgpIGhhc1N1bW1hcnk6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBoYXNTZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGhpZGVJY29uOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29sdW1uc0NvdW50OiBhbnk7XHJcbiAgICBASW5wdXQoKSBoaWRlT3Blbkljb246IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBvcGVuT25DbGljazogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHR5cGVEZWZJZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgcmVwb3J0SWQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxpc3RFZGl0Vmlld0lkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB0eXBlVmlld0lkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBleHRyYVJlbGF0aW9uOiBhbnk7XHJcbiAgICBASW5wdXQoKSByZWxhdGlvbkxpc3Q6IEFycmF5PFJlbGF0aW9uSXRlbVR5cGU+O1xyXG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSByb3dJdGVtOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQElucHV0KCkgbW9iaWxlT3JUYWJsZXQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpbkRpYWxvZzogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBmdWxsc2NyZWVuOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGlkZVNlYXJjaHBhbmVsOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbmV3SW5saW5lRWRpdE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0TW9kZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG9ubHlJbmxpbmVFZGl0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcm93SG92ZXJhYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZ3JvdXBTdW1tYXJ5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgdGxiQnV0dG9uczogYW55W107XHJcbiAgICBASW5wdXQoKSBmb3JtU2V0dGluZzogRm9ybVNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHJvd0FjdGl2YWJsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XHJcbiAgICBASW5wdXQoKSBydGw7XHJcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xyXG4gICAgQElucHV0KCkgdGl0bGU7XHJcbiAgICBASW5wdXQoKSBoYXNJbmxpbmVEZWxldGVCdXR0b246IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBoYXNJbmxpbmVFZGl0QnV0dG9uOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29udGV4dFNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBncmlkRnJlZUNvbHVtblNpemluZzogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG5hdmlnYXRpb25BcnJvdzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgY2FydGFibGVUZW1wbGF0ZXM6IHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfTtcclxuICAgIEBJbnB1dCgpIGNhcnRhYmxlQ2hpbGRzTW86IHsgW2tleTogc3RyaW5nXTogTWV0YW9iamVjdERhdGFNb2RlbCB9O1xyXG4gICAgQElucHV0KCkgcGFnaW5nU2V0dGluZzogUGFnaW5nU2V0dGluZztcclxuICAgIEBPdXRwdXQoKSBjb2x1bW5TdW1tYXJ5ID0gbmV3IEV2ZW50RW1pdHRlcjxDb2x1bW5TdW1tYXJ5VHlwZT4oKTtcclxuICAgIEBPdXRwdXQoKSBlc2NhcGVLZXkgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgcmVzZXRXb3JrZmxvd1N0YXRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIGRlc2VsZWN0QWxsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbFNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0TmV4dElubGluZVJlY29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IGZpZWxkRGJOYW1lPzogc3RyaW5nIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgdWx2Q29tbWFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIHdvcmtmbG93U2hhcmVCdXR0b25zID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZUJ1dHRvbnNDaG9pY2VEZWY+KCk7XHJcbiAgICBAT3V0cHV0KCkgc29ydERlc2NlbmRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBleGVjdXRlVG9vbGJhckJ1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtSWQ6IHN0cmluZzsgb3B0aW9ucz86IGFueSB9PigpO1xyXG4gICAgQE91dHB1dCgpIHJlc2V0R3JpZFNldHRpbmdzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIHNvcnRTZXR0aW5nc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydFNldHRpbmdbXT4oKTtcclxuICAgIEBPdXRwdXQoKSByb3dDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXg7IGNhdXNlPzsgb25seUNoZWNrPzogYm9vbGVhbiB9PigpO1xyXG4gICAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleCB9PigpO1xyXG4gICAgQE91dHB1dCgpIGNhcnRhYmxlRm9ybUNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXggfT4oKTtcclxuICAgIEBPdXRwdXQoKSBjcmVhdGVOZXdNbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICAgIEBPdXRwdXQoKSB1cGRhdGVNbyA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBleHBhbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSB0cmFja0J5U2VsZWN0ZWRGbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpbmRleDsgcmVjb3JkIH0+KCk7XHJcbiAgICBAT3V0cHV0KCkgYWxsQ2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICBAT3V0cHV0KCkgbWFuZGF0b3J5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzPigpO1xyXG4gICAgQE91dHB1dCgpIGhhc0RldGFpbHNJblJvdyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBJbnB1dCgpIHNldCBjb250YWluZXJXaWR0aCh2YWw6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lcldpZHRoID0gdmFsO1xyXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lcldpZHRoQ2hhbmdlZCh2YWwpO1xyXG4gICAgfVxyXG4gICAgcmVzaXplZEJ5VXNlcjogYm9vbGVhbjtcclxuICAgIGVsV2lkdGg6IG51bWJlcjtcclxuICAgIGNhblZpZXcgPSBmYWxzZTtcclxuICAgIGZpdFdpZHRoOiBib29sZWFuO1xyXG4gICAgZmlyc3RTZWxlY3RlZE1ldGFvYmplY3Q6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBjb250ZXh0TWVudVdpZHRoID0gMDtcclxuICAgIGZpZWxkRGljdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuICAgIGFjdGlvbkxpc3Q6IGFueVtdO1xyXG4gICAgZGV0YWlsc0NvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXSA9IFtdO1xyXG4gICAgZGV0YWlsc0NvbXBvbmVudDogRWpyYXlPbGdvO1xyXG4gICAgcm93SW5kaWNhdG9yOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBfc2luZ2xlQ2xpY2tlZDogYm9vbGVhbjtcclxuICAgIHByb3RlY3RlZCBfY29udGFpbmVyV2lkdGggPSAwO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF90aXRsZUNhc2U6IFRpdGxlQ2FzZVBpcGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9iYmJUcmFuc2xhdGU6IEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZpbmRDb2x1bW5CeURiTmFtZTogRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3Vsdk1haW5TZXJ2aWNlOiBVbHZNYWluU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlPzogVXBsb2FkU2VydmljZSxcclxuICAgICAgICBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2dyb3VwQnlTZXJ2aWNlPzogR3JvdXBCeVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbiAgICBnZXQgc2hvd1ZpZXdCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuVmlldyAmJiAhdGhpcy5pbmxpbmVFZGl0TW9kZSAmJiAhdGhpcy5oaWRlT3Blbkljb247XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmFjY2Vzcy5WaWV3ICYmICF0aGlzLnNob3dPa0NhbmNlbEJ1dHRvbnMpIHtcclxuICAgICAgICAgICAgdGhpcy5jYW5WaWV3ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hY3Rpb25MaXN0ID0gdGhpcy5fY3JlYXRlQWN0aW9uQnV0dG9ucygpO1xyXG4gICAgICAgIHRoaXMuZWxXaWR0aCA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgdGhpcy5maXRXaWR0aCA9IHRoaXMudmlld1NldHRpbmc/LkZpdFdpZHRoID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnMpIHtcclxuICAgICAgICAgICAgY29uc3QgZmllbGREaWN0ID0ge307XHJcbiAgICAgICAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKChjKSA9PiAoZmllbGREaWN0W2MuQ2FwdGlvbl0gPSBjLk5hbWUpKTtcclxuICAgICAgICAgICAgdGhpcy5maWVsZERpY3QgPSBmaWVsZERpY3Q7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGRldGFpbHNTZXR0aW5nID0gdGhpcy52aWV3U2V0dGluZz8uRGV0YWlsc1NldHRpbmc7XHJcbiAgICAgICAgaWYgKGRldGFpbHNTZXR0aW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsc0NvbXBvbmVudCA9IGRldGFpbHNTZXR0aW5nLkNvbXBvbmVudDtcclxuICAgICAgICAgICAgZGV0YWlsc1NldHRpbmcuQ29sdW1ucy5zcGxpdCgnLCcpLmZvckVhY2goKGNvbHVtbk5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5fZmluZENvbHVtbkJ5RGJOYW1lLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIGNvbHVtbk5hbWUsIHRoaXMuc2Vjb25kYXJ5Q29sdW1ucyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxzQ29sdW1ucy5wdXNoKGNvbHVtbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9zZXRSb3dJbmRpY2F0b3IodGhpcy5jb2x1bW5zKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBvbkFjdGlvbkxpc3RDbGljayhtbzogTWV0YW9iamVjdERhdGFNb2RlbCwgaW5kZXg6IG51bWJlciwgaXRlbUlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXRlbUlkID09PSAnU2hvdycpIHtcclxuICAgICAgICAgICAgdGhpcy5vblJvd0NsaWNrKHsgbW8sIGluZGV4IH0pO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTtcclxuICAgICAgICBjb25zdCBidG4gPSB0aGlzLnRvb2xiYXJCdXR0b25zLmZpbmQoKHRiKSA9PiB0Yj8uaXRlbUlkID09PSBpdGVtSWQpO1xyXG4gICAgICAgIGlmIChidG4pIHtcclxuICAgICAgICAgICAgKGJ0biBhcyBhbnkpLmhhbmRsZXIoYnRuKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUFjdGlvbkJ1dHRvbnMoKTogYW55W10ge1xyXG4gICAgICAgIGNvbnN0IGJ1dHRvbnM6IGFueVtdID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzSW5saW5lRWRpdEJ1dHRvbikge1xyXG4gICAgICAgICAgICBidXR0b25zLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgZ2x5cGg6ICdlZGl0JyxcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogJ0VkaXQnLFxyXG4gICAgICAgICAgICAgICAgbmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcclxuICAgICAgICAgICAgICAgIGNsb3NlT25DbGljazogdHJ1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzSW5saW5lRGVsZXRlQnV0dG9uKSB7XHJcbiAgICAgICAgICAgIGJ1dHRvbnMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBnbHlwaDogJ2RlbGV0ZScsXHJcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogJ0RlbGV0ZScsXHJcbiAgICAgICAgICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcclxuICAgICAgICAgICAgICAgIGNsb3NlT25DbGljazogdHJ1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd1ZpZXdCdXR0b24pIHtcclxuICAgICAgICAgICAgYnV0dG9ucy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGdseXBoOiB0aGlzLm5hdmlnYXRpb25BcnJvdyxcclxuICAgICAgICAgICAgICAgIG5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgICAgICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJyxcclxuICAgICAgICAgICAgICAgIGl0ZW1JZDogJ1Nob3cnLFxyXG4gICAgICAgICAgICAgICAgY2xvc2VPbkNsaWNrOiB0cnVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYnV0dG9ucztcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBsZXQgZGV0ZWN0Q2hhbmdlcyA9IGZhbHNlO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGNoYW5nZXMpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpc1trZXldID0gY2hhbmdlc1trZXldLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICAgICAgICAgIGRldGVjdENoYW5nZXMgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKGRldGVjdENoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25EZXNlbGVjdEFsbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRlc2VsZWN0QWxsLmVtaXQoKTtcclxuICAgIH1cclxuICAgIG9uUm93Q2hlY2soZTogeyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgaW5kZXg6IG51bWJlcjsgb25seUNoZWNrPzogYm9vbGVhbiB9KTogdm9pZCB7XHJcbiAgICAgICAgLy8gdGhpcy5fc2luZ2xlQ2xpY2tlZCA9IHRydWU7XHJcbiAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgLy8gICBpZiAodGhpcy5fc2luZ2xlQ2xpY2tlZCkge1xyXG4gICAgICAgIC8vICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfSwgMzApO1xyXG4gICAgICAgIC8vIHRoaXMucm93Q2hlY2suZW1pdCh7IG1vLCBpbmRleCwgY2F1c2UgfSk7XHJcbiAgICAgICAgY29uc3QgeyBtbywgaW5kZXgsIG9ubHlDaGVjayB9ID0gZTtcclxuICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbywgaW5kZXgsIG9ubHlDaGVjayB9KTtcclxuICAgIH1cclxuICAgIG9uV29ya2Zsb3dTaGFyZUJ1dHRvbnMoZTogU2hhcmVCdXR0b25zQ2hvaWNlRGVmKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy53b3JrZmxvd1NoYXJlQnV0dG9ucy5lbWl0KGUpO1xyXG4gICAgfVxyXG4gICAgb25PbGdvRXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpc1tlLnRpdGxlXS5lbWl0KGUuZGF0YSk7XHJcbiAgICB9XHJcbiAgICBvblJvd0NsaWNrKHsgbW8sIGluZGV4IH0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zaW5nbGVDbGlja2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yb3dDbGljay5lbWl0KHsgbW8sIGluZGV4IH0pO1xyXG4gICAgfVxyXG4gICAgb25DYXJ0YWJsZUZvcm1DbG9zZWQoeyBtbywgaW5kZXggfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2FydGFibGVGb3JtQ2xvc2VkLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBvbkV4cGFuZENsaWNrKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRDbGljay5lbWl0KG1vKTtcclxuICAgIH1cclxuICAgIG9uQWxsQ2hlY2tib3goY2hlY2tlZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChjaGVja2VkKTtcclxuICAgIH1cclxuICAgIG9uQ2xlYXJDaGVja2JveCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFsbENoZWNrYm94LmVtaXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgb25TZWxlY3ROZXh0SW5saW5lUmVjb3JkKG1vKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3ROZXh0SW5saW5lUmVjb3JkLmVtaXQobW8pO1xyXG4gICAgfVxyXG4gICAgb25FZGl0Rm9ybVBhbmVsU2F2ZShtbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFNhdmUuZW1pdChtbyk7XHJcbiAgICB9XHJcbiAgICBvbkVkaXRGb3JtUGFuZWxDYW5jZWwobW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdChtbyk7XHJcbiAgICB9XHJcbiAgICBvbkVzY2FwZUtleShtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZXNjYXBlS2V5LmVtaXQobW8pO1xyXG4gICAgfVxyXG4gICAgb25FZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UoZTogeyBtbzogTWV0YW9iamVjdERhdGFNb2RlbDsgZmllbGREYk5hbWU/OiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlLmVtaXQoZSk7XHJcbiAgICB9XHJcbiAgICBvblVsdkNvbW1hbmQoeyBtbywgaW5kZXggfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudWx2Q29tbWFuZENsaWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBvblNvcnRBc2NlbmRpbmcoY29sdW1uKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoY29sdW1uKTtcclxuICAgIH1cclxuICAgIG9uU29ydERlc2NlbmRpbmcoY29sdW1uKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0RGVzY2VuZGluZy5lbWl0KGNvbHVtbik7XHJcbiAgICB9XHJcbiAgICBvbkZpbHRlcihjb2x1bW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZpbHRlci5lbWl0KGNvbHVtbik7XHJcbiAgICB9XHJcbiAgICBvbkFjdGlvbihjb21tYW5kQm9keTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY29tbWFuZCA9IG5ldyBGdW5jdGlvbihjb21tYW5kQm9keSk7XHJcbiAgICAgICAgY29tbWFuZCgpO1xyXG4gICAgfVxyXG4gICAgb25EeW5hbWljQ29tcG9uZW50RXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9LCBtbzogTWV0YW9iamVjdERhdGFNb2RlbCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHN3aXRjaCAoZS50aXRsZSkge1xyXG4gICAgICAgICAgICBjYXNlICdyb3dDaGVjayc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uUm93Q2hlY2soeyBtbywgaW5kZXggfSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAncm93Q2xpY2snOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5vblJvd0NsaWNrKHsgbW8sIGluZGV4IH0pO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3VsdkNvbW1hbmQnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5vblVsdkNvbW1hbmQoeyBtbywgaW5kZXggfSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBfdHJhY2tCeVNlbGVjdGVkRm4oaW5kZXgsIHJlY29yZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudHJhY2tCeVNlbGVjdGVkRm4/LmVtaXQoeyBpbmRleCwgcmVjb3JkIH0pO1xyXG4gICAgfVxyXG4gICAgX3RyYWNrQnlDb2x1bW4oaW5kZXg6IG51bWJlciwgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7Y29sdW1uLk5hbWV9JHtpbmRleH1gO1xyXG4gICAgfVxyXG4gICAgX3RyYWNrQnlSb3coaW5kZXg6IG51bWJlciwgcm93OiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7cm93LiRHcm91cCA/IHJvdy4kR3JvdXAgOiByb3cuSWR9JHtpbmRleH1gO1xyXG4gICAgfVxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xyXG4gICAgcHJvdGVjdGVkIF9jb250YWluZXJXaWR0aENoYW5nZWQoXzogbnVtYmVyKTogdm9pZCB7fVxyXG4gICAgcHJvdGVjdGVkIF9zZXRSb3dJbmRpY2F0b3IoY29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFjb2x1bW5zPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJvd0luZGljYXRvciA9IE51bWJlcihjb2x1bW5zWzBdLk1ldGFGaWVsZFR5cGVJZCkgPT09IDQxO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|