barsa-novin-ray-core 2.0.95 → 2.0.97
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/barsa-novin-ray-core.module.mjs +8 -5
- package/esm2022/lib/constants.mjs +15 -5
- package/esm2022/lib/pipes/find-preview-column.pipe.mjs +19 -0
- package/esm2022/lib/pipes/index.mjs +2 -1
- package/esm2022/lib/services/portal.service.mjs +14 -3
- package/esm2022/lib/services/routing.service.mjs +1 -1
- package/fesm2022/barsa-novin-ray-core.mjs +51 -10
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/models.d.ts +12 -0
- package/lib/barsa-novin-ray-core.module.d.ts +33 -32
- package/lib/constants.d.ts +2 -1
- package/lib/pipes/find-preview-column.pipe.d.ts +8 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/services/portal.service.d.ts +3 -0
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBTWhFO0FBQ0QsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHVCQUF1QjtDQUtyRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FPbkU7QUFlRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsdUJBQXVCO0NBVXRFO0FBQ0QsTUFBTSxPQUFPLGlCQUFpQjtDQU83QjtBQUNELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSx1QkFBdUI7Q0FpQjFFO0FBK0JELE1BQU0sT0FBTyxtQkFBbUI7Q0FrQi9CO0FBYUQsTUFBTSxPQUFPLGdCQUFnQjtJQXFCekI7UUFDSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDN0QsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLGNBQWM7Q0FPMUI7QUFDRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0NBS2xEO0FBRUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGlCQUFpQjtDQUc3RDtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQThDWDtBQTlDRCxXQUFZLGlCQUFpQjtJQUN6QiwrREFBVyxDQUFBO0lBQ1gscUVBQWMsQ0FBQTtJQUNkLGlFQUFZLENBQUE7SUFDWixpRUFBWSxDQUFBO0lBQ1osaUVBQVksQ0FBQTtJQUNaLGlFQUFZLENBQUE7SUFDWix5RUFBZ0IsQ0FBQTtJQUNoQiw2RUFBa0IsQ0FBQTtJQUNsQix3RUFBZ0IsQ0FBQTtJQUNoQiwwRUFBaUIsQ0FBQTtJQUNqQiwwRUFBaUIsQ0FBQTtJQUNqQix3RUFBZ0IsQ0FBQTtJQUNoQiwwR0FBaUMsQ0FBQTtJQUNqQyxnRkFBb0IsQ0FBQTtJQUNwQixrRkFBcUIsQ0FBQTtJQUNyQixzRkFBdUIsQ0FBQTtJQUN2QiwwRUFBaUIsQ0FBQTtJQUNqQiw4RUFBbUIsQ0FBQTtJQUNuQixzRkFBdUIsQ0FBQTtJQUN2Qiw4SEFBMkMsQ0FBQTtJQUMzQyxnRkFBb0IsQ0FBQTtJQUNwQiw4RkFBMkIsQ0FBQTtJQUMzQix3RkFBd0IsQ0FBQTtJQUN4QiwwRUFBaUIsQ0FBQTtJQUNqQixvRkFBc0IsQ0FBQTtJQUN0Qiw0RkFBMEIsQ0FBQTtJQUMxQixrRkFBcUIsQ0FBQTtJQUNyQiwwRUFBaUIsQ0FBQTtJQUNqQixzRUFBZSxDQUFBO0lBQ2Ysa0VBQWEsQ0FBQTtJQUNiLDBFQUFpQixDQUFBO0lBQ2pCLGdGQUFvQixDQUFBO0lBQ3BCLG9FQUFjLENBQUE7SUFDZCxrRUFBYSxDQUFBO0lBQ2IsOEVBQW1CLENBQUE7SUFDbkIsNEVBQWtCLENBQUE7SUFDbEIsNEVBQWtCLENBQUE7SUFDbEIsc0VBQWUsQ0FBQTtJQUNmLG9IQUFzQyxDQUFBO0lBQ3RDLG9FQUFjLENBQUE7SUFDZCxrRUFBYSxDQUFBO0lBQ2IsZ0dBQTRCLENBQUE7SUFDNUIsc0ZBQXVCLENBQUE7SUFDdkIsb0ZBQXNCLENBQUE7SUFDdEIsb0VBQWMsQ0FBQSxDQUFDLGFBQWE7QUFDaEMsQ0FBQyxFQTlDVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBOEM1QjtBQWdCRCxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUtJLHlCQUFvQixHQUFHLDRCQUE0QixDQUFDO0lBQ3hELENBQUM7Q0FBQTtBQVlELE1BQU0sT0FBTyxhQUFhO0NBY3pCO0FBQ0QsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUFlO0lBRTVDO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0o7QUFDRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0NBRW5EO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtDQUVuRDtBQW1DRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtDQUV2RDtBQUNELE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7Q0FFbkQ7QUFTRCxNQUFNLE9BQU8sZ0JBQWdCO0NBMEI1QjtBQUVELE1BQU0sT0FBTyxXQUFXO0NBSXZCO0FBQ0QsTUFBTSxPQUFPLFVBQVU7Q0FJdEI7QUFDRCxNQUFNLE9BQU8sV0FBVztDQUl2QjtBQUVELE1BQU0sT0FBTyxXQUFXO0lBSXBCLFlBQW1CLE1BQXdCLEVBQVMsSUFBUztRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQUs7UUFDekQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBZ0dELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25CLENBQUM7QUFxS0YsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUNyQiw4QkFBYSxDQUFBO0lBQ2IsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBaUNELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRGF0ZUluZm8gYXMgRGF0ZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIENvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcbiAgICBDb250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDogc3RyaW5nO1xuICAgIENvbnRyb2xGaWVsZERlZklkOiBzdHJpbmc7XG4gICAgQ29udHJvbE5hbWU6IHN0cmluZztcbiAgICBSZWxhdGVkRmllbGRMaXN0OiBbXTtcbiAgICBIaWRlOiBib29sZWFuO1xuICAgIHh0eXBlOiBzdHJpbmc7XG4gICAgTGFiZWxQb3NpdGlvbjogc3RyaW5nO1xuICAgIElzTWFuZGF0b3J5OiBib29sZWFuO1xuICAgIElzVmlzaWJsZTogYm9vbGVhbjtcbiAgICBTaG93TGFiZWwgPSB0cnVlO1xuICAgIElzUmVhZE9ubHk6IGJvb2xlYW47XG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xuICAgIElzQm9sZDogYm9vbGVhbjtcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcbiAgICBKc29uRXh0cmFQcm9wOiBhbnkgfCBudWxsO1xuICAgIENvbXBvbmVudDogc3RyaW5nO1xuICAgIEluZm86IENvbnRyb2xJbmZvVHlwZXM7XG4gICAgRmllbGRJY29uOiBzdHJpbmc7XG4gICAgSXNMdHI6IGJvb2xlYW47XG4gICAgRGlzcGxheVR5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUF0dGFjaG1lbnRJbmZvIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgSWQ6IHN0cmluZztcbiAgICBJc05ldzogYm9vbGVhbjtcbiAgICBJc0RlbGV0ZWQ6IGJvb2xlYW47XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIEZpbGVOYW1lPzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWF4TGVuZ3RoOiBudW1iZXI7XG4gICAgTWluTGVuZ3RoOiBudW1iZXI7XG4gICAgUmVndWxhckV4cHJlc3Npb246IHN0cmluZztcbiAgICBJc1Bhc3N3b3JkOiBib29sZWFuO1xuICAgIElzTXVsdGlMaW5lOiBib29sZWFuO1xuICAgIE51bGxUZXh0OiBzdHJpbmc7XG4gICAgQWxsb3dlZFN0cmluZ0NoYXJzOiBzdHJpbmc7XG4gICAgT25seUFjY2VwdEN1cnJlbnRDdWx0dXJlOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFJpY2hTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgU3RyaW5nQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSXNIdG1sVmlld2VyOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIE51bWJlckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWluVmFsdWU6IG51bWJlcjtcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xuICAgIERlY2ltYWxQcmVjaXNpb246IG51bWJlcjtcbiAgICBTaG93VGhvdXNhbmRTZXBlcmF0b3I6IGJvb2xlYW47XG4gICAgTnVtYmVyVHlwZTogc3RyaW5nO1xuICAgIEN1cnJlbmN5U3ltYm9sOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRmlsZVBpY3R1cmVJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRXh0OiBzdHJpbmc7XG4gICAgRmlsZUlkOiBzdHJpbmc7XG4gICAgSXNEZWxldGVkOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIEZpbGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIENhbkRlbGV0ZTogYm9vbGVhbjtcbiAgICBDYW5TYXZlOiBib29sZWFuO1xuICAgIENhblZpZXc6IGJvb2xlYW47XG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBNYXhGaWxlQ291bnQ6IG51bWJlcjtcbiAgICBNYXhGaWxlU2l6ZUtiOiBudW1iZXI7XG4gICAgT2ZmaWNlT25saW5lOiBib29sZWFuO1xuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xuICAgIFZpZXdUeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgTWVudU5hbWU6IHN0cmluZztcbiAgICBEaXNhYmxlV2hlblJlYWRvbmx5OiBib29sZWFuO1xuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XG4gICAgRHluYW1pY0NvbW1hbmQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBJY29uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHt9XG5leHBvcnQgY2xhc3MgUGljdHVyZUZpbGVDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFNpemVNb2RlOiBudW1iZXI7XG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEdhdWdlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcbiAgICBNYXhWYWx1ZTogbnVtYmVyO1xuICAgIE1heFZhbHVlMjogbnVtYmVyO1xuICAgIE1pblZhbHVlOiBudW1iZXI7XG4gICAgTWluVmFsdWUyOiBudW1iZXI7XG4gICAgVmFsdWU6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTGlzdFR5cGVzID1cbiAgICB8IFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEhpc3RvcnlDb250cm9sSW5mb01vZGVsXG4gICAgfCBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbDtcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcbn1cbmV4cG9ydCBjbGFzcyBIaXN0b3J5Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xuICAgIFBhcmFtTmFtZTE6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcbiAgICBBdXRvU2F2ZTtcbn1cbmV4cG9ydCBjbGFzcyBSZWxhdGVkUmVwb3J0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBIYXNFeHRlcm5hbFBhcmFtZXRlcjogYm9vbGVhbjtcbiAgICBQYXJhbU5hbWUxOiBzdHJpbmc7XG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XG59XG5leHBvcnQgY2xhc3MgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRXh0cmFUZXh0OiBzdHJpbmc7XG4gICAgU3VnZ2VzdGlvbnM6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBFbnVtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIFNob3dBc1JhZGlvQnV0dG9uOiBib29sZWFuO1xuICAgIEljb25EaXNwbGF5VHlwZTogc3RyaW5nO1xuICAgIERhdGFTb3VyY2U6IHtcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xuICAgIH07XG4gICAgRW1wdHlSb3dEYXRhOiBSb3dEYXRhT3B0aW9uO1xufVxuZXhwb3J0IGNsYXNzIFJvd0RhdGFPcHRpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgSXNFbXB0eTogYm9vbGVhbjtcbiAgICB0eHQ6IHN0cmluZztcbiAgICB0eHRfc2FmZT86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBEYXRlVGltZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgQ2FsZW5kYXJUeXBlOiBzdHJpbmc7XG4gICAgRGF0ZUZvcm1hdDogc3RyaW5nO1xuICAgIFNob3dEYXRlMTogYm9vbGVhbjtcbiAgICBTaG93VGltZTE6IGJvb2xlYW47XG4gICAgVGltZUZvcm1hdDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEJvb2xDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEZhbHNlQ2FwdGlvbjogc3RyaW5nO1xuICAgIFRydWVDYXB0aW9uOiBzdHJpbmc7XG4gICAgVHJ1ZUljb246IHN0cmluZztcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xuICAgIEZhbHNlSWNvbjogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgSW5uZXJDdHJscjogQ29udHJvbEluZm9UeXBlcztcbiAgICBFeGVjdXRhaW9uVGltZTogc3RyaW5nO1xuICAgIEVkaXRUeXBlOiBzdHJpbmc7XG4gICAgRG9udFNob3dSZWNhbGN1bGF0ZUJ1dHRvbjogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBUeXBlRGVmSWQ6IGFueTtcbiAgICBUeXBlRGVmSWNvbjogc3RyaW5nO1xuICAgIElzQ29tcG9zZWRSZWxhdGlvbjogc3RyaW5nO1xuICAgIERyb3BEb3duUmVwb3J0SWQ6IHN0cmluZztcbiAgICBUeXBlVmlld0lkOiBzdHJpbmc7XG4gICAgRm9ybVBhbmVsU2V0dGluZzogRm9ybVNldHRpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRmlsZUluZm8ge1xuICAgIGZpbGVJZDogc3RyaW5nO1xuICAgIGZpbGVVcmw6IHN0cmluZztcbiAgICB2aWV3SW5Ccm93c2VyOiBib29sZWFuO1xuICAgIGNvbnZlcnRUbzogc3RyaW5nO1xuICAgIGlzT2ZmaWNlT25saW5lOiBib29sZWFuO1xuICAgIGZvck9jeDogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlSW5mb1Jlc3VsdCB7XG4gICAgZmlsZW5hbWU6IHN0cmluZztcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgY29udGVudFR5cGU6IHN0cmluZztcbiAgICBzdWNjZWVkOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIExpbmVhckxpc3RDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIERlZmF1bHRGaWVsZDogc3RyaW5nO1xuICAgIEV4dHJhSnNvblByb3BGaWVsZDogc3RyaW5nO1xuICAgIEZpbGxCZWZvcmVEcm9wRG93bjogYm9vbGVhbjtcbiAgICBJc0dlbmVyYWxJbmZvOiBib29sZWFuO1xuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgUmVsYXRpb246IExpc3RSZWxhdGlvbk1vZGVsO1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBSb3dJY29uOiBzdHJpbmc7XG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgTGlzdFJlbGF0aW9uTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBDaGlsZEZkSWQ6IHN0cmluZztcbiAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xuICAgIElzQXV0b1NhdmU6IGJvb2xlYW47XG4gICAgUGFyZW50TW9JZDogc3RyaW5nO1xuICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xuICAgIERyb3BEb3duUmVwb3J0SWQ6IHN0cmluZztcbiAgICBGaWxsQmVmb3JlRHJvcERvd246IGJvb2xlYW47XG4gICAgSGlkZUNvbWJvOiBib29sZWFuO1xuICAgIFJlbGF0aW9uVmlld1R5cGU6IHN0cmluZztcbiAgICBQYXNzUGFyZW50Rm9ybTogYm9vbGVhbjtcbiAgICBTaG93TmV3QnV0dG9uOiBib29sZWFuO1xuICAgIFNob3dPa0NhbmNlbDogYm9vbGVhbjtcbiAgICBWaWV3UmVsYXRlZEZvcm1UeXBlOiBzdHJpbmc7XG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XG4gICAgRGF0YVNvdXJjZToge1xuICAgICAgICBSb3dzOiBSb3dEYXRhT3B0aW9uW107XG4gICAgfTtcbiAgICBQcmV2aWV3RmllbGRDYXB0aW9uOiBzdHJpbmc7XG4gICAgUHJldmlld0ZpZWxkSWQ6IHN0cmluZztcbiAgICBQcmV2aWV3RmllbGROYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvbnRyb2xJbmZvVHlwZXMgPVxuICAgIHwgU3ViZm9ybUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEJvb2xDb250cm9sSW5mb01vZGVsXG4gICAgfCBFbnVtQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgSWNvbkNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEZpbGVDb250cm9sSW5mb01vZGVsXG4gICAgfCBEYXRlVGltZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IE51bWJlckNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFN0cmluZ0NvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFBpY3R1cmVGaWxlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgR2F1Z2VDb250cm9sSW5mb01vZGVsXG4gICAgfCBDb21tYW5kQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQ29kZUVkaXRvckNvbnRyb2xJbmZvTW9kZWw7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXdTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgTGF5b3V0OTQ6IGFueTtcbiAgICBDb250cm9sSW5mbzogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBEYXRhOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgfTtcbiAgICBWaWV3OiBGb3JtVmlld1NldHRpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgJEZpZWxkRGljdD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgJFJlcG9ydElkPzogc3RyaW5nO1xuICAgICRUeXBlPzogc3RyaW5nO1xuICAgICRTdHlsZUluZGV4PzogbnVtYmVyW107XG4gICAgJENhcHRpb246IHN0cmluZztcbiAgICAkSWNvbj86IHN0cmluZztcbiAgICAkU3RhdGU/OiBzdHJpbmc7XG4gICAgJFR5cGVEZWZJZD86IHN0cmluZztcbiAgICAkVHlwZURlZk5hbWU/OiBzdHJpbmc7XG4gICAgJENoaWxkcmVuPzogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIEluaGVyaXRhbmNlPzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBJbmhlcml0YW5jZUluZm8/OiB7XG4gICAgICAgIENoaWxkRmllbGROYW1lOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZpZWxkTmFtZTogc3RyaW5nO1xuICAgIH07XG4gICAgSWQ6IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIENhbGVuZGFyTWV0YW9iamVjdERhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgICRDb2xvcjogc3RyaW5nO1xuICAgICRNb21lbnRTdGFydERhdGU6IHN0cmluZztcbiAgICAkTW9tZW50RW5kRGF0ZTogc3RyaW5nO1xuICAgICRTdGFydFRpbWVzOiBzdHJpbmc7XG4gICAgJEVuZFRpbWVzOiBzdHJpbmc7XG4gICAgJFRpdGxlOiBzdHJpbmc7XG4gICAgJE5vdGVzOiBzdHJpbmc7XG4gICAgJFN0YXJ0RGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XG4gICAgJEVuZERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xufVxuXG5leHBvcnQgY2xhc3MgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgJFR5cGU/OiBzdHJpbmc7XG4gICAgVHlwZURlZklkOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ6IHN0cmluZztcbiAgICBJY29uPzogc3RyaW5nO1xuICAgIE1vRGF0YUxpc3Q6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+O1xuICAgIERlbGV0ZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xuICAgIEFkZGVkTGlzdDogQXJyYXk8eyBJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9PjtcbiAgICBQYWdpbmc6IFBhZ2luZ1NldHRpbmc7XG4gICAgUmVsYXRpb24/OiB7XG4gICAgICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xuICAgICAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZkSWQ6IHN0cmluZztcbiAgICAgICAgQ2hpbGRGZElkOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudEZkTmFtZTogc3RyaW5nO1xuICAgICAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xuICAgICAgICBQYXNzUGFyZW50TW9GaWVsZDogc3RyaW5nO1xuICAgICAgICBJc0F1dG9TYXZlOiBib29sZWFuO1xuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFBhcmVudEZvcm1zOiBib29sZWFuO1xuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFJvb3RQYXJlbnRMaXN0OiBib29sZWFuO1xuICAgIH07XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuRGVsZXRlZExpc3QgPSB0aGlzLkFkZGVkTGlzdCA9IHRoaXMuTW9EYXRhTGlzdCA9IFtdO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRCYXNlSW5mbyB7XG4gICAgSWQ6IHN0cmluZztcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgRm9sZGVySWQ6IHN0cmluZztcbiAgICBJY29uVXJsOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFJlcG9ydElkOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0RXh0cmFJbmZvIGV4dGVuZHMgUmVwb3J0QmFzZUluZm8ge1xuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xuICAgIFR5cGVEZWZDYXB0aW9uOiBzdHJpbmc7XG4gICAgUmVwb3J0VHlwZTogc3RyaW5nO1xuICAgIEhpZGVUb29sYmFyOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdFJlbGF0aW9uTW9kZWwgZXh0ZW5kcyBMaXN0UmVsYXRpb25Nb2RlbCB7XG4gICAgUGFyZW50RmRJZDogc3RyaW5nO1xuICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEZpZWxkSW5mb1R5cGVFbnVtIHtcbiAgICBJbnRJbmZvID0gMCxcbiAgICBTdHJpbmdJbmZvID0gMixcbiAgICBEYXRlSW5mbyA9IDMsXG4gICAgQm9vbEluZm8gPSA1LFxuICAgIEVudW1JbmZvID0gNixcbiAgICBVc2VySW5mbyA9IDcsXG4gICAgQ2F0ZWdvcnlJbmZvID0gOCxcbiAgICBNZXRhT2JqZWN0SW5mbyA9IDksXG4gICAgQ29tbWFuZEluZm8gPSAxMCwgLy8gMHgwMDAwMDAwQVxuICAgIFBpY3R1cmVzSW5mbyA9IDExLCAvLyAweDAwMDAwMDBCXG4gICAgUmVsYXRpb25JbmZvID0gMTIsIC8vIDB4MDAwMDAwMENcbiAgICBIaXN0b3J5SW5mbyA9IDEzLCAvLyAweDAwMDAwMDBEXG4gICAgUmVsYXRpb25JbmZvUmV2ZXJzZV9Ba3NMaXN0aSA9IDE0LCAvLyAweDAwMDAwMDBFXG4gICAgQ3JlYXRvclVzZXJJbmZvID0gMTUsIC8vIDB4MDAwMDAwMEZcbiAgICBDcmVhdGlvbkRhdGVJbmZvID0gMTYsIC8vIDB4MDAwMDAwMTBcbiAgICBMYXN0VXBkYXRlRGF0ZUluZm8gPSAxNywgLy8gMHgwMDAwMDAxMVxuICAgIFJlbWluZGVySW5mbyA9IDE4LCAvLyAweDAwMDAwMDEyXG4gICAgUmljaFN0cmluZ0luZm8gPSAxOSwgLy8gMHgwMDAwMDAxM1xuICAgIENvbnZlcnRDb21tYW5kSW5mbyA9IDIwLCAvLyAweDAwMDAwMDE0XG4gICAgUmVsYXRpb25JbmZvU2luZ2xlUmV2ZXJzZV9Ba3NUYWtpTGlzdGkgPSAyMSwgLy8gMHgwMDAwMDAxNVxuICAgIERpYWxDb21tYW5kSW5mbyA9IDIyLCAvLyAweDAwMDAwMDE2XG4gICAgRmluZENvbnRhY3RDb21tYW5kSW5mbyA9IDIzLCAvLyAweDAwMDAwMDE3XG4gICAgU2VxdWVuY2VDb21tYW5kSW5mbyA9IDI0LCAvLyAweDAwMDAwMDE4XG4gICAgQ3VycmVuY3lJbmZvID0gMjUsIC8vIDB4MDAwMDAwMTlcbiAgICBTaW5nbGVQaWN0dXJlSW5mbyA9IDI2LCAvLyAweDAwMDAwMDFBXG4gICAgV29yZFJlcG9ydENvbW1hbmRJbmZvID0gMjcsIC8vIDB4MDAwMDAwMUJcbiAgICBIaWVyYXJjaGljYWxJbmZvID0gMjgsIC8vIDB4MDAwMDAwMUNcbiAgICBUaW1lU3BhbkluZm8gPSAyOSwgLy8gMHgwMDAwMDAxRFxuICAgIFJlcG9ydEluZm8gPSAzMCwgLy8gMHgwMDAwMDAxRVxuICAgIEZpbGVJbmZvID0gMzEsIC8vIDB4MDAwMDAwMUZcbiAgICBXb3JkRmlsZUluZm8gPSAzMiwgLy8gMHgwMDAwMDAyMFxuICAgIFBpY3R1cmVGaWxlSW5mbyA9IDMzLCAvLyAweDAwMDAwMDIxXG4gICAgR2F1Z2VJbmZvID0gMzQsIC8vIDB4MDAwMDAwMjJcbiAgICBDb2RlSW5mbyA9IDM1LCAvLyAweDAwMDAwMDIzXG4gICAgV29ya0NlbnRlckluZm8gPSAzNiwgLy8gMHgwMDAwMDAyNFxuICAgIElzRGVsZXRlZEluZm8gPSAzNywgLy8gMHgwMDAwMDAyNVxuICAgIFJvd051bWJlckluZm8gPSAzOCwgLy8gMHgwMDAwMDAyNlxuICAgIEJpbmFyeUluZm8gPSAzOSwgLy8gMHgwMDAwMDAyN1xuICAgIFJldmVyc2VNZXRhT2JqZWN0SW5mb19Ba3NUYWtpVGFraSA9IDQwLCAvLyAweDAwMDAwMDI4XG4gICAgQ29sb3JJbmZvID0gNDEsIC8vIDB4MDAwMDAwMjlcbiAgICBJY29uSW5mbyA9IDQyLCAvLyAweDAwMDAwMDJBXG4gICAgUmVmcmVzaEZpZWxkQ29tbWFuZEluZm8gPSA0MywgLy8gMHgwMDAwMDAyQlxuICAgIFJlZmVyZW5jZUZpZWxkSW5mbyA9IDQ0LCAvLyAweDAwMDAwMDJDXG4gICAgU2VhcmNoQ29tbWFuZEluZm8gPSA0NSwgLy8gMHgwMDAwMDAyRFxuICAgIE9yZGVySW5mbyA9IDQ2IC8vIDB4MDAwMDAwMkVcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NOYW1lc01vZGVsIHtcbiAgICBDb21tYW5kQmFyQ2xhc3M6IHN0cmluZztcbiAgICBEYXRhQ2xhc3M6IHN0cmluZztcbiAgICBTZWxlY3Rpb25DbGFzczogc3RyaW5nO1xuICAgIFZpZXdlckNsYXNzOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhTW9kZWwge1xuICAgIEN1c3RvbUNvbW1hbmRzPzogQ3VzdG9tQ29tbWFuZFtdO1xuICAgIERlZmF1bHRDb21tYW5kc0FjY2Vzcz86IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBQYXJlbnRVbHZDb25maWc/OiBhbnk7XG4gICAgUmVsYXRpb24/OiBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbDtcbiAgICBSZXBvcnQ/OiBSZXBvcnRFeHRyYUluZm87XG4gICAgRXh0cmFKc29uUHJvcFJlcG9ydD86IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgQ2xhc3NOYW1lczogQ2xhc3NOYW1lc01vZGVsO1xuICAgIEV4dHJhOiBFeHRyYU1vZGVsO1xuICAgIFZpZXc6IFZpZXdUeXBlcztcbiAgICBTZWFyY2hQYW5lbDogYW55O1xuICAgIERlZmF1bHRJdGVtQ29tcG9uZW50ID0gJ1JlcG9ydERlZmF1bHRJdGVtQ29tcG9uZW50Jztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdENvbW1hbmRzQWNjZXNzIHtcbiAgICBBZGQ6IGJvb2xlYW47XG4gICAgQWRkVG9MaXN0OiBib29sZWFuO1xuICAgIERlbGV0ZTogYm9vbGVhbjtcbiAgICBFZGl0OiBib29sZWFuO1xuICAgIEV4cG9ydDogYm9vbGVhbjtcbiAgICBQcmludDogYm9vbGVhbjtcbiAgICBSZWZyZXNoOiBib29sZWFuO1xuICAgIFJlbW92ZUZyb21MaXN0OiBib29sZWFuO1xuICAgIFZpZXc6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tbWFuZCB7XG4gICAgRGF0YTogYW55O1xuICAgIERpc2FibGVXaGVuUmVhZG9ubHk6IGJvb2xlYW47XG4gICAgSGlkZURpc2FibGU6IGJvb2xlYW47XG4gICAgSWNvblVybDogc3RyaW5nO1xuICAgIElzTGFyZ2U6IGJvb2xlYW47XG4gICAgTXl0eXBlOiBzdHJpbmc7XG4gICAgT3JkZXI6IG51bWJlcjtcbiAgICBTaG93T25Db250ZXh0OiBib29sZWFuO1xuICAgIFNob3dPblRvb2xiYXI6IGJvb2xlYW47XG4gICAgVGV4dDogc3RyaW5nO1xuICAgIFVzZUFsd2F5czogYm9vbGVhbjtcbiAgICBVc2VGb3JNdWx0aTogYm9vbGVhbjtcbiAgICBVc2VGb3JTaW5nbGU6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIERhdGE6IE1vRm9yUmVwb3J0TW9kZWw7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFJlcG9ydExpc3RNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogR3JpZFZpZXc7XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0Rm9ybU1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBGb3JtVmlldztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVZpZXcge1xuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XG4gICAgUGFyZW50SWREYk5hbWU6IHN0cmluZztcbiAgICBTaG93U2VsZWN0aW9uQ2hlY2tzOiBib29sZWFuO1xuICAgIFRyZWVBdXRvT3BlbkxldmVsczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRWaWV3IHtcbiAgICBBbGxvd0dyaWRDb2x1bW5Tb3J0OiBib29sZWFuO1xuICAgIEF1dG9JbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XG4gICAgQ29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47XG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcbiAgICBEaXNhYmxlUm93UmVsb2FkOiBib29sZWFuO1xuICAgIEdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZztcbiAgICBHcmlkX0ZyZWVDb2x1bW5TaXppbmc6IGJvb2xlYW47XG4gICAgR3JpZF9HcmlkTGluZXM6IHN0cmluZztcbiAgICBHcmlkX0hpZGVIZWFkZXI6IGJvb2xlYW47XG4gICAgR3JpZF9TaG93Um93TnVtYmVyOiBib29sZWFuO1xuICAgIEhhc0NvbmRpdGlvbmFsRm9ybWF0OiBib29sZWFuO1xuICAgIEhhc1N1bW1hcnlSb3c6IGJvb2xlYW47XG4gICAgSGlkZUljb246IGJvb2xlYW47XG4gICAgSXNDaGVja0xpc3Q6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyVmlldyB7XG4gICAgQ2FsZW5kYXJGaWVsZHM6IENhbGVuZGFyRmllbGRzO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlldyB7XG4gICAgRm9ybVBhbmVsU2V0dGluZzogYW55O1xufVxuZXhwb3J0IHR5cGUgVmlld1R5cGVzID0gR3JpZFZpZXcgfCBDYWxlbmRhclZpZXcgfCBUcmVlVmlldyB8IEZvcm1WaWV3O1xuXG5leHBvcnQgdHlwZSBSZXBvcnRNb2RlbFR5cGVzID0gUmVwb3J0TGlzdE1vZGVsIHwgUmVwb3J0Q2FsZW5kYXJNb2RlbCB8IFJlcG9ydEZvcm1Nb2RlbCB8IFJlcG9ydFRyZWVNb2RlbDtcblxuZXhwb3J0IGNsYXNzIFJlcG9ydENhbGVuZGFyTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IENhbGVuZGFyVmlldztcbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRUcmVlTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IFRyZWVWaWV3O1xufVxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckZpZWxkcyB7XG4gICAgRW5kRGF0ZTogc3RyaW5nO1xuICAgIE5vdGVzOiBzdHJpbmc7XG4gICAgU3RhcnREYXRlOiBzdHJpbmc7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBDb2xvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld0NvbHVtbiB7XG4gICAgQWxpYXM6IHN0cmluZztcbiAgICBDYXB0aW9uOiBzdHJpbmc7XG4gICAgRmllbGREZWZJZDogc3RyaW5nO1xuICAgIEZpZWxkVHlwZUlkOiBudW1iZXI7XG4gICAgRmllbGRUeXBlOiBzdHJpbmc7XG4gICAgSGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgSXNMdHI6IGJvb2xlYW47XG4gICAgSXNQcmV2aWV3OiBib29sZWFuO1xuICAgIE1ldGFGaWVsZFR5cGVJZDogc3RyaW5nO1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIFRhZz86IHN0cmluZztcbiAgICBJY29uOiBzdHJpbmc7XG4gICAgT25seUltYWdlPzogYm9vbGVhbjtcbiAgICBFeHRyYT86IGFueTtcbiAgICAkQ29udGVudFdpZHRoPzogc3RyaW5nO1xuICAgICRXaWR0aD86IHN0cmluZztcbiAgICAkQ29sdW1uV2lkdGg/OiBzdHJpbmc7XG4gICAgJEZpdENvbnRhaW5lcldpZHRoPzogc3RyaW5nO1xuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xuICAgICRDU1NDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgJEN1c3RvbUNvbXBvbmVudD86IEVqcmF5T2xnbztcbiAgICAkVGV4dFdpZHRoPzogbnVtYmVyO1xuICAgICRJc0ltYWdlT3JpY29uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEdyaWRTZXR0aW5nIHtcbiAgICBDb2xTZXR0aW5nTGlzdDogQXJyYXk8Q29sU2V0dGluZz47XG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XG4gICAgQXV0b1NpemVDb2x1bW5zOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIElzSGlkZGVuOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFNvcnRTZXR0aW5nIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgU29ydERpcmVjdGlvbjogc3RyaW5nO1xuICAgIElzR3JvdXBlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydEZpZWxkIHtcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBjb2x1bW4uTmFtZTtcbiAgICAgICAgdGhpcy5jYXB0aW9uID0gY29sdW1uLkNhcHRpb247XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uRGF0ZUluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZSArICckQ2FwdGlvbiddO1xuICAgICAgICB9XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uSWNvbkluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV0uVXJsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luUmVzdWx0IHtcbiAgICBkYXRhOiB7IHN0aDogc3RyaW5nIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFNldHRpbmdzRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgUGxhY2VIb2xkZXJzPzogUGxhY2VIb2xkZXJEYXRhTW9kZWxbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlSG9sZGVyRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgSXNQYWdlOiBib29sZWFuO1xuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBQbGFjZUhvbGRlcjogUGxhY2VIb2xkZXJEYXRhTW9kZWw7XG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VMaXN0UmVwb3J0TW9kZWwgZXh0ZW5kcyBNb0ZvclJlcG9ydE1vZGVsIHtcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZURhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xuICAgIE1vZHVsZUxpc3Q6IE1vZHVsZUxpc3RSZXBvcnRNb2RlbDtcbiAgICBDaGlsZFBhZ2VMaXN0OiBQYWdlTGlzdFJlcG9ydE1vZGVsO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUm91dGU6IHN0cmluZztcbiAgICBJc0RlZmF1bHRSb3V0ZTogc3RyaW5nO1xuICAgIElzTG9naW5Sb3V0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRhbERhdGFNb2RlbCBleHRlbmRzIFBhZ2VEYXRhTW9kZWwge1xuICAgIElzQWN0aXZlOiBib29sZWFuO1xuICAgIElzUHdhOiBib29sZWFuO1xuICAgIFBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xufVxuZXhwb3J0IGludGVyZmFjZSBHcm91cFZpc2liaWxpdHkge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJMYXlvdXQge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFN1YnRpdGxlOiBzdHJpbmc7XG4gICAgQXZhdGFyOiBhbnk7XG4gICAgRmFjZXRMaXN0OiB7IE1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtIHtcbiAgICBpY29uOiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGl0ZW1JZDogc3RyaW5nO1xuICAgIERhdGE6IGFueTtcbiAgICBDb21tYW5kOiBhbnk7XG4gICAgaGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBJc0J1aWx0aW4/OiBib29sZWFuO1xuICAgIG1lbnU/OiB7IGl0ZW1zOiBNZW51SXRlbVtdIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luZ1NldHRpbmcge1xuICAgIEVuZEluZGV4OiBudW1iZXI7XG4gICAgSGFzUGFnaW5nOiBib29sZWFuO1xuICAgIFBhZ2U6IG51bWJlcjtcbiAgICBQYWdlU2l6ZTogbnVtYmVyO1xuICAgIFJvd0NvdW50OiBudW1iZXI7XG4gICAgU3RhcnRJbmRleDogbnVtYmVyO1xuICAgIFRvdGFsUGFnZXM6IG51bWJlcjtcbiAgICBUb3RhbFJvd3M6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mb1R5cGUge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIElzTWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgICBXaWR0aDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQYW5lbFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xuICAgIElzRGVmYXVsdDogYm9vbGVhbjtcbiAgICBJc1B1YmxpYzogYm9vbGVhbjtcbiAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGJvb2xlYW47XG4gICAgU2VhcmNoTW8/OiBzdHJpbmc7XG4gICAgRmllbGRzU2V0dGluZz86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGV2aWNlU2l6ZSA9ICdkZXNrdG9wJyB8ICdtb2JpbGUnIHwgJ3RhYmxldCc7XG5leHBvcnQgY29uc3QgRGF0ZVJhbmdlcyA9IFtcbiAgICAnRGF0ZVJfTm9uZScsXG4gICAgJ0RhdGVSX1NwZWNpZmljUmFuZ2UnLFxuICAgICdEYXRlUl9Ub2RheScsXG4gICAgJ0RhdGVSX1RoaXNXZWVrJyxcbiAgICAnRGF0ZVJfVGhpc01vbnRoJyxcbiAgICAnRGF0ZVJfVGhpc1llYXInLFxuICAgICdEYXRlUl9EYXlzQmVmb3JlJyxcbiAgICAnRGF0ZVJfUHJldldlZWsnLFxuICAgICdEYXRlUl9QcmV2TW9udGgnLFxuICAgICdEYXRlUl9QcmV2WWVhcicsXG4gICAgJ0RhdGVSX0RheXNBZnRlcicsXG4gICAgJ0RhdGVSX05leHRXZWVrJyxcbiAgICAnRGF0ZVJfTmV4dE1vbnRoJyxcbiAgICAnRGF0ZVJfTmV4dFllYXInXG5dO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2Uge1xuICAgIFVpQ29tcG9uZW50OiB7XG4gICAgICAgIENvbXBvbmVudDogYm9vbGVhbjtcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XG4gICAgICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICAgICAgU2V0dGluZ3M6IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nO1xuICAgIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIEVuYWJsZVNlYXJjaDogYm9vbGVhbjtcbiAgICBEaXNhYmxlUmVzcG9uc2l2ZT86IGJvb2xlYW47XG4gICAgRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU/OiBib29sZWFuO1xuICAgIEhvcml6b250YWxHcm91cEJ5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dFNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUaXRsZT86IHN0cmluZztcbiAgICB4dHlwZTogc3RyaW5nO1xuICAgIFRleHRWaXNpYmxlPzogYm9vbGVhbjtcbiAgICBpdGVtczogTGF5b3V0U2V0dGluZ1tdO1xuICAgIElzUm9vdD86IGJvb2xlYW47XG4gICAgU2VsZWN0ZWRUYWJQYWdlTmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQWJicmV2YXRpb25EZXZpY2VTaXplID0gJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJztcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZU5vZGVPYmoge1xuICAgIGlzRXhwYW5kOiBib29sZWFuO1xuICAgIHZpc2liaWxpdHk6IGJvb2xlYW47XG4gICAgZXhwYW5kOiAoKSA9PiB2b2lkO1xuICAgIGNvbGxhcHNlOiAoKSA9PiB2b2lkO1xuICAgIERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY2hpbGRyZW46IFRyZWVOb2RlT2JqW107XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGxlYWY6IGJvb2xlYW47XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgbG9hZGluZz86IGJvb2xlYW47XG4gICAgaGFzT25lRGVwdGhMZXZlbD86IGJvb2xlYW47XG4gICAgcGFyZW50Tm9kZTogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGZpcnN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBsYXN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBwcmV2aW91c1NpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBuZXh0U2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGF0dHJpYnV0ZXM6IHsgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwgfTtcbiAgICBoYXNDaGlsZE5vZGVzOiAoKSA9PiBib29sZWFuO1xuICAgIG5vRHJvcDogYm9vbGVhbjtcbiAgICAkQ2hpbGRyZW4/OiBUcmVlTm9kZU9ialtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblJlc2l6ZWRBcmdzIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICB0aERvbTogSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XG59XG5leHBvcnQgdHlwZSBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyA9IHsgY29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47IHJlc2l6ZWQ6IEFycmF5PENvbHVtblJlc2l6ZWRBcmdzPiB9O1xuZXhwb3J0IHR5cGUgUmVsYXRpb25JdGVtVHlwZSA9IHtcbiAgICBJZDogc3RyaW5nO1xuICAgIFNvdXJjZVR5cGVEZWZJZDogc3RyaW5nO1xuICAgIE9iamVjdEluUmVsYXRpb25OYW1lOiBzdHJpbmc7XG4gICAgR3JvdXBDYXB0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVqcmF5T2xnbyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIE1vZHVsZTogc3RyaW5nO1xuICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgUGFyYW1ldGVycz86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgU2V0dGluZ3M/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRpbmdTdGF0ZSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdXBsb2FkaW5nOiBib29sZWFuO1xuICAgIHN0YXRlOiAnVXBsb2FkaW5nJyB8ICdFcnJvcicgfCAnQ29tcGxldGUnIHwgJ1N0YXJ0JztcbiAgICBwcm9ncmVzczogYW55O1xufVxuZXhwb3J0IHR5cGUgR3JvdXBCeUl0ZW0gPSB7IFtrZXk6IHN0cmluZ106IGFueTsgaWQ6IHN0cmluZzsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnlbXSB9O1xuZXhwb3J0IHR5cGUgTm90aWZ5T3B0aW9ucyA9IHtcbiAgICBTb3VuZDogYm9vbGVhbjsgLy8gU291bmQgb2Ygbm90aWZpY2F0aW9uLiBTZXQgdGhpcyBmYWxzZSB0byBkaXNhYmxlIHNvdW5kLlxuICAgIEltYWdlOiBzdHJpbmcgfCBudWxsOyAvLyBJbWFnZSBzb3VyY2Ugc3RyaW5nXG4gICAgVGl0bGU6IHN0cmluZyB8IG51bGw7IC8vIFRpdGxlIG9mIG5vdGlmaWNhdGlvbi4gSWYgeW91IGRvIG5vdCBpbmNsdWRlIHRoZSB0aXRsZSBpbiBvcHRpb25zIGl0IHdpbGwgYXV0b21hdGljYWxseSB0YWtlcyBpdHMgdmFsdWVcbiAgICBJY29uOiBib29sZWFuOyAvLyBJY29uIG9mIG5vdGlmaWNhdGlvbi4gTGVhdmUgYXMgaXMgZm9yIGRlZmF1bHQgaWNvbiBvciBzZXQgY3VzdG9tIHN0cmluZ1xuICAgIERlbGF5OiBudW1iZXI7IC8vIEhpZGUgbm90aWZpY2F0aW9uIGFmdGVyIHRoaXMgdGltZSAoaW4gbWlsaXNlY29uZHMpXG4gICAgQ2xvc2FibGU6IGJvb2xlYW47IC8vIE1ha2Ugbm90aWZpY2F0aW9ucyBjbG9zYWJsZVxuICAgIERlbGF5SW5kaWNhdG9yOiBib29sZWFuOyAvLyBTaG93IHRpbWVyIGluZGljYXRvclxuICAgIENsb3NlT25DbGljazogYm9vbGVhbjsgLy8gQ2xvc2Ugbm90aWZpY2F0aW9ucyBieSBjbGlja2luZyBvbiB0aGVtXG4gICAgSXNSdGw6IGJvb2xlYW47XG4gICAgUG9zaXRpb246IHN0cmluZyB8IG9iamVjdDsgLy8gQXZhaWxhYmxlIG9wdGlvbnM6IFwidG9wIGxlZnRcIiwgXCJ0b3AgcmlnaHRcIiwgXCJib3R0b20gbGVmdFwiLCBcImJvdHRvbSByaWdodFwiLCBcImNlbnRlciB0b3BcIiwgXCJjZW50ZXIgYm90dG9tXCJcbiAgICBTb3VuZFBhdGg6IHN0cmluZzsgLy8gVGhlIGZvbGRlciBwYXRoIHdoZXJlIHNvdW5kcyBhcmUgbG9jYXRlZFxuICAgIFNpemU6IHN0cmluZzsgLy8gbm9ybWFsLCBtaW5pLCBsYXJnZVxuICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiBib29sZWFuOyAvLyBDb250aW51ZSBkZWxheSB3aGVuIGJyb3dzZXIgdGFiIGlzIGluYWN0aXZlXG4gICAgV2lkdGg6IG51bWJlcjsgLy8gV2lkdGggb2Ygbm90aWZpY2F0aW9uIGJveFxuICAgIE1lc3NhZ2VIZWlnaHQ6IG51bWJlcjsgLy8gTm90aWZpY2F0aW9uIG1lc3NhZ2UgbWF4aW11bSBoZWlnaHQuXG4gICAgTm90aWZpY2F0aW9uSXRlbT86IE5vdGlmaWNhdGlvbkl0ZW07XG59O1xuZXhwb3J0IHR5cGUgU2hhcmVCdXR0b25zQ2hvaWNlRGVmID0ge1xuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XG4gICAgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY2hvaWNlTGlzdDogQ2hvaWNlRGVmW107XG4gICAgYWRkOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIENob2ljZURlZiA9IHtcbiAgICBBY3Rpdml0eURlZklkOiBzdHJpbmc7XG4gICAgQWN0aXZpdHlSdW5JZDogc3RyaW5nO1xuICAgIENob2ljZURlZklkOiBzdHJpbmc7XG4gICAgQ2hvaWNlTmFtZT86IHN0cmluZztcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIEljb24/OiBzdHJpbmc7XG4gICAgSGFzQmFyPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMgPSB7XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICByZXN1bHQ6IGFueTtcbiAgICBlcnJvcjogYW55O1xuICAgIGNob2ljZT86IENob2ljZURlZjtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QYXlsb2FkID0ge1xuICAgIG1zZzogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGltYWdlOiBzdHJpbmc7XG4gICAgbW87XG4gICAgdWlPcHRpb25zOiBOb3RpZnlPcHRpb25zO1xuICAgIG90aGVyT3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25BY3Rpb24gPSB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBJZDogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBTdGF0dXM6IHN0cmluZyB8IGFueTtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25JdGVtID0gTWV0YW9iamVjdERhdGFNb2RlbCAmIHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFVucmVhZDogYm9vbGVhbjtcbiAgICBDb250ZW50OiBzdHJpbmc7XG4gICAgJFNhZmVDb250ZW50PzogU2FmZUh0bWw7XG4gICAgUHJpb3JpdHk6IG51bWJlcjtcbiAgICBTdWJqZWN0OiBzdHJpbmc7XG4gICAgVGFnOiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIEltYWdlOiBzdHJpbmc7XG4gICAgQ3JlYXRpb25EYXRlOiBEYXRlO1xuICAgIENyZWF0aW9uRGF0ZSRDYXB0aW9uOiBzdHJpbmc7XG4gICAgVWlBY3Rpb25zPzogTm90aWZpY2F0aW9uQWN0aW9uW107XG4gICAgJENob2ljZURlZlN0YXR1cz86IFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIEV4Tm90aWZpY2F0aW9uUGF5bG9hZCA9IHtcbiAgICBsYW5nOiBzdHJpbmc7XG4gICAgaXNSdGw6IGJvb2xlYW47XG4gICAgbm90aWZpY2F0aW9uSXRlbTogTm90aWZpY2F0aW9uSXRlbTtcbn07XG5leHBvcnQgdHlwZSBGb3JtVmlzaWJpbGl0eVN0YXR1cyA9ICdQZW5kaW5nJyB8ICdWaXNpYmxlJztcbmV4cG9ydCB0eXBlIENhcnRhYmxlVGVtcGxhdGVLZXkgPSB7IFR5cGVEZWZJZDogc3RyaW5nOyBTZXR0aW5nc0lkOiBzdHJpbmcgfTtcbmV4cG9ydCBlbnVtIFNvcnREaXJlY3Rpb24ge1xuICAgIE5PTkUgPSAnbm9uZScsXG4gICAgQVNDID0gJ2FzYycsXG4gICAgREVTQyA9ICdkZXNjJ1xufVxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU29ydCB7XG4gICAgZmllbGQ6IHN0cmluZyB8IG51bGw7XG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuICAgIGlzTnVtYmVyPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSW5wdXQge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkdyb3VwIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICBzaG93QXNDb2x1bW46IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblBhZ2Uge1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgY3VycmVudFBhZ2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU3RhdGUge1xuICAgIHNvcnRCeTogQ29sbGVjdGlvblNvcnRbXTtcbiAgICBncm91cEJ5OiBDb2xsZWN0aW9uR3JvdXBbXTtcbiAgICBwYWdlOiBDb2xsZWN0aW9uUGFnZTtcbiAgICBzZWFyY2hJbnB1dDogU2VhcmNoSW5wdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVTdGF0ZSBleHRlbmRzIENvbGxlY3Rpb25TdGF0ZSB7XG4gICAgY29sdW1uczogc3RyaW5nW107XG4gICAgY29sdW1uS2V5czogc3RyaW5nW107XG4gICAgZnJlZXplVG9Db2x1bW46IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgZW51bSBTZWxlY3Rpb25Nb2RlIHtcbiAgICBTSU5HTEUgPSAnc2luZ2xlJyxcbiAgICBNVUxUSVBMRSA9ICdtdWx0aXBsZScsXG4gICAgTk9ORSA9ICdub25lJ1xufVxuZXhwb3J0IGludGVyZmFjZSBUeXBlVWx2TWFpbkN0cmxyIHtcbiAgICBBZGFwdGVyOiBhbnk7XG4gICAgU2V0dGluZzogYW55O1xuICAgIFN5c3RlbTogYW55O1xuICAgIFVsdlBhcmFtczogYW55O1xuICAgIEZlYXR1cmVzOiBhbnk7XG4gICAgVWlPdmVycmlkZTogYW55O1xuICAgIFNlYXJjaFBhbmVsQ3RybHI6IGFueTtcbiAgICBTZWxlY3Rpb25BZGFwdGVyOiBhbnk7XG4gICAgRGF0YUN0cmxyOiBUeXBlVWx2RGF0YUN0cmxyO1xuICAgIENvbW1hbmRCYXJDdHJscjogYW55O1xuICAgIFZpZXdlckFkYXB0ZXI6IGFueTtcbiAgICBQYXJlbnRNbzogYW55O1xuICAgIEZpZWxkQ3RybHI6IGFueTtcbiAgICBpc01hbmRhdG9yeTogYm9vbGVhbjsgLy8gcG9ydGFsIHVzZSBpdC4gY29tcG9uZW50IG1hZGFyZWtcbiAgICAvLy8gUmVsYXRlZCBmaWVsZCBvZiBVbHZcbiAgICAvLyBQYXJlbnRGaWVsZEluZm9DdHJscjogbnVsbCxcbiAgICBJc1ByZXZpZXdTb3VyY2VGaWVsZDogYm9vbGVhbjtcbiAgICAvLy8gSW5kaWNhdGUgd2hldGhlciB0aGlzIFVsdiBpcyB1c2VkIGFzIHJlbGF0aW9uIGZpZWxkIHRoYXQgaXMgUHJldmlld1NvdXJjZSBmb3IgYSBzdWJmb3JtXG4gICAgU2hvd09rQ2FuY2VsQnV0dG9uczogYm9vbGVhbjtcbiAgICBfaXNFbmFibGU6IGJvb2xlYW47XG4gICAgX2lzUmVhZE9ubHk6IGJvb2xlYW47XG4gICAgX2lzVmlzaWJsZTogYm9vbGVhbjtcbiAgICBGb290dGVyQnV0dG9uczogYm9vbGVhbjtcbiAgICBSZWZyZXNoUm93c0J5TW9zTm9TZWxlY3Rpb25DaGFuZ2UoXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbiAgICApOiB2b2lkO1xuICAgIFJlZnJlc2hSb3dzQnlNb3MoXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbiAgICApOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVVbHZEYXRhQ3RybHIge1xuICAgIEdldEVkaXRGb3JtUGFyYW1zKG1vLCBpc1JlYWRPbmx5LCBpc05ldywgaW5oZXJpdGFuY2VDaGlsZFR5cGVEZWYsIGRvUmV0dXJuKTogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbXBvbmVudFBhcmFtcyB7XG4gICAgZm9ybVNldHRpbmc/OiBGb3JtU2V0dGluZztcbiAgICBtb0lkOiBzdHJpbmc7XG4gICAgdHlwZURlZklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcmVwb3J0SWQ/OiBzdHJpbmc7XG4gICAgdmlld0lkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIFZpZXdOYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGluRGlhbG9nPzogYm9vbGVhbjtcbiAgICBpc1NpbXBsZT86IGJvb2xlYW47XG4gICAgbG9hZEFjdGl2aXR5Vmlldz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIEJydWxlQWN0aW9uTWVzc2FnZSB7XG4gICAgTWVzc2FnZVR5cGU6IG51bWJlcjtcbiAgICBFc2NhcGVDaGFyYWN0ZXJzOiBib29sZWFuO1xuICAgIE1lc3NhZ2VFeHByZXNzaW9uOiBzdHJpbmc7XG4gICAgTWVzc2FnZUV4cHJlc3Npb25IdG1sOiBTYWZlSHRtbDtcbn1cbmV4cG9ydCB0eXBlIENvbHVtblN1bW1hcnlUeXBlID0ge1xuICAgIG1vQXJyOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uO1xuICAgIHN1bW1hcnlGbjogKHZhbCkgPT4gdm9pZDtcbn07XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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LFFBSXhCO0FBaUNELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRGF0ZUluZm8gYXMgRGF0ZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1zZXJ2aWNlcyc7XG5cbmV4cG9ydCB0eXBlIFVsdlBhcmFtVHlwZSA9IHtcbiAgICBGbGFnczogeyBEYXRhOiBzdHJpbmc7IEV4dHJhOiBzdHJpbmc7IFNlYXJjaDogc3RyaW5nOyBWaWV3OiBzdHJpbmcgfTtcbiAgICBSZXBvcnROYW1lOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ/OiBzdHJpbmc7XG4gICAgVXNhZ2VFbnVtOiBzdHJpbmc7XG59O1xuZXhwb3J0IGNsYXNzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvbjogc3RyaW5nO1xuICAgIENvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkRGVmSWQ6IHN0cmluZztcbiAgICBDb250cm9sTmFtZTogc3RyaW5nO1xuICAgIFJlbGF0ZWRGaWVsZExpc3Q6IFtdO1xuICAgIEhpZGU6IGJvb2xlYW47XG4gICAgeHR5cGU6IHN0cmluZztcbiAgICBMYWJlbFBvc2l0aW9uOiBzdHJpbmc7XG4gICAgSXNNYW5kYXRvcnk6IGJvb2xlYW47XG4gICAgSXNWaXNpYmxlOiBib29sZWFuO1xuICAgIFNob3dMYWJlbCA9IHRydWU7XG4gICAgSXNSZWFkT25seTogYm9vbGVhbjtcbiAgICBJc0VuYWJsZWQ6IGJvb2xlYW47XG4gICAgSXNCb2xkOiBib29sZWFuO1xuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xuICAgIEpzb25FeHRyYVByb3A6IGFueSB8IG51bGw7XG4gICAgQ29tcG9uZW50OiBzdHJpbmc7XG4gICAgSW5mbzogQ29udHJvbEluZm9UeXBlcztcbiAgICBGaWVsZEljb246IHN0cmluZztcbiAgICBJc0x0cjogYm9vbGVhbjtcbiAgICBEaXNwbGF5VHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBGaWxlQXR0YWNobWVudEluZm8ge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBJZDogc3RyaW5nO1xuICAgIElzTmV3OiBib29sZWFuO1xuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcbiAgICBUeXBlOiBzdHJpbmc7XG4gICAgRmlsZU5hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgU3RyaW5nQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBNYXhMZW5ndGg6IG51bWJlcjtcbiAgICBNaW5MZW5ndGg6IG51bWJlcjtcbiAgICBSZWd1bGFyRXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIElzUGFzc3dvcmQ6IGJvb2xlYW47XG4gICAgSXNNdWx0aUxpbmU6IGJvb2xlYW47XG4gICAgTnVsbFRleHQ6IHN0cmluZztcbiAgICBBbGxvd2VkU3RyaW5nQ2hhcnM6IHN0cmluZztcbiAgICBPbmx5QWNjZXB0Q3VycmVudEN1bHR1cmU6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgUmljaFN0cmluZ0NvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIHtcbiAgICBJc0h0bWxWaWV3ZXI6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgTnVtYmVyQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xuICAgIE1heFZhbHVlOiBudW1iZXI7XG4gICAgRGVjaW1hbFByZWNpc2lvbjogbnVtYmVyO1xuICAgIFNob3dUaG91c2FuZFNlcGVyYXRvcjogYm9vbGVhbjtcbiAgICBOdW1iZXJUeXBlOiBzdHJpbmc7XG4gICAgQ3VycmVuY3lTeW1ib2w6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBGaWxlUGljdHVyZUluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBFeHQ6IHN0cmluZztcbiAgICBGaWxlSWQ6IHN0cmluZztcbiAgICBJc0RlbGV0ZWQ6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgRmlsZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgQ2FuRGVsZXRlOiBib29sZWFuO1xuICAgIENhblNhdmU6IGJvb2xlYW47XG4gICAgQ2FuVmlldzogYm9vbGVhbjtcbiAgICBJc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIE1heEZpbGVDb3VudDogbnVtYmVyO1xuICAgIE1heEZpbGVTaXplS2I6IG51bWJlcjtcbiAgICBPZmZpY2VPbmxpbmU6IGJvb2xlYW47XG4gICAgVmFsaWRFeHRlbnNpb25zOiBzdHJpbmc7XG4gICAgVmlld1R5cGU6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBDb21tYW5kQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBNZW51TmFtZTogc3RyaW5nO1xuICAgIERpc2FibGVXaGVuUmVhZG9ubHk6IGJvb2xlYW47XG4gICAgRGlzcGxheVR5cGU6IHN0cmluZztcbiAgICBEeW5hbWljQ29tbWFuZDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEljb25Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge31cbmV4cG9ydCBjbGFzcyBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgU2l6ZU1vZGU6IG51bWJlcjtcbiAgICBNYXhGaWxlU2l6ZUtiOiBudW1iZXI7XG4gICAgVmFsaWRFeHRlbnNpb25zOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgR2F1Z2VDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xuICAgIE1heFZhbHVlOiBudW1iZXI7XG4gICAgTWF4VmFsdWUyOiBudW1iZXI7XG4gICAgTWluVmFsdWU6IG51bWJlcjtcbiAgICBNaW5WYWx1ZTI6IG51bWJlcjtcbiAgICBWYWx1ZTogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgUmVsYXRpb25MaXN0VHlwZXMgPVxuICAgIHwgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbFxuICAgIHwgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IFJhYmV0ZWhBa3NlVGFraUxpc3RpQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgU2luZ2xlUmVsYXRpb25Db250cm9sSW5mb01vZGVsO1xuZXhwb3J0IGNsYXNzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xuICAgIFVsdlNldHRpbmc6IFJlcG9ydE1vZGVsO1xufVxuZXhwb3J0IGNsYXNzIEhpc3RvcnlDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgUmVsYXRpb25MaXN0Q29udHJvbEluZm9Nb2RlbCB7XG4gICAgSGFzRXh0ZXJuYWxQYXJhbWV0ZXI6IGJvb2xlYW47XG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFJhYmV0ZWhBa3NlVGFraUxpc3RpQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEF1dG9TYXZlO1xufVxuZXhwb3J0IGNsYXNzIFJlbGF0ZWRSZXBvcnRDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xuICAgIFBhcmFtTmFtZTE6IHN0cmluZztcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcbn1cbmV4cG9ydCBjbGFzcyBDb2RlRWRpdG9yQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBFeHRyYVRleHQ6IHN0cmluZztcbiAgICBTdWdnZXN0aW9uczogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIEVudW1Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgU2hvd0FzUmFkaW9CdXR0b246IGJvb2xlYW47XG4gICAgSWNvbkRpc3BsYXlUeXBlOiBzdHJpbmc7XG4gICAgRGF0YVNvdXJjZToge1xuICAgICAgICBSb3dzOiBSb3dEYXRhT3B0aW9uW107XG4gICAgfTtcbiAgICBFbXB0eVJvd0RhdGE6IFJvd0RhdGFPcHRpb247XG59XG5leHBvcnQgY2xhc3MgUm93RGF0YU9wdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBJc0VtcHR5OiBib29sZWFuO1xuICAgIHR4dDogc3RyaW5nO1xuICAgIHR4dF9zYWZlPzogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBDYWxlbmRhclR5cGU6IHN0cmluZztcbiAgICBEYXRlRm9ybWF0OiBzdHJpbmc7XG4gICAgU2hvd0RhdGUxOiBib29sZWFuO1xuICAgIFNob3dUaW1lMTogYm9vbGVhbjtcbiAgICBUaW1lRm9ybWF0OiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgQm9vbENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRmFsc2VDYXB0aW9uOiBzdHJpbmc7XG4gICAgVHJ1ZUNhcHRpb246IHN0cmluZztcbiAgICBUcnVlSWNvbjogc3RyaW5nO1xuICAgIFZpZXdUeXBlOiBzdHJpbmc7XG4gICAgRmFsc2VJY29uOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcbiAgICBJbm5lckN0cmxyOiBDb250cm9sSW5mb1R5cGVzO1xuICAgIEV4ZWN1dGFpb25UaW1lOiBzdHJpbmc7XG4gICAgRWRpdFR5cGU6IHN0cmluZztcbiAgICBEb250U2hvd1JlY2FsY3VsYXRlQnV0dG9uOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFN1YmZvcm1Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIFR5cGVEZWZJZDogYW55O1xuICAgIFR5cGVEZWZJY29uOiBzdHJpbmc7XG4gICAgSXNDb21wb3NlZFJlbGF0aW9uOiBzdHJpbmc7XG4gICAgRHJvcERvd25SZXBvcnRJZDogc3RyaW5nO1xuICAgIFR5cGVWaWV3SWQ6IHN0cmluZztcbiAgICBGb3JtUGFuZWxTZXR0aW5nOiBGb3JtU2V0dGluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlSW5mbyB7XG4gICAgZmlsZUlkOiBzdHJpbmc7XG4gICAgZmlsZVVybDogc3RyaW5nO1xuICAgIHZpZXdJbkJyb3dzZXI6IGJvb2xlYW47XG4gICAgY29udmVydFRvOiBzdHJpbmc7XG4gICAgaXNPZmZpY2VPbmxpbmU6IGJvb2xlYW47XG4gICAgZm9yT2N4OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvUmVzdWx0IHtcbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICBjb250ZW50VHlwZTogc3RyaW5nO1xuICAgIHN1Y2NlZWQ6IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgTGluZWFyTGlzdENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XG4gICAgRGVmYXVsdEZpZWxkOiBzdHJpbmc7XG4gICAgRXh0cmFKc29uUHJvcEZpZWxkOiBzdHJpbmc7XG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xuICAgIElzR2VuZXJhbEluZm86IGJvb2xlYW47XG4gICAgSXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBSZWxhdGlvbjogTGlzdFJlbGF0aW9uTW9kZWw7XG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xuICAgIFJvd0ljb246IHN0cmluZztcbiAgICBUYXJnZXRUeXBlRGVmSWQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBMaXN0UmVsYXRpb25Nb2RlbCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIENoaWxkRmRJZDogc3RyaW5nO1xuICAgIENoaWxkRmROYW1lOiBzdHJpbmc7XG4gICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcbiAgICBQYXJlbnRNb0lkOiBzdHJpbmc7XG4gICAgUmVsYXRpb25UeXBlOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgU2luZ2xlUmVsYXRpb25Db250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XG4gICAgRHJvcERvd25SZXBvcnRJZDogc3RyaW5nO1xuICAgIEZpbGxCZWZvcmVEcm9wRG93bjogYm9vbGVhbjtcbiAgICBIaWRlQ29tYm86IGJvb2xlYW47XG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xuICAgIFBhc3NQYXJlbnRGb3JtOiBib29sZWFuO1xuICAgIFNob3dOZXdCdXR0b246IGJvb2xlYW47XG4gICAgU2hvd09rQ2FuY2VsOiBib29sZWFuO1xuICAgIFZpZXdSZWxhdGVkRm9ybVR5cGU6IHN0cmluZztcbiAgICBUYXJnZXRUeXBlRGVmSWQ6IHN0cmluZztcbiAgICBEYXRhU291cmNlOiB7XG4gICAgICAgIFJvd3M6IFJvd0RhdGFPcHRpb25bXTtcbiAgICB9O1xuICAgIFByZXZpZXdGaWVsZENhcHRpb246IHN0cmluZztcbiAgICBQcmV2aWV3RmllbGRJZDogc3RyaW5nO1xuICAgIFByZXZpZXdGaWVsZE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29udHJvbEluZm9UeXBlcyA9XG4gICAgfCBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQ2FsY3VsYXRlQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgQm9vbENvbnRyb2xJbmZvTW9kZWxcbiAgICB8IEVudW1Db250cm9sSW5mb01vZGVsXG4gICAgfCBJY29uQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgRmlsZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IERhdGVUaW1lQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgTnVtYmVyQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgU3RyaW5nQ29udHJvbEluZm9Nb2RlbFxuICAgIHwgUGljdHVyZUZpbGVDb250cm9sSW5mb01vZGVsXG4gICAgfCBHYXVnZUNvbnRyb2xJbmZvTW9kZWxcbiAgICB8IENvbW1hbmRDb250cm9sSW5mb01vZGVsXG4gICAgfCBDb2RlRWRpdG9yQ29udHJvbEluZm9Nb2RlbDtcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmlld1NldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBMYXlvdXQ5NDogYW55O1xuICAgIENvbnRyb2xJbmZvOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbFtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtU2V0dGluZyB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIERhdGE6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICB9O1xuICAgIFZpZXc6IEZvcm1WaWV3U2V0dGluZztcbn1cblxuZXhwb3J0IGNsYXNzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAkRmllbGREaWN0PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICAkUmVwb3J0SWQ/OiBzdHJpbmc7XG4gICAgJFR5cGU/OiBzdHJpbmc7XG4gICAgJFN0eWxlSW5kZXg/OiBudW1iZXJbXTtcbiAgICAkQ2FwdGlvbjogc3RyaW5nO1xuICAgICRJY29uPzogc3RyaW5nO1xuICAgICRTdGF0ZT86IHN0cmluZztcbiAgICAkVHlwZURlZklkPzogc3RyaW5nO1xuICAgICRUeXBlRGVmTmFtZT86IHN0cmluZztcbiAgICAkQ2hpbGRyZW4/OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgSW5oZXJpdGFuY2U/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEluaGVyaXRhbmNlSW5mbz86IHtcbiAgICAgICAgQ2hpbGRGaWVsZE5hbWU6IHN0cmluZztcbiAgICAgICAgUGFyZW50RmllbGROYW1lOiBzdHJpbmc7XG4gICAgfTtcbiAgICBJZDogc3RyaW5nO1xufVxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgQ2FsZW5kYXJNZXRhb2JqZWN0RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgJENvbG9yOiBzdHJpbmc7XG4gICAgJE1vbWVudFN0YXJ0RGF0ZTogc3RyaW5nO1xuICAgICRNb21lbnRFbmREYXRlOiBzdHJpbmc7XG4gICAgJFN0YXJ0VGltZXM6IHN0cmluZztcbiAgICAkRW5kVGltZXM6IHN0cmluZztcbiAgICAkVGl0bGU6IHN0cmluZztcbiAgICAkTm90ZXM6IHN0cmluZztcbiAgICAkU3RhcnREYXRlSW5mbz86IERhdGVJbmZvU2VydmljZTtcbiAgICAkRW5kRGF0ZUluZm8/OiBEYXRlSW5mb1NlcnZpY2U7XG59XG5cbmV4cG9ydCBjbGFzcyBNb0ZvclJlcG9ydE1vZGVsIHtcbiAgICAkVHlwZT86IHN0cmluZztcbiAgICBUeXBlRGVmSWQ6IHN0cmluZztcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xuICAgIEljb24/OiBzdHJpbmc7XG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TWV0YW9iamVjdERhdGFNb2RlbD47XG4gICAgRGVsZXRlZExpc3Q6IEFycmF5PHsgSWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfT47XG4gICAgQWRkZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xuICAgIFBhZ2luZzogUGFnaW5nU2V0dGluZztcbiAgICBSZWxhdGlvbj86IHtcbiAgICAgICAgUmVsYXRpb25UeXBlOiBzdHJpbmc7XG4gICAgICAgIFBhcmVudE1vSWQ6IHN0cmluZztcbiAgICAgICAgUGFyZW50RmRJZDogc3RyaW5nO1xuICAgICAgICBDaGlsZEZkSWQ6IHN0cmluZztcbiAgICAgICAgUGFyZW50RmROYW1lOiBzdHJpbmc7XG4gICAgICAgIENoaWxkRmROYW1lOiBzdHJpbmc7XG4gICAgICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XG4gICAgICAgIElzQXV0b1NhdmU6IGJvb2xlYW47XG4gICAgICAgIElzQXV0b1NhdmVfUmVsb2FkUGFyZW50Rm9ybXM6IGJvb2xlYW47XG4gICAgICAgIElzQXV0b1NhdmVfUmVsb2FkUm9vdFBhcmVudExpc3Q6IGJvb2xlYW47XG4gICAgfTtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5EZWxldGVkTGlzdCA9IHRoaXMuQWRkZWRMaXN0ID0gdGhpcy5Nb0RhdGFMaXN0ID0gW107XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFJlcG9ydEJhc2VJbmZvIHtcbiAgICBJZDogc3RyaW5nO1xuICAgIENhcHRpb246IHN0cmluZztcbiAgICBGb2xkZXJJZDogc3RyaW5nO1xuICAgIEljb25Vcmw6IHN0cmluZztcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgUmVwb3J0SWQ6IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRFeHRyYUluZm8gZXh0ZW5kcyBSZXBvcnRCYXNlSW5mbyB7XG4gICAgVHlwZURlZklkOiBzdHJpbmc7XG4gICAgVHlwZURlZkNhcHRpb246IHN0cmluZztcbiAgICBSZXBvcnRUeXBlOiBzdHJpbmc7XG4gICAgSGlkZVRvb2xiYXI6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbCBleHRlbmRzIExpc3RSZWxhdGlvbk1vZGVsIHtcbiAgICBQYXJlbnRGZElkOiBzdHJpbmc7XG4gICAgUGFzc1BhcmVudE1vRmllbGQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gRmllbGRJbmZvVHlwZUVudW0ge1xuICAgIEludEluZm8gPSAwLFxuICAgIFN0cmluZ0luZm8gPSAyLFxuICAgIERhdGVJbmZvID0gMyxcbiAgICBCb29sSW5mbyA9IDUsXG4gICAgRW51bUluZm8gPSA2LFxuICAgIFVzZXJJbmZvID0gNyxcbiAgICBDYXRlZ29yeUluZm8gPSA4LFxuICAgIE1ldGFPYmplY3RJbmZvID0gOSxcbiAgICBDb21tYW5kSW5mbyA9IDEwLCAvLyAweDAwMDAwMDBBXG4gICAgUGljdHVyZXNJbmZvID0gMTEsIC8vIDB4MDAwMDAwMEJcbiAgICBSZWxhdGlvbkluZm8gPSAxMiwgLy8gMHgwMDAwMDAwQ1xuICAgIEhpc3RvcnlJbmZvID0gMTMsIC8vIDB4MDAwMDAwMERcbiAgICBSZWxhdGlvbkluZm9SZXZlcnNlX0Frc0xpc3RpID0gMTQsIC8vIDB4MDAwMDAwMEVcbiAgICBDcmVhdG9yVXNlckluZm8gPSAxNSwgLy8gMHgwMDAwMDAwRlxuICAgIENyZWF0aW9uRGF0ZUluZm8gPSAxNiwgLy8gMHgwMDAwMDAxMFxuICAgIExhc3RVcGRhdGVEYXRlSW5mbyA9IDE3LCAvLyAweDAwMDAwMDExXG4gICAgUmVtaW5kZXJJbmZvID0gMTgsIC8vIDB4MDAwMDAwMTJcbiAgICBSaWNoU3RyaW5nSW5mbyA9IDE5LCAvLyAweDAwMDAwMDEzXG4gICAgQ29udmVydENvbW1hbmRJbmZvID0gMjAsIC8vIDB4MDAwMDAwMTRcbiAgICBSZWxhdGlvbkluZm9TaW5nbGVSZXZlcnNlX0Frc1Rha2lMaXN0aSA9IDIxLCAvLyAweDAwMDAwMDE1XG4gICAgRGlhbENvbW1hbmRJbmZvID0gMjIsIC8vIDB4MDAwMDAwMTZcbiAgICBGaW5kQ29udGFjdENvbW1hbmRJbmZvID0gMjMsIC8vIDB4MDAwMDAwMTdcbiAgICBTZXF1ZW5jZUNvbW1hbmRJbmZvID0gMjQsIC8vIDB4MDAwMDAwMThcbiAgICBDdXJyZW5jeUluZm8gPSAyNSwgLy8gMHgwMDAwMDAxOVxuICAgIFNpbmdsZVBpY3R1cmVJbmZvID0gMjYsIC8vIDB4MDAwMDAwMUFcbiAgICBXb3JkUmVwb3J0Q29tbWFuZEluZm8gPSAyNywgLy8gMHgwMDAwMDAxQlxuICAgIEhpZXJhcmNoaWNhbEluZm8gPSAyOCwgLy8gMHgwMDAwMDAxQ1xuICAgIFRpbWVTcGFuSW5mbyA9IDI5LCAvLyAweDAwMDAwMDFEXG4gICAgUmVwb3J0SW5mbyA9IDMwLCAvLyAweDAwMDAwMDFFXG4gICAgRmlsZUluZm8gPSAzMSwgLy8gMHgwMDAwMDAxRlxuICAgIFdvcmRGaWxlSW5mbyA9IDMyLCAvLyAweDAwMDAwMDIwXG4gICAgUGljdHVyZUZpbGVJbmZvID0gMzMsIC8vIDB4MDAwMDAwMjFcbiAgICBHYXVnZUluZm8gPSAzNCwgLy8gMHgwMDAwMDAyMlxuICAgIENvZGVJbmZvID0gMzUsIC8vIDB4MDAwMDAwMjNcbiAgICBXb3JrQ2VudGVySW5mbyA9IDM2LCAvLyAweDAwMDAwMDI0XG4gICAgSXNEZWxldGVkSW5mbyA9IDM3LCAvLyAweDAwMDAwMDI1XG4gICAgUm93TnVtYmVySW5mbyA9IDM4LCAvLyAweDAwMDAwMDI2XG4gICAgQmluYXJ5SW5mbyA9IDM5LCAvLyAweDAwMDAwMDI3XG4gICAgUmV2ZXJzZU1ldGFPYmplY3RJbmZvX0Frc1Rha2lUYWtpID0gNDAsIC8vIDB4MDAwMDAwMjhcbiAgICBDb2xvckluZm8gPSA0MSwgLy8gMHgwMDAwMDAyOVxuICAgIEljb25JbmZvID0gNDIsIC8vIDB4MDAwMDAwMkFcbiAgICBSZWZyZXNoRmllbGRDb21tYW5kSW5mbyA9IDQzLCAvLyAweDAwMDAwMDJCXG4gICAgUmVmZXJlbmNlRmllbGRJbmZvID0gNDQsIC8vIDB4MDAwMDAwMkNcbiAgICBTZWFyY2hDb21tYW5kSW5mbyA9IDQ1LCAvLyAweDAwMDAwMDJEXG4gICAgT3JkZXJJbmZvID0gNDYgLy8gMHgwMDAwMDAyRVxufVxuZXhwb3J0IGludGVyZmFjZSBDbGFzc05hbWVzTW9kZWwge1xuICAgIENvbW1hbmRCYXJDbGFzczogc3RyaW5nO1xuICAgIERhdGFDbGFzczogc3RyaW5nO1xuICAgIFNlbGVjdGlvbkNsYXNzOiBzdHJpbmc7XG4gICAgVmlld2VyQ2xhc3M6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFNb2RlbCB7XG4gICAgQ3VzdG9tQ29tbWFuZHM/OiBDdXN0b21Db21tYW5kW107XG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzPzogRGVmYXVsdENvbW1hbmRzQWNjZXNzO1xuICAgIFBhcmVudFVsdkNvbmZpZz86IGFueTtcbiAgICBSZWxhdGlvbj86IE1ldGFvYmplY3RSZWxhdGlvbk1vZGVsO1xuICAgIFJlcG9ydD86IFJlcG9ydEV4dHJhSW5mbztcbiAgICBFeHRyYUpzb25Qcm9wUmVwb3J0PzogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBDbGFzc05hbWVzOiBDbGFzc05hbWVzTW9kZWw7XG4gICAgRXh0cmE6IEV4dHJhTW9kZWw7XG4gICAgVmlldzogVmlld1R5cGVzO1xuICAgIFNlYXJjaFBhbmVsOiBhbnk7XG4gICAgRGVmYXVsdEl0ZW1Db21wb25lbnQgPSAnUmVwb3J0RGVmYXVsdEl0ZW1Db21wb25lbnQnO1xufVxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0Q29tbWFuZHNBY2Nlc3Mge1xuICAgIEFkZDogYm9vbGVhbjtcbiAgICBBZGRUb0xpc3Q6IGJvb2xlYW47XG4gICAgRGVsZXRlOiBib29sZWFuO1xuICAgIEVkaXQ6IGJvb2xlYW47XG4gICAgRXhwb3J0OiBib29sZWFuO1xuICAgIFByaW50OiBib29sZWFuO1xuICAgIFJlZnJlc2g6IGJvb2xlYW47XG4gICAgUmVtb3ZlRnJvbUxpc3Q6IGJvb2xlYW47XG4gICAgVmlldzogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBDdXN0b21Db21tYW5kIHtcbiAgICBEYXRhOiBhbnk7XG4gICAgRGlzYWJsZVdoZW5SZWFkb25seTogYm9vbGVhbjtcbiAgICBIaWRlRGlzYWJsZTogYm9vbGVhbjtcbiAgICBJY29uVXJsOiBzdHJpbmc7XG4gICAgSXNMYXJnZTogYm9vbGVhbjtcbiAgICBNeXR5cGU6IHN0cmluZztcbiAgICBPcmRlcjogbnVtYmVyO1xuICAgIFNob3dPbkNvbnRleHQ6IGJvb2xlYW47XG4gICAgU2hvd09uVG9vbGJhcjogYm9vbGVhbjtcbiAgICBUZXh0OiBzdHJpbmc7XG4gICAgVXNlQWx3YXlzOiBib29sZWFuO1xuICAgIFVzZUZvck11bHRpOiBib29sZWFuO1xuICAgIFVzZUZvclNpbmdsZTogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgRGF0YTogTW9Gb3JSZXBvcnRNb2RlbDtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgUmVwb3J0TGlzdE1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcbiAgICBWaWV3OiBHcmlkVmlldztcbn1cbmV4cG9ydCBjbGFzcyBSZXBvcnRGb3JtTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xuICAgIFZpZXc6IEZvcm1WaWV3O1xufVxuZXhwb3J0IGludGVyZmFjZSBUcmVlVmlldyB7XG4gICAgQ29uZGl0aW9uYWxGb3JtYXRzOiBbXTtcbiAgICBQYXJlbnRJZERiTmFtZTogc3RyaW5nO1xuICAgIFNob3dTZWxlY3Rpb25DaGVja3M6IGJvb2xlYW47XG4gICAgVHJlZUF1dG9PcGVuTGV2ZWxzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFZpZXcge1xuICAgIEFsbG93R3JpZENvbHVtblNvcnQ6IGJvb2xlYW47XG4gICAgQXV0b0lubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQ29sdW1uUmVxdWVzdEVudW06IHN0cmluZztcbiAgICBDb2x1bW5zOiBBcnJheTxSZXBvcnRWaWV3Q29sdW1uPjtcbiAgICBDb25kaXRpb25hbEZvcm1hdHM6IFtdO1xuICAgIERpc2FibGVSb3dSZWxvYWQ6IGJvb2xlYW47XG4gICAgR3JpZFNldHRpbmc6IEdyaWRTZXR0aW5nO1xuICAgIEdyaWRfRnJlZUNvbHVtblNpemluZzogYm9vbGVhbjtcbiAgICBHcmlkX0dyaWRMaW5lczogc3RyaW5nO1xuICAgIEdyaWRfSGlkZUhlYWRlcjogYm9vbGVhbjtcbiAgICBHcmlkX1Nob3dSb3dOdW1iZXI6IGJvb2xlYW47XG4gICAgSGFzQ29uZGl0aW9uYWxGb3JtYXQ6IGJvb2xlYW47XG4gICAgSGFzU3VtbWFyeVJvdzogYm9vbGVhbjtcbiAgICBIaWRlSWNvbjogYm9vbGVhbjtcbiAgICBJc0NoZWNrTGlzdDogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJWaWV3IHtcbiAgICBDYWxlbmRhckZpZWxkczogQ2FsZW5kYXJGaWVsZHM7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WaWV3IHtcbiAgICBGb3JtUGFuZWxTZXR0aW5nOiBhbnk7XG59XG5leHBvcnQgdHlwZSBWaWV3VHlwZXMgPSBHcmlkVmlldyB8IENhbGVuZGFyVmlldyB8IFRyZWVWaWV3IHwgRm9ybVZpZXc7XG5cbmV4cG9ydCB0eXBlIFJlcG9ydE1vZGVsVHlwZXMgPSBSZXBvcnRMaXN0TW9kZWwgfCBSZXBvcnRDYWxlbmRhck1vZGVsIHwgUmVwb3J0Rm9ybU1vZGVsIHwgUmVwb3J0VHJlZU1vZGVsO1xuXG5leHBvcnQgY2xhc3MgUmVwb3J0Q2FsZW5kYXJNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogQ2FsZW5kYXJWaWV3O1xufVxuZXhwb3J0IGNsYXNzIFJlcG9ydFRyZWVNb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XG4gICAgVmlldzogVHJlZVZpZXc7XG59XG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRmllbGRzIHtcbiAgICBFbmREYXRlOiBzdHJpbmc7XG4gICAgTm90ZXM6IHN0cmluZztcbiAgICBTdGFydERhdGU6IHN0cmluZztcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIENvbG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3Q29sdW1uIHtcbiAgICBBbGlhczogc3RyaW5nO1xuICAgIENhcHRpb246IHN0cmluZztcbiAgICBGaWVsZERlZklkOiBzdHJpbmc7XG4gICAgRmllbGRUeXBlSWQ6IG51bWJlcjtcbiAgICBGaWVsZFR5cGU6IHN0cmluZztcbiAgICBIYXNTdW1tYXJ5OiBib29sZWFuO1xuICAgIEhpZGRlbjogYm9vbGVhbjtcbiAgICBJc0x0cjogYm9vbGVhbjtcbiAgICBJc1ByZXZpZXc6IGJvb2xlYW47XG4gICAgTWV0YUZpZWxkVHlwZUlkOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFdpZHRoOiBudW1iZXI7XG4gICAgVGFnPzogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBPbmx5SW1hZ2U/OiBib29sZWFuO1xuICAgIEV4dHJhPzogYW55O1xuICAgICRDb250ZW50V2lkdGg/OiBzdHJpbmc7XG4gICAgJFdpZHRoPzogc3RyaW5nO1xuICAgICRDb2x1bW5XaWR0aE51bT86IG51bWJlcjtcbiAgICAkQ29sdW1uV2lkdGg/OiBzdHJpbmc7XG4gICAgJEZpdENvbnRhaW5lcldpZHRoPzogc3RyaW5nO1xuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xuICAgICRDU1NDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgJEN1c3RvbUNvbXBvbmVudD86IEVqcmF5T2xnbztcbiAgICAkVGV4dFdpZHRoPzogbnVtYmVyO1xuICAgICRJc0ltYWdlT3JpY29uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEdyaWRTZXR0aW5nIHtcbiAgICBDb2xTZXR0aW5nTGlzdDogQXJyYXk8Q29sU2V0dGluZz47XG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XG4gICAgQXV0b1NpemVDb2x1bW5zOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIElzSGlkZGVuOiBib29sZWFuO1xufVxuZXhwb3J0IGNsYXNzIFNvcnRTZXR0aW5nIHtcbiAgICBOYW1lOiBzdHJpbmc7XG4gICAgU29ydERpcmVjdGlvbjogc3RyaW5nO1xuICAgIElzR3JvdXBlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlcG9ydEZpZWxkIHtcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBjb2x1bW4uTmFtZTtcbiAgICAgICAgdGhpcy5jYXB0aW9uID0gY29sdW1uLkNhcHRpb247XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uRGF0ZUluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZSArICckQ2FwdGlvbiddO1xuICAgICAgICB9XG4gICAgICAgIGlmIChOdW1iZXIoY29sdW1uLkZpZWxkVHlwZUlkKSA9PT0gRmllbGRJbmZvVHlwZUVudW0uSWNvbkluZm8pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV0uVXJsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvZ2luUmVzdWx0IHtcbiAgICBkYXRhOiB7IHN0aDogc3RyaW5nIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFNldHRpbmdzRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgUGxhY2VIb2xkZXJzPzogUGxhY2VIb2xkZXJEYXRhTW9kZWxbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50RGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlSG9sZGVyRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgSXNQYWdlOiBib29sZWFuO1xuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBQbGFjZUhvbGRlcjogUGxhY2VIb2xkZXJEYXRhTW9kZWw7XG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VMaXN0UmVwb3J0TW9kZWwgZXh0ZW5kcyBNb0ZvclJlcG9ydE1vZGVsIHtcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZURhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xuICAgIE1vZHVsZUxpc3Q6IE1vZHVsZUxpc3RSZXBvcnRNb2RlbDtcbiAgICBDaGlsZFBhZ2VMaXN0OiBQYWdlTGlzdFJlcG9ydE1vZGVsO1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgUm91dGU6IHN0cmluZztcbiAgICBJc0RlZmF1bHRSb3V0ZTogc3RyaW5nO1xuICAgIElzTG9naW5Sb3V0ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRhbERhdGFNb2RlbCBleHRlbmRzIFBhZ2VEYXRhTW9kZWwge1xuICAgIElzQWN0aXZlOiBib29sZWFuO1xuICAgIElzUHdhOiBib29sZWFuO1xuICAgIFBvcnRhbFNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xufVxuZXhwb3J0IGludGVyZmFjZSBHcm91cFZpc2liaWxpdHkge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJMYXlvdXQge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFN1YnRpdGxlOiBzdHJpbmc7XG4gICAgQXZhdGFyOiBhbnk7XG4gICAgRmFjZXRMaXN0OiB7IE1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtIHtcbiAgICBpY29uOiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGl0ZW1JZDogc3RyaW5nO1xuICAgIERhdGE6IGFueTtcbiAgICBDb21tYW5kOiBhbnk7XG4gICAgaGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBJc0J1aWx0aW4/OiBib29sZWFuO1xuICAgIG1lbnU/OiB7IGl0ZW1zOiBNZW51SXRlbVtdIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luZ1NldHRpbmcge1xuICAgIEVuZEluZGV4OiBudW1iZXI7XG4gICAgSGFzUGFnaW5nOiBib29sZWFuO1xuICAgIFBhZ2U6IG51bWJlcjtcbiAgICBQYWdlU2l6ZTogbnVtYmVyO1xuICAgIFJvd0NvdW50OiBudW1iZXI7XG4gICAgU3RhcnRJbmRleDogbnVtYmVyO1xuICAgIFRvdGFsUGFnZXM6IG51bWJlcjtcbiAgICBUb3RhbFJvd3M6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mb1R5cGUge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBIaWRkZW46IGJvb2xlYW47XG4gICAgQ2FwdGlvbjogc3RyaW5nO1xuICAgIElzTWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgICBXaWR0aDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQYW5lbFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBSZXBvcnRJZDogc3RyaW5nO1xuICAgIElzRGVmYXVsdDogYm9vbGVhbjtcbiAgICBJc1B1YmxpYzogYm9vbGVhbjtcbiAgICBBcHBseUF1dG9tYXRpY2FsbHk6IGJvb2xlYW47XG4gICAgU2VhcmNoTW8/OiBzdHJpbmc7XG4gICAgRmllbGRzU2V0dGluZz86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGV2aWNlU2l6ZSA9ICdkZXNrdG9wJyB8ICdtb2JpbGUnIHwgJ3RhYmxldCc7XG5leHBvcnQgY29uc3QgRGF0ZVJhbmdlcyA9IFtcbiAgICAnRGF0ZVJfTm9uZScsXG4gICAgJ0RhdGVSX1NwZWNpZmljUmFuZ2UnLFxuICAgICdEYXRlUl9Ub2RheScsXG4gICAgJ0RhdGVSX1RoaXNXZWVrJyxcbiAgICAnRGF0ZVJfVGhpc01vbnRoJyxcbiAgICAnRGF0ZVJfVGhpc1llYXInLFxuICAgICdEYXRlUl9EYXlzQmVmb3JlJyxcbiAgICAnRGF0ZVJfUHJldldlZWsnLFxuICAgICdEYXRlUl9QcmV2TW9udGgnLFxuICAgICdEYXRlUl9QcmV2WWVhcicsXG4gICAgJ0RhdGVSX0RheXNBZnRlcicsXG4gICAgJ0RhdGVSX05leHRXZWVrJyxcbiAgICAnRGF0ZVJfTmV4dE1vbnRoJyxcbiAgICAnRGF0ZVJfTmV4dFllYXInXG5dO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2Uge1xuICAgIFVpQ29tcG9uZW50OiB7XG4gICAgICAgIENvbXBvbmVudDogYm9vbGVhbjtcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XG4gICAgICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICAgICAgU2V0dGluZ3M6IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nO1xuICAgIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBJc0RlZmF1bHQ6IGJvb2xlYW47XG4gICAgSGlkZGVuOiBib29sZWFuO1xuICAgIEVuYWJsZVNlYXJjaDogYm9vbGVhbjtcbiAgICBEaXNhYmxlUmVzcG9uc2l2ZT86IGJvb2xlYW47XG4gICAgRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU/OiBib29sZWFuO1xuICAgIEhvcml6b250YWxHcm91cEJ5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dFNldHRpbmcge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICBUaXRsZT86IHN0cmluZztcbiAgICB4dHlwZTogc3RyaW5nO1xuICAgIFRleHRWaXNpYmxlPzogYm9vbGVhbjtcbiAgICBpdGVtczogTGF5b3V0U2V0dGluZ1tdO1xuICAgIElzUm9vdD86IGJvb2xlYW47XG4gICAgU2VsZWN0ZWRUYWJQYWdlTmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgQWJicmV2YXRpb25EZXZpY2VTaXplID0gJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJztcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZU5vZGVPYmoge1xuICAgIGlzRXhwYW5kOiBib29sZWFuO1xuICAgIHZpc2liaWxpdHk6IGJvb2xlYW47XG4gICAgZXhwYW5kOiAoKSA9PiB2b2lkO1xuICAgIGNvbGxhcHNlOiAoKSA9PiB2b2lkO1xuICAgIERhdGE6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY2hpbGRyZW46IFRyZWVOb2RlT2JqW107XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGxlYWY6IGJvb2xlYW47XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgbG9hZGluZz86IGJvb2xlYW47XG4gICAgaGFzT25lRGVwdGhMZXZlbD86IGJvb2xlYW47XG4gICAgcGFyZW50Tm9kZTogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGZpcnN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBsYXN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBwcmV2aW91c1NpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcbiAgICBuZXh0U2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xuICAgIGF0dHJpYnV0ZXM6IHsgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwgfTtcbiAgICBoYXNDaGlsZE5vZGVzOiAoKSA9PiBib29sZWFuO1xuICAgIG5vRHJvcDogYm9vbGVhbjtcbiAgICAkQ2hpbGRyZW4/OiBUcmVlTm9kZU9ialtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblJlc2l6ZWRBcmdzIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICB0aERvbTogSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XG59XG5leHBvcnQgdHlwZSBjb2x1bW5zUmVzaXplZEV2ZW50QXJncyA9IHsgY29sdW1uczogQXJyYXk8UmVwb3J0Vmlld0NvbHVtbj47IHJlc2l6ZWQ6IEFycmF5PENvbHVtblJlc2l6ZWRBcmdzPiB9O1xuZXhwb3J0IHR5cGUgUmVsYXRpb25JdGVtVHlwZSA9IHtcbiAgICBJZDogc3RyaW5nO1xuICAgIFNvdXJjZVR5cGVEZWZJZDogc3RyaW5nO1xuICAgIE9iamVjdEluUmVsYXRpb25OYW1lOiBzdHJpbmc7XG4gICAgR3JvdXBDYXB0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVqcmF5T2xnbyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIE1vZHVsZTogc3RyaW5nO1xuICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFNlbGVjdG9yOiBzdHJpbmc7XG4gICAgUGFyYW1ldGVycz86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgU2V0dGluZ3M/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRpbmdTdGF0ZSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdXBsb2FkaW5nOiBib29sZWFuO1xuICAgIHN0YXRlOiAnVXBsb2FkaW5nJyB8ICdFcnJvcicgfCAnQ29tcGxldGUnIHwgJ1N0YXJ0JztcbiAgICBwcm9ncmVzczogYW55O1xufVxuZXhwb3J0IHR5cGUgR3JvdXBCeUl0ZW0gPSB7IFtrZXk6IHN0cmluZ106IGFueTsgaWQ6IHN0cmluZzsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnlbXSB9O1xuZXhwb3J0IHR5cGUgTm90aWZ5T3B0aW9ucyA9IHtcbiAgICBTb3VuZDogYm9vbGVhbjsgLy8gU291bmQgb2Ygbm90aWZpY2F0aW9uLiBTZXQgdGhpcyBmYWxzZSB0byBkaXNhYmxlIHNvdW5kLlxuICAgIEltYWdlOiBzdHJpbmcgfCBudWxsOyAvLyBJbWFnZSBzb3VyY2Ugc3RyaW5nXG4gICAgVGl0bGU6IHN0cmluZyB8IG51bGw7IC8vIFRpdGxlIG9mIG5vdGlmaWNhdGlvbi4gSWYgeW91IGRvIG5vdCBpbmNsdWRlIHRoZSB0aXRsZSBpbiBvcHRpb25zIGl0IHdpbGwgYXV0b21hdGljYWxseSB0YWtlcyBpdHMgdmFsdWVcbiAgICBJY29uOiBib29sZWFuOyAvLyBJY29uIG9mIG5vdGlmaWNhdGlvbi4gTGVhdmUgYXMgaXMgZm9yIGRlZmF1bHQgaWNvbiBvciBzZXQgY3VzdG9tIHN0cmluZ1xuICAgIERlbGF5OiBudW1iZXI7IC8vIEhpZGUgbm90aWZpY2F0aW9uIGFmdGVyIHRoaXMgdGltZSAoaW4gbWlsaXNlY29uZHMpXG4gICAgQ2xvc2FibGU6IGJvb2xlYW47IC8vIE1ha2Ugbm90aWZpY2F0aW9ucyBjbG9zYWJsZVxuICAgIERlbGF5SW5kaWNhdG9yOiBib29sZWFuOyAvLyBTaG93IHRpbWVyIGluZGljYXRvclxuICAgIENsb3NlT25DbGljazogYm9vbGVhbjsgLy8gQ2xvc2Ugbm90aWZpY2F0aW9ucyBieSBjbGlja2luZyBvbiB0aGVtXG4gICAgSXNSdGw6IGJvb2xlYW47XG4gICAgUG9zaXRpb246IHN0cmluZyB8IG9iamVjdDsgLy8gQXZhaWxhYmxlIG9wdGlvbnM6IFwidG9wIGxlZnRcIiwgXCJ0b3AgcmlnaHRcIiwgXCJib3R0b20gbGVmdFwiLCBcImJvdHRvbSByaWdodFwiLCBcImNlbnRlciB0b3BcIiwgXCJjZW50ZXIgYm90dG9tXCJcbiAgICBTb3VuZFBhdGg6IHN0cmluZzsgLy8gVGhlIGZvbGRlciBwYXRoIHdoZXJlIHNvdW5kcyBhcmUgbG9jYXRlZFxuICAgIFNpemU6IHN0cmluZzsgLy8gbm9ybWFsLCBtaW5pLCBsYXJnZVxuICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiBib29sZWFuOyAvLyBDb250aW51ZSBkZWxheSB3aGVuIGJyb3dzZXIgdGFiIGlzIGluYWN0aXZlXG4gICAgV2lkdGg6IG51bWJlcjsgLy8gV2lkdGggb2Ygbm90aWZpY2F0aW9uIGJveFxuICAgIE1lc3NhZ2VIZWlnaHQ6IG51bWJlcjsgLy8gTm90aWZpY2F0aW9uIG1lc3NhZ2UgbWF4aW11bSBoZWlnaHQuXG4gICAgTm90aWZpY2F0aW9uSXRlbT86IE5vdGlmaWNhdGlvbkl0ZW07XG59O1xuZXhwb3J0IHR5cGUgU2hhcmVCdXR0b25zQ2hvaWNlRGVmID0ge1xuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XG4gICAgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY2hvaWNlTGlzdDogQ2hvaWNlRGVmW107XG4gICAgYWRkOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIENob2ljZURlZiA9IHtcbiAgICBBY3Rpdml0eURlZklkOiBzdHJpbmc7XG4gICAgQWN0aXZpdHlSdW5JZDogc3RyaW5nO1xuICAgIENob2ljZURlZklkOiBzdHJpbmc7XG4gICAgQ2hvaWNlTmFtZT86IHN0cmluZztcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIEljb24/OiBzdHJpbmc7XG4gICAgSGFzQmFyPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMgPSB7XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICByZXN1bHQ6IGFueTtcbiAgICBlcnJvcjogYW55O1xuICAgIGNob2ljZT86IENob2ljZURlZjtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QYXlsb2FkID0ge1xuICAgIG1zZzogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGltYWdlOiBzdHJpbmc7XG4gICAgbW87XG4gICAgdWlPcHRpb25zOiBOb3RpZnlPcHRpb25zO1xuICAgIG90aGVyT3B0aW9uczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25BY3Rpb24gPSB7XG4gICAgVGl0bGU6IHN0cmluZztcbiAgICBJZDogc3RyaW5nO1xuICAgIEljb246IHN0cmluZztcbiAgICBTdGF0dXM6IHN0cmluZyB8IGFueTtcbn07XG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25JdGVtID0gTWV0YW9iamVjdERhdGFNb2RlbCAmIHtcbiAgICBUaXRsZTogc3RyaW5nO1xuICAgIFVucmVhZDogYm9vbGVhbjtcbiAgICBDb250ZW50OiBzdHJpbmc7XG4gICAgJFNhZmVDb250ZW50PzogU2FmZUh0bWw7XG4gICAgUHJpb3JpdHk6IG51bWJlcjtcbiAgICBTdWJqZWN0OiBzdHJpbmc7XG4gICAgVGFnOiBzdHJpbmc7XG4gICAgSWNvbjogc3RyaW5nO1xuICAgIEltYWdlOiBzdHJpbmc7XG4gICAgQ3JlYXRpb25EYXRlOiBEYXRlO1xuICAgIENyZWF0aW9uRGF0ZSRDYXB0aW9uOiBzdHJpbmc7XG4gICAgVWlBY3Rpb25zPzogTm90aWZpY2F0aW9uQWN0aW9uW107XG4gICAgJENob2ljZURlZlN0YXR1cz86IFdvcmtmbG93RXhlY3V0ZUNob2ljZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIEV4Tm90aWZpY2F0aW9uUGF5bG9hZCA9IHtcbiAgICBsYW5nOiBzdHJpbmc7XG4gICAgaXNSdGw6IGJvb2xlYW47XG4gICAgbm90aWZpY2F0aW9uSXRlbTogTm90aWZpY2F0aW9uSXRlbTtcbn07XG5leHBvcnQgdHlwZSBGb3JtVmlzaWJpbGl0eVN0YXR1cyA9ICdQZW5kaW5nJyB8ICdWaXNpYmxlJztcbmV4cG9ydCB0eXBlIENhcnRhYmxlVGVtcGxhdGVLZXkgPSB7IFR5cGVEZWZJZDogc3RyaW5nOyBTZXR0aW5nc0lkOiBzdHJpbmcgfTtcbmV4cG9ydCBlbnVtIFNvcnREaXJlY3Rpb24ge1xuICAgIE5PTkUgPSAnbm9uZScsXG4gICAgQVNDID0gJ2FzYycsXG4gICAgREVTQyA9ICdkZXNjJ1xufVxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU29ydCB7XG4gICAgZmllbGQ6IHN0cmluZyB8IG51bGw7XG4gICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuICAgIGlzTnVtYmVyPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSW5wdXQge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkdyb3VwIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbiAgICBzaG93QXNDb2x1bW46IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblBhZ2Uge1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgY3VycmVudFBhZ2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uU3RhdGUge1xuICAgIHNvcnRCeTogQ29sbGVjdGlvblNvcnRbXTtcbiAgICBncm91cEJ5OiBDb2xsZWN0aW9uR3JvdXBbXTtcbiAgICBwYWdlOiBDb2xsZWN0aW9uUGFnZTtcbiAgICBzZWFyY2hJbnB1dDogU2VhcmNoSW5wdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVTdGF0ZSBleHRlbmRzIENvbGxlY3Rpb25TdGF0ZSB7XG4gICAgY29sdW1uczogc3RyaW5nW107XG4gICAgY29sdW1uS2V5czogc3RyaW5nW107XG4gICAgZnJlZXplVG9Db2x1bW46IHN0cmluZyB8IG51bGw7XG59XG5leHBvcnQgZW51bSBTZWxlY3Rpb25Nb2RlIHtcbiAgICBTSU5HTEUgPSAnc2luZ2xlJyxcbiAgICBNVUxUSVBMRSA9ICdtdWx0aXBsZScsXG4gICAgTk9ORSA9ICdub25lJ1xufVxuZXhwb3J0IGludGVyZmFjZSBUeXBlVWx2TWFpbkN0cmxyIHtcbiAgICBBZGFwdGVyOiBhbnk7XG4gICAgU2V0dGluZzogYW55O1xuICAgIFN5c3RlbTogYW55O1xuICAgIFVsdlBhcmFtczogYW55O1xuICAgIEZlYXR1cmVzOiBhbnk7XG4gICAgVWlPdmVycmlkZTogYW55O1xuICAgIFNlYXJjaFBhbmVsQ3RybHI6IGFueTtcbiAgICBTZWxlY3Rpb25BZGFwdGVyOiBhbnk7XG4gICAgRGF0YUN0cmxyOiBUeXBlVWx2RGF0YUN0cmxyO1xuICAgIENvbW1hbmRCYXJDdHJscjogYW55O1xuICAgIFZpZXdlckFkYXB0ZXI6IGFueTtcbiAgICBQYXJlbnRNbzogYW55O1xuICAgIEZpZWxkQ3RybHI6IGFueTtcbiAgICBpc01hbmRhdG9yeTogYm9vbGVhbjsgLy8gcG9ydGFsIHVzZSBpdC4gY29tcG9uZW50IG1hZGFyZWtcbiAgICAvLy8gUmVsYXRlZCBmaWVsZCBvZiBVbHZcbiAgICAvLyBQYXJlbnRGaWVsZEluZm9DdHJscjogbnVsbCxcbiAgICBJc1ByZXZpZXdTb3VyY2VGaWVsZDogYm9vbGVhbjtcbiAgICAvLy8gSW5kaWNhdGUgd2hldGhlciB0aGlzIFVsdiBpcyB1c2VkIGFzIHJlbGF0aW9uIGZpZWxkIHRoYXQgaXMgUHJldmlld1NvdXJjZSBmb3IgYSBzdWJmb3JtXG4gICAgU2hvd09rQ2FuY2VsQnV0dG9uczogYm9vbGVhbjtcbiAgICBfaXNFbmFibGU6IGJvb2xlYW47XG4gICAgX2lzUmVhZE9ubHk6IGJvb2xlYW47XG4gICAgX2lzVmlzaWJsZTogYm9vbGVhbjtcbiAgICBGb290dGVyQnV0dG9uczogYm9vbGVhbjtcbiAgICBSZWZyZXNoUm93c0J5TW9zTm9TZWxlY3Rpb25DaGFuZ2UoXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbiAgICApOiB2b2lkO1xuICAgIFJlZnJlc2hSb3dzQnlNb3MoXG4gICAgICAgIGVkaWRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBhZGRlZE1vczogTWV0YW9iamVjdERhdGFNb2RlbFtdLFxuICAgICAgICBkZWxldGVkTW9zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbiAgICApOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVVbHZEYXRhQ3RybHIge1xuICAgIEdldEVkaXRGb3JtUGFyYW1zKG1vLCBpc1JlYWRPbmx5LCBpc05ldywgaW5oZXJpdGFuY2VDaGlsZFR5cGVEZWYsIGRvUmV0dXJuKTogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUNvbXBvbmVudFBhcmFtcyB7XG4gICAgZm9ybVNldHRpbmc/OiBGb3JtU2V0dGluZztcbiAgICBtb0lkOiBzdHJpbmc7XG4gICAgdHlwZURlZklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcmVwb3J0SWQ/OiBzdHJpbmc7XG4gICAgdmlld0lkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIFZpZXdOYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGluRGlhbG9nPzogYm9vbGVhbjtcbiAgICBpc1NpbXBsZT86IGJvb2xlYW47XG4gICAgbG9hZEFjdGl2aXR5Vmlldz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIEJydWxlQWN0aW9uTWVzc2FnZSB7XG4gICAgTWVzc2FnZVR5cGU6IG51bWJlcjtcbiAgICBFc2NhcGVDaGFyYWN0ZXJzOiBib29sZWFuO1xuICAgIE1lc3NhZ2VFeHByZXNzaW9uOiBzdHJpbmc7XG4gICAgTWVzc2FnZUV4cHJlc3Npb25IdG1sOiBTYWZlSHRtbDtcbn1cbmV4cG9ydCB0eXBlIENvbHVtblN1bW1hcnlUeXBlID0ge1xuICAgIG1vQXJyOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uO1xuICAgIHN1bW1hcnlGbjogKHZhbCkgPT4gdm9pZDtcbn07XG4iXX0=
|
|
@@ -26,7 +26,7 @@ import { FormFieldReportPageComponent } from './abstract-classes';
|
|
|
26
26
|
import { PortalPageSidebarComponent } from './portal-page/portal-sidebar.component';
|
|
27
27
|
import { BreadcrumbService, UploadService, ApiService, LogService, BarsaDialogService, PortalService, UiService, LayoutService, DynamicComponentService, NetworkStatusService, AudioRecordingService, VideoRecordingService, PromptUpdateService, BarsaStorageService, LocalStorageService, IndexedDbService, NotificationService, ServiceWorkerNotificationService, ServiceWorkerCommuncationService, SaveScrollPositionService } from './services';
|
|
28
28
|
import { DynamicCommandDirective, ItemsRendererDirective, NumbersOnlyInputDirective, PlaceHolderDirective, RenderUlvPaginDirective, ImageLazyDirective, UntilInViewDirective, IntersectionObserverDirective, EllipsifyDirective, TableResizerDirective, ColumnResizerDirective, AttrRtlDirective, RenderUlvViewerDirective, UlvCommandDirective, WorfkflowwChoiceCommandDirective, CopyDirective, EllapsisTextDirective, FillEmptySpaceDirective, FormCloseDirective, MobileDirective, BodyClickDirective, CountDownDirective, RouteFormChangeDirective, DynamicStyleDirective, NowraptextDirective } from './directives';
|
|
29
|
-
import { NumeralPipe, CanUploadFilePipe, RemoveNewlinePipe, ConvertToStylePipe, FilterPipe, FilterTabPipe, FilterStringPipe, FioriIconPipe, SortPipe, GroupByPipe, MultipleGroupByPipe, MoValuePipe, MoReportValuePipe, HeaderFacetValuePipe, PictureFieldSourcePipe, TlbButtonsPipe, SeperatorFixPipe, MoReportValueConcatPipe, ContextMenuPipe, BbbTranslatePipe, BarsaIconDictPipe, FileInfoCountPipe, ControlUiPipe, VisibleValuePipe, DateTimeToCaptionPipe, FilterToolbarControlPipe, ListCountPipe, TotalSummaryPipe, MergeFieldsToColumnsPipe, FindColumnByDbNamePipe, FilterColumnsByDetailsPipe, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, ReversePipe, ColumnCustomUiPipe, SanitizeTextPipe, ColumnCustomComponentPipe, ColumnIconPipe, ColumnValuePipe, RowNumberPipe, ComboRowImagePipe, IsExpandedNodePipe, ThImageOrIconePipe } from './pipes';
|
|
29
|
+
import { NumeralPipe, CanUploadFilePipe, RemoveNewlinePipe, ConvertToStylePipe, FilterPipe, FilterTabPipe, FilterStringPipe, FioriIconPipe, SortPipe, GroupByPipe, MultipleGroupByPipe, MoValuePipe, MoReportValuePipe, HeaderFacetValuePipe, PictureFieldSourcePipe, TlbButtonsPipe, SeperatorFixPipe, MoReportValueConcatPipe, ContextMenuPipe, BbbTranslatePipe, BarsaIconDictPipe, FileInfoCountPipe, ControlUiPipe, VisibleValuePipe, DateTimeToCaptionPipe, FilterToolbarControlPipe, ListCountPipe, TotalSummaryPipe, MergeFieldsToColumnsPipe, FindColumnByDbNamePipe, FilterColumnsByDetailsPipe, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, ReversePipe, ColumnCustomUiPipe, SanitizeTextPipe, ColumnCustomComponentPipe, ColumnIconPipe, ColumnValuePipe, RowNumberPipe, ComboRowImagePipe, IsExpandedNodePipe, ThImageOrIconePipe, FindPreviewColumnPipe } from './pipes';
|
|
30
30
|
import { BarsaSapUiFormPageModule } from './form-page-routing';
|
|
31
31
|
import { ResizableModule } from './resizable-module/resizable.module';
|
|
32
32
|
import { Title } from '@angular/platform-browser';
|
|
@@ -127,7 +127,8 @@ const pipes = [
|
|
|
127
127
|
RowNumberPipe,
|
|
128
128
|
ComboRowImagePipe,
|
|
129
129
|
IsExpandedNodePipe,
|
|
130
|
-
ThImageOrIconePipe
|
|
130
|
+
ThImageOrIconePipe,
|
|
131
|
+
FindPreviewColumnPipe
|
|
131
132
|
];
|
|
132
133
|
const functionL1 = function () {
|
|
133
134
|
if (BarsaApi.LoginFormData.Culture === 'fa-IR') {
|
|
@@ -305,7 +306,8 @@ export class BarsaNovinRayCoreModule extends BaseModule {
|
|
|
305
306
|
RowNumberPipe,
|
|
306
307
|
ComboRowImagePipe,
|
|
307
308
|
IsExpandedNodePipe,
|
|
308
|
-
ThImageOrIconePipe,
|
|
309
|
+
ThImageOrIconePipe,
|
|
310
|
+
FindPreviewColumnPipe, PlaceHolderDirective,
|
|
309
311
|
NumbersOnlyInputDirective,
|
|
310
312
|
RenderUlvViewerDirective,
|
|
311
313
|
RenderUlvPaginDirective,
|
|
@@ -395,7 +397,8 @@ export class BarsaNovinRayCoreModule extends BaseModule {
|
|
|
395
397
|
RowNumberPipe,
|
|
396
398
|
ComboRowImagePipe,
|
|
397
399
|
IsExpandedNodePipe,
|
|
398
|
-
ThImageOrIconePipe,
|
|
400
|
+
ThImageOrIconePipe,
|
|
401
|
+
FindPreviewColumnPipe, PlaceHolderDirective,
|
|
399
402
|
NumbersOnlyInputDirective,
|
|
400
403
|
RenderUlvViewerDirective,
|
|
401
404
|
RenderUlvPaginDirective,
|
|
@@ -442,4 +445,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
442
445
|
schemas: [NO_ERRORS_SCHEMA]
|
|
443
446
|
}]
|
|
444
447
|
}], ctorParameters: () => [{ type: i1.DynamicComponentService }, { type: i0.ComponentFactoryResolver }] });
|
|
445
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etbm92aW4tcmF5LWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9iYXJzYS1ub3Zpbi1yYXktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixZQUFZLEVBRVosUUFBUSxFQUNSLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsT0FBTyxFQUNILG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLCtCQUErQixFQUMvQixzQkFBc0IsRUFDekIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGlGQUFpRixDQUFDO0FBQzFJLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLCtGQUErRixDQUFDO0FBQzVKLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVwRixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixVQUFVLEVBQ1YsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsU0FBUyxFQUNULGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixnQ0FBZ0MsRUFDaEMsZ0NBQWdDLEVBQ2hDLHlCQUF5QixFQUM1QixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLDZCQUE2QixFQUM3QixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixnQ0FBZ0MsRUFDaEMsYUFBYSxFQUNiLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ3RCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLFFBQVEsRUFDUixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsY0FBYyxFQUNkLGVBQWUsRUFDZixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDckIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBS3pDLE1BQU0sVUFBVSxHQUFHO0lBQ2YsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLHVDQUF1QztJQUN2QywyQ0FBMkM7SUFDM0Msb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsK0JBQStCO0lBQy9CLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLDRCQUE0QjtDQUMvQixDQUFDO0FBQ0YsTUFBTSxVQUFVLEdBQUc7SUFDZixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGdDQUFnQztJQUNoQyxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLDZCQUE2QjtJQUM3QixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsbUJBQW1CO0NBQ3RCLENBQUM7QUFDRixNQUFNLEtBQUssR0FBRztJQUNWLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsUUFBUTtJQUNSLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsZUFBZTtJQUNmLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtDQUNyQixDQUFDO0FBQ0YsTUFBTSxVQUFVLEdBQUc7SUFDZixJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxrQ0FBa0MsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLE9BQU8sQ0FBQztTQUNoRixJQUFJLENBQUMsVUFBVSxHQUFHO1FBQ2YsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRztRQUNmLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixpQkFBaUI7WUFDakIsR0FBRyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDdEMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxVQUFVLEdBQUcsVUFBVSxhQUE0QixFQUFFLFlBQW1CO0lBQzFFLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3RDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ25DLElBQUksYUFBYSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNsQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlFLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMscUNBQXFDO0lBQ2pILENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyx3Q0FBd0M7SUFDL0UsQ0FBQztBQUNMLENBQUMsQ0FBQztBQWFGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxVQUFVO0lBRW5ELFlBQXNCLEdBQTRCLEVBQVksd0JBQWtEO1FBQzVHLEtBQUssQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUQ5QyxRQUFHLEdBQUgsR0FBRyxDQUF5QjtRQUFZLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFEdEcsc0JBQWlCLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBRzlDLENBQUM7SUFDRCxNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUNOLENBQ0ksYUFBNEIsRUFDNUIsWUFBbUIsRUFDbkIsbUJBQXdDLEVBQ3hDLG1CQUF3QyxFQUN4QyxlQUFpRCxFQUNqRCxvQkFBMEMsRUFDMUMsTUFBYyxFQUNoQixFQUFFLENBQ0osR0FBRyxFQUFFO3dCQUNELE1BQU0sV0FBVyxHQUFHLGFBQWEsRUFBRSxDQUFDO3dCQUVwQyxPQUFPLGFBQWE7NkJBQ2YscUJBQXFCLEVBQUU7NkJBQ3ZCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDUCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsVUFBVSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTs0QkFDOUUsbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7NEJBQ3JDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDOzRCQUMzQixlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQzNCLENBQUMsQ0FBQyxDQUNMOzZCQUNBLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOzRCQUNULElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0NBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7Z0NBQzNCLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDOzRCQUNyQyxDQUFDO2lDQUFNLENBQUM7Z0NBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQzs0QkFDakQsQ0FBQzs0QkFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDN0IsQ0FBQyxDQUFDLENBQUM7b0JBQ1gsQ0FBQztvQkFDTCxJQUFJLEVBQUU7d0JBQ0YsYUFBYTt3QkFDYixLQUFLO3dCQUNMLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixnQ0FBZ0M7d0JBQ2hDLG9CQUFvQjt3QkFDcEIsTUFBTTtxQkFDVDtvQkFDRCxLQUFLLEVBQUUsSUFBSTtpQkFDZDtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0I7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxDQUFDLG1CQUF3QyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7d0JBQzNELFFBQVEsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDOzRCQUMvQixTQUFTLEVBQUUsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQzs0QkFDeEUsWUFBWSxFQUFFLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7eUJBQzFFLENBQUMsQ0FBQztvQkFDUCxDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUMzQixLQUFLLEVBQUUsSUFBSTtpQkFDZDtnQkFDRCxHQUFHLEtBQUs7Z0JBQ1IsYUFBYTtnQkFDYixhQUFhO2dCQUNiLFVBQVU7Z0JBQ1YsVUFBVTtnQkFDVixrQkFBa0I7Z0JBQ2xCLFNBQVM7Z0JBQ1QsYUFBYTtnQkFDYix1QkFBdUI7Z0JBQ3ZCLGlCQUFpQjtnQkFDakIsU0FBUztnQkFDVCxvQkFBb0I7Z0JBQ3BCLHFCQUFxQjtnQkFDckIscUJBQXFCO2dCQUNyQixpQkFBaUI7Z0JBQ2pCLG1CQUFtQjtnQkFDbkIsbUJBQW1CO2dCQUNuQixnQ0FBZ0M7Z0JBQ2hDLHlCQUF5QjtnQkFDekIsbUJBQW1CO2dCQUNuQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsbUJBQW1CO2dCQUNuQixnQ0FBZ0M7YUFDbkM7U0FDSixDQUFDO0lBQ04sQ0FBQzs4R0EvRlEsdUJBQXVCOytHQUF2Qix1QkFBdUIsaUJBckloQyxhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsdUNBQXVDO1lBQ3ZDLDJDQUEyQztZQUMzQyxvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQiwrQkFBK0I7WUFDL0Isc0JBQXNCO1lBQ3RCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsNEJBQTRCLEVBK0I1QixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsVUFBVTtZQUNWLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLFFBQVE7WUFDUixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtZQUN2QixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsd0JBQXdCO1lBQ3hCLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QiwwQkFBMEI7WUFDMUIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQix5QkFBeUI7WUFDekIsY0FBYztZQUNkLGVBQWU7WUFDZixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixrQkFBa0IsRUF0RWxCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsc0JBQXNCO1lBQ3RCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsZ0NBQWdDO1lBQ2hDLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsNkJBQTZCO1lBQzdCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsc0JBQXNCO1lBQ3RCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixtQkFBbUIsYUE2RWYsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQiw4QkFBOEI7WUFDOUIsd0JBQXdCO1lBQ3hCLGVBQWUsYUFoSW5CLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLDBCQUEwQjtZQUMxQix1Q0FBdUM7WUFDdkMsMkNBQTJDO1lBQzNDLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLCtCQUErQjtZQUMvQixzQkFBc0I7WUFDdEIsa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQiw0QkFBNEIsRUErQjVCLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixVQUFVO1lBQ1YsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsUUFBUTtZQUNSLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsdUJBQXVCO1lBQ3ZCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQix3QkFBd0I7WUFDeEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQix3QkFBd0I7WUFDeEIsc0JBQXNCO1lBQ3RCLDBCQUEwQjtZQUMxQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHlCQUF5QjtZQUN6QixjQUFjO1lBQ2QsZUFBZTtZQUNmLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGtCQUFrQixFQXRFbEIsb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUN6Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixnQ0FBZ0M7WUFDaEMsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQiw2QkFBNkI7WUFDN0Isa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLG1CQUFtQjsrR0FzRlYsdUJBQXVCLFlBVDVCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsOEJBQThCO1lBQzlCLHdCQUF3QjtZQUN4QixlQUFlOzsyRkFLVix1QkFBdUI7a0JBWm5DLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUM7b0JBQ3RELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsOEJBQThCO3dCQUM5Qix3QkFBd0I7d0JBQ3hCLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFQUF9JTklUSUFMSVpFUixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRXJyb3JIYW5kbGVyLFxuICAgIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gICAgTmdNb2R1bGUsXG4gICAgTk9fRVJST1JTX1NDSEVNQVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkVWlDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkLXVpL2ZpZWxkLXVpLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFJlcG9ydENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LWNvbnRhaW5lci9yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmNob3JTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYW5jaG9yLXNjcm9sbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFyc2FOb3ZpblJheUNvcmVSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9iYXJzYS1ub3Zpbi1yYXktY29yZS1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBNb2RhbFJvb3RDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLXJvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1OZXdDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tbmV3L2Zvcm0tbmV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb290UG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aEd1YXJkIH0gZnJvbSAnLi9hdXRoLWd1YXJkJztcblxuaW1wb3J0IHtcbiAgICBEeW5hbWljRm9ybUNvbXBvbmVudCxcbiAgICBEeW5hbWljSXRlbUNvbXBvbmVudCxcbiAgICBCYXNlRHluYW1pY0NvbXBvbmVudCxcbiAgICBEeW5hbWljRm9ybVRvb2xiYXJpdGVtQ29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnRcbn0gZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWRpcmVjdEhvbWVHdWFyZCB9IGZyb20gJy4vcmVkaXJlY3QtaG9tZS1ndWFyZCc7XG5pbXBvcnQgeyBOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm9vdFBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3Jvb3QtcGFnZS9yb290LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VNb2R1bGUgfSBmcm9tICcuL2Jhc2UubW9kdWxlJztcbmltcG9ydCB7IFBvcnRhbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3BvcnRhbC1wYWdlL3BvcnRhbC1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHbG9iYWxFcnJvckhhbmRsZXIgfSBmcm9tICcuL2dsb2JhbC1lcnJvci1oYW5kbGVyJztcblxuaW1wb3J0IHsgUmVkaXJlY3RSZXBvcnROYXZpZ2F0b3JDb21tYW5kQ29tcG9uZW50IH0gZnJvbSAnLi9yZWRpcmVjdC1yZXBvcnQtbmF2aWdhdG9yLWNvbW1hbmQvcmVkaXJlY3QtcmVwb3J0LW5hdmlnYXRvci1jb21tYW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVBhZ2VXaXRoUm91dGVyQW5kUm91dGVyT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbXB0eS1wYWdlLXdpdGgtcm91dGVyLWFuZC1yb3V0ZXItb3V0bGV0L2VtcHR5LXBhZ2Utd2l0aC1yb3V0ZXItYW5kLXJvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktcGFnZS9lbXB0eS1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xuaW1wb3J0IHsgRm9ybVBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0LWNsYXNzZXMvZm9ybS1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRmllbGRSZXBvcnRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC1jbGFzc2VzJztcbmltcG9ydCB7IFBvcnRhbFBhZ2VTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3J0YWwtcGFnZS9wb3J0YWwtc2lkZWJhci5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgQXBpU2VydmljZSxcbiAgICBMb2dTZXJ2aWNlLFxuICAgIEJhcnNhRGlhbG9nU2VydmljZSxcbiAgICBQb3J0YWxTZXJ2aWNlLFxuICAgIFVpU2VydmljZSxcbiAgICBMYXlvdXRTZXJ2aWNlLFxuICAgIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgIE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxuICAgIEF1ZGlvUmVjb3JkaW5nU2VydmljZSxcbiAgICBWaWRlb1JlY29yZGluZ1NlcnZpY2UsXG4gICAgUHJvbXB0VXBkYXRlU2VydmljZSxcbiAgICBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxuICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgSW5kZXhlZERiU2VydmljZSxcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIFNlcnZpY2VXb3JrZXJOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIFNlcnZpY2VXb3JrZXJDb21tdW5jYXRpb25TZXJ2aWNlLFxuICAgIFNhdmVTY3JvbGxQb3NpdGlvblNlcnZpY2Vcbn0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICAgIER5bmFtaWNDb21tYW5kRGlyZWN0aXZlLFxuICAgIEl0ZW1zUmVuZGVyZXJEaXJlY3RpdmUsXG4gICAgTnVtYmVyc09ubHlJbnB1dERpcmVjdGl2ZSxcbiAgICBQbGFjZUhvbGRlckRpcmVjdGl2ZSxcbiAgICBSZW5kZXJVbHZQYWdpbkRpcmVjdGl2ZSxcbiAgICBJbWFnZUxhenlEaXJlY3RpdmUsXG4gICAgVW50aWxJblZpZXdEaXJlY3RpdmUsXG4gICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmUsXG4gICAgRWxsaXBzaWZ5RGlyZWN0aXZlLFxuICAgIFRhYmxlUmVzaXplckRpcmVjdGl2ZSxcbiAgICBDb2x1bW5SZXNpemVyRGlyZWN0aXZlLFxuICAgIEF0dHJSdGxEaXJlY3RpdmUsXG4gICAgUmVuZGVyVWx2Vmlld2VyRGlyZWN0aXZlLFxuICAgIFVsdkNvbW1hbmREaXJlY3RpdmUsXG4gICAgV29yZmtmbG93d0Nob2ljZUNvbW1hbmREaXJlY3RpdmUsXG4gICAgQ29weURpcmVjdGl2ZSxcbiAgICBFbGxhcHNpc1RleHREaXJlY3RpdmUsXG4gICAgRmlsbEVtcHR5U3BhY2VEaXJlY3RpdmUsXG4gICAgRm9ybUNsb3NlRGlyZWN0aXZlLFxuICAgIE1vYmlsZURpcmVjdGl2ZSxcbiAgICBCb2R5Q2xpY2tEaXJlY3RpdmUsXG4gICAgQ291bnREb3duRGlyZWN0aXZlLFxuICAgIFJvdXRlRm9ybUNoYW5nZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljU3R5bGVEaXJlY3RpdmUsXG4gICAgTm93cmFwdGV4dERpcmVjdGl2ZVxufSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBOdW1lcmFsUGlwZSxcbiAgICBDYW5VcGxvYWRGaWxlUGlwZSxcbiAgICBSZW1vdmVOZXdsaW5lUGlwZSxcbiAgICBDb252ZXJ0VG9TdHlsZVBpcGUsXG4gICAgRmlsdGVyUGlwZSxcbiAgICBGaWx0ZXJUYWJQaXBlLFxuICAgIEZpbHRlclN0cmluZ1BpcGUsXG4gICAgRmlvcmlJY29uUGlwZSxcbiAgICBTb3J0UGlwZSxcbiAgICBHcm91cEJ5UGlwZSxcbiAgICBNdWx0aXBsZUdyb3VwQnlQaXBlLFxuICAgIE1vVmFsdWVQaXBlLFxuICAgIE1vUmVwb3J0VmFsdWVQaXBlLFxuICAgIEhlYWRlckZhY2V0VmFsdWVQaXBlLFxuICAgIFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUsXG4gICAgVGxiQnV0dG9uc1BpcGUsXG4gICAgU2VwZXJhdG9yRml4UGlwZSxcbiAgICBNb1JlcG9ydFZhbHVlQ29uY2F0UGlwZSxcbiAgICBDb250ZXh0TWVudVBpcGUsXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcbiAgICBCYXJzYUljb25EaWN0UGlwZSxcbiAgICBGaWxlSW5mb0NvdW50UGlwZSxcbiAgICBDb250cm9sVWlQaXBlLFxuICAgIFZpc2libGVWYWx1ZVBpcGUsXG4gICAgRGF0ZVRpbWVUb0NhcHRpb25QaXBlLFxuICAgIEZpbHRlclRvb2xiYXJDb250cm9sUGlwZSxcbiAgICBMaXN0Q291bnRQaXBlLFxuICAgIFRvdGFsU3VtbWFyeVBpcGUsXG4gICAgTWVyZ2VGaWVsZHNUb0NvbHVtbnNQaXBlLFxuICAgIEZpbmRDb2x1bW5CeURiTmFtZVBpcGUsXG4gICAgRmlsdGVyQ29sdW1uc0J5RGV0YWlsc1BpcGUsXG4gICAgTW9JbmZvVWx2TW9MaXN0UGlwZSxcbiAgICBNb0luZm9VbHZQYWdpbmdQaXBlLFxuICAgIFJldmVyc2VQaXBlLFxuICAgIENvbHVtbkN1c3RvbVVpUGlwZSxcbiAgICBTYW5pdGl6ZVRleHRQaXBlLFxuICAgIENvbHVtbkN1c3RvbUNvbXBvbmVudFBpcGUsXG4gICAgQ29sdW1uSWNvblBpcGUsXG4gICAgQ29sdW1uVmFsdWVQaXBlLFxuICAgIFJvd051bWJlclBpcGUsXG4gICAgQ29tYm9Sb3dJbWFnZVBpcGUsXG4gICAgSXNFeHBhbmRlZE5vZGVQaXBlLFxuICAgIFRoSW1hZ2VPckljb25lUGlwZVxufSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7IEJhcnNhU2FwVWlGb3JtUGFnZU1vZHVsZSB9IGZyb20gJy4vZm9ybS1wYWdlLXJvdXRpbmcnO1xuaW1wb3J0IHsgUmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnLi9yZXNpemFibGUtbW9kdWxlL3Jlc2l6YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGlzSW5Mb2NhbE1vZGUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdmFyXG5kZWNsYXJlIHZhciBCQkI6IGFueTtcblxuY29uc3QgY29tcG9uZW50cyA9IFtcbiAgICBGb3JtQ29tcG9uZW50LFxuICAgIEZpZWxkVWlDb21wb25lbnQsXG4gICAgTm90Rm91bmRDb21wb25lbnQsXG4gICAgUm9vdFBhZ2VDb21wb25lbnQsXG4gICAgUm9vdFBvcnRhbENvbXBvbmVudCxcbiAgICBSZXBvcnRDb250YWluZXJDb21wb25lbnQsXG4gICAgRm9ybU5ld0NvbXBvbmVudCxcbiAgICBNb2RhbFJvb3RDb21wb25lbnQsXG4gICAgUG9ydGFsUGFnZUNvbXBvbmVudCxcbiAgICBQb3J0YWxQYWdlU2lkZWJhckNvbXBvbmVudCxcbiAgICBSZWRpcmVjdFJlcG9ydE5hdmlnYXRvckNvbW1hbmRDb21wb25lbnQsXG4gICAgRW1wdHlQYWdlV2l0aFJvdXRlckFuZFJvdXRlck91dGxldENvbXBvbmVudCxcbiAgICBEeW5hbWljSXRlbUNvbXBvbmVudCxcbiAgICBEeW5hbWljRm9ybUNvbXBvbmVudCxcbiAgICBCYXNlRHluYW1pY0NvbXBvbmVudCxcbiAgICBEeW5hbWljRm9ybVRvb2xiYXJpdGVtQ29tcG9uZW50LFxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXG4gICAgRW1wdHlQYWdlQ29tcG9uZW50LFxuICAgIEZvcm1QYWdlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFJlcG9ydFBhZ2VDb21wb25lbnRcbl07XG5jb25zdCBkaXJlY3RpdmVzID0gW1xuICAgIFBsYWNlSG9sZGVyRGlyZWN0aXZlLFxuICAgIE51bWJlcnNPbmx5SW5wdXREaXJlY3RpdmUsXG4gICAgUmVuZGVyVWx2Vmlld2VyRGlyZWN0aXZlLFxuICAgIFJlbmRlclVsdlBhZ2luRGlyZWN0aXZlLFxuICAgIEFuY2hvclNjcm9sbERpcmVjdGl2ZSxcbiAgICBJdGVtc1JlbmRlcmVyRGlyZWN0aXZlLFxuICAgIFVsdkNvbW1hbmREaXJlY3RpdmUsXG4gICAgRHluYW1pY0NvbW1hbmREaXJlY3RpdmUsXG4gICAgV29yZmtmbG93d0Nob2ljZUNvbW1hbmREaXJlY3RpdmUsXG4gICAgSW1hZ2VMYXp5RGlyZWN0aXZlLFxuICAgIFVudGlsSW5WaWV3RGlyZWN0aXZlLFxuICAgIEludGVyc2VjdGlvbk9ic2VydmVyRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lmeURpcmVjdGl2ZSxcbiAgICBUYWJsZVJlc2l6ZXJEaXJlY3RpdmUsXG4gICAgQ29sdW1uUmVzaXplckRpcmVjdGl2ZSxcbiAgICBBdHRyUnRsRGlyZWN0aXZlLFxuICAgIENvcHlEaXJlY3RpdmUsXG4gICAgRWxsYXBzaXNUZXh0RGlyZWN0aXZlLFxuICAgIEZpbGxFbXB0eVNwYWNlRGlyZWN0aXZlLFxuICAgIEZvcm1DbG9zZURpcmVjdGl2ZSxcbiAgICBNb2JpbGVEaXJlY3RpdmUsXG4gICAgQm9keUNsaWNrRGlyZWN0aXZlLFxuICAgIENvdW50RG93bkRpcmVjdGl2ZSxcbiAgICBSb3V0ZUZvcm1DaGFuZ2VEaXJlY3RpdmUsXG4gICAgRHluYW1pY1N0eWxlRGlyZWN0aXZlLFxuICAgIE5vd3JhcHRleHREaXJlY3RpdmVcbl07XG5jb25zdCBwaXBlcyA9IFtcbiAgICBOdW1lcmFsUGlwZSxcbiAgICBDYW5VcGxvYWRGaWxlUGlwZSxcbiAgICBSZW1vdmVOZXdsaW5lUGlwZSxcbiAgICBDb252ZXJ0VG9TdHlsZVBpcGUsXG4gICAgRmlsdGVyUGlwZSxcbiAgICBGaWx0ZXJUYWJQaXBlLFxuICAgIEZpbHRlclN0cmluZ1BpcGUsXG4gICAgRmlvcmlJY29uUGlwZSxcbiAgICBTb3J0UGlwZSxcbiAgICBHcm91cEJ5UGlwZSxcbiAgICBNdWx0aXBsZUdyb3VwQnlQaXBlLFxuICAgIE1vVmFsdWVQaXBlLFxuICAgIE1vUmVwb3J0VmFsdWVQaXBlLFxuICAgIEhlYWRlckZhY2V0VmFsdWVQaXBlLFxuICAgIFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUsXG4gICAgVGxiQnV0dG9uc1BpcGUsXG4gICAgU2VwZXJhdG9yRml4UGlwZSxcbiAgICBNb1JlcG9ydFZhbHVlQ29uY2F0UGlwZSxcbiAgICBDb250ZXh0TWVudVBpcGUsXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcbiAgICBCYXJzYUljb25EaWN0UGlwZSxcbiAgICBGaWxlSW5mb0NvdW50UGlwZSxcbiAgICBDb250cm9sVWlQaXBlLFxuICAgIFZpc2libGVWYWx1ZVBpcGUsXG4gICAgRGF0ZVRpbWVUb0NhcHRpb25QaXBlLFxuICAgIEZpbHRlclRvb2xiYXJDb250cm9sUGlwZSxcbiAgICBMaXN0Q291bnRQaXBlLFxuICAgIFRvdGFsU3VtbWFyeVBpcGUsXG4gICAgTWVyZ2VGaWVsZHNUb0NvbHVtbnNQaXBlLFxuICAgIEZpbmRDb2x1bW5CeURiTmFtZVBpcGUsXG4gICAgRmlsdGVyQ29sdW1uc0J5RGV0YWlsc1BpcGUsXG4gICAgTW9JbmZvVWx2TW9MaXN0UGlwZSxcbiAgICBNb0luZm9VbHZQYWdpbmdQaXBlLFxuICAgIFJldmVyc2VQaXBlLFxuICAgIENvbHVtbkN1c3RvbVVpUGlwZSxcbiAgICBTYW5pdGl6ZVRleHRQaXBlLFxuICAgIENvbHVtbkN1c3RvbUNvbXBvbmVudFBpcGUsXG4gICAgQ29sdW1uSWNvblBpcGUsXG4gICAgQ29sdW1uVmFsdWVQaXBlLFxuICAgIFJvd051bWJlclBpcGUsXG4gICAgQ29tYm9Sb3dJbWFnZVBpcGUsXG4gICAgSXNFeHBhbmRlZE5vZGVQaXBlLFxuICAgIFRoSW1hZ2VPckljb25lUGlwZVxuXTtcbmNvbnN0IGZ1bmN0aW9uTDEgPSBmdW5jdGlvbiAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZSA9PT0gJ2ZhLUlSJykge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIHJldHVybiBmZXRjaChgL0xvY2FsaXphdGlvbi9UcmFuc2xhdGlvbi9kYXRhXyR7QmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DdWx0dXJlfS5qc29uYClcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgcmV0dXJuIHJlcy5qc29uKCk7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgICAgIGlmIChCQkIpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZVxuICAgICAgICAgICAgICAgIEJCQiA9IHsgLi4uQmFyc2FBcGkuQkJCLCAuLi5yZXMgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG59O1xuY29uc3QgZnVuY3Rpb25MMiA9IGZ1bmN0aW9uIChwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLCB0aXRsZVNlcnZpY2U6IFRpdGxlKTogUHJvbWlzZTxhbnk+IHtcbiAgICBwb3J0YWxTZXJ2aWNlLmxvYWRVc2VyUG9ydGFsU2V0dGluZygpO1xuICAgIHBvcnRhbFNlcnZpY2UubG9hZFBvcnRhbERhdGFTeW5jKCk7XG4gICAgaWYgKHBvcnRhbFNlcnZpY2UucG9ydGFsRGF0YT8uVGl0bGUpIHtcbiAgICAgICAgdGl0bGVTZXJ2aWNlLnNldFRpdGxlKHBvcnRhbFNlcnZpY2UucG9ydGFsRGF0YT8uVGl0bGUpO1xuICAgIH1cbiAgICBpZiAoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc0Fub255bW91cyAmJiAhQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1NlcnZpY2VEZXNrKSB7XG4gICAgICAgIHJldHVybiBwb3J0YWxTZXJ2aWNlLmxvYWRTeXN0ZW0oQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Qb3J0YWxTeXN0ZW1JZCk7IC8vIGxvZ2luIGZvcm0gbmVlZCBqdXN0IHBvcnRhbCBzeXN0ZW1cbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcG9ydGFsU2VydmljZS5sb2FkU3lzdGVtKCk7IC8vIGxvYWQgYWxsIHN5c3RlbXMgaWYgdXNlciBpcyBsb2dnZWQgaW5cbiAgICB9XG59O1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzLCAuLi5waXBlcywgLi4uZGlyZWN0aXZlc10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgICAgIEJhcnNhTm92aW5SYXlDb3JlUm91dGluZ01vZHVsZSxcbiAgICAgICAgQmFyc2FTYXBVaUZvcm1QYWdlTW9kdWxlLFxuICAgICAgICBSZXNpemFibGVNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzLCAuLi5waXBlcywgLi4uZGlyZWN0aXZlc10sXG4gICAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlIGV4dGVuZHMgQmFzZU1vZHVsZSB7XG4gICAgcHJvdGVjdGVkIGR5bmFtaWNDb21wb25lbnRzID0gWy4uLmNvbXBvbmVudHNdO1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkY206IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLCBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcbiAgICAgICAgc3VwZXIoZGNtLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsICdCYXJzYU5vdmluUmF5Q29yZU1vZHVsZScpO1xuICAgIH1cbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQmFyc2FOb3ZpblJheUNvcmVNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTpcbiAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvbXB0VXBkYXRlU2VydmljZTogUHJvbXB0VXBkYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJzYVN0b3JhZ2VTZXJ2aWNlOiBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3Q29tbXVuaWNhdGlvbjogU2VydmljZVdvcmtlckNvbW11bmNhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV0d29ya1N0YXR1c1NlcnZpY2U6IE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlcjogUm91dGVyXG4gICAgICAgICAgICAgICAgICAgICAgICApID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5Mb2NhbE1vZGUgPSBpc0luTG9jYWxNb2RlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9hZFNlcnZlclN0YXJ0dXBEYXRhKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21pc2UuYWxsKFtmdW5jdGlvbkwxKCksIGZ1bmN0aW9uTDIocG9ydGFsU2VydmljZSwgdGl0bGVTZXJ2aWNlKV0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21wdFVwZGF0ZVNlcnZpY2UuY2hlY2tGb3JVcGRhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJzYVN0b3JhZ2VTZXJ2aWNlLmluaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd0NvbW11bmljYXRpb24uaW5pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5Mb2NhbE1vZGUgJiYgIW5hdmlnYXRvci5vbkxpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnbm8taW50ZXJuZXQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXIubmF2aWdhdGUoWyduby1pbnRlcm5ldCddKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyLm5hdmlnYXRlKFsnc2VydmVyLWNvbm5lY3Rpb24tZXJyb3InXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgUG9ydGFsU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgUHJvbXB0VXBkYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlV29ya2VyQ29tbXVuY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgUm91dGVyXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcbiAgICAgICAgICAgICAgICAgICAgdXNlQ2xhc3M6IEdsb2JhbEVycm9ySGFuZGxlclxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5VbC5Ob3RpZmljYXRpb25NYW5hZ2VyLm9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaG93UG9wdXA6IG5vdGlmaWNhdGlvblNlcnZpY2UuYWRkTm90aWZpY2F0aW9uLmJpbmQobm90aWZpY2F0aW9uU2VydmljZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGlzaEV2ZW50OiBub3RpZmljYXRpb25TZXJ2aWNlLmhhbmRsZVRvcGljLmJpbmQobm90aWZpY2F0aW9uU2VydmljZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbTm90aWZpY2F0aW9uU2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAuLi5waXBlcyxcbiAgICAgICAgICAgICAgICBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQXBpU2VydmljZSxcbiAgICAgICAgICAgICAgICBMb2dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEJhcnNhRGlhbG9nU2VydmljZSxcbiAgICAgICAgICAgICAgICBVaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgTGF5b3V0U2VydmljZSxcbiAgICAgICAgICAgICAgICBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBCcmVhZGNydW1iU2VydmljZSxcbiAgICAgICAgICAgICAgICBBdXRoR3VhcmQsXG4gICAgICAgICAgICAgICAgTmV0d29ya1N0YXR1c1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFZpZGVvUmVjb3JkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgICBSZWRpcmVjdEhvbWVHdWFyZCxcbiAgICAgICAgICAgICAgICBQcm9tcHRVcGRhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgU2VydmljZVdvcmtlck5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgU2F2ZVNjcm9sbFBvc2l0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEluZGV4ZWREYlNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgICAgICAgICBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFNlcnZpY2VXb3JrZXJDb21tdW5jYXRpb25TZXJ2aWNlXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
448
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etbm92aW4tcmF5LWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9iYXJzYS1ub3Zpbi1yYXktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixZQUFZLEVBRVosUUFBUSxFQUNSLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsT0FBTyxFQUNILG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLCtCQUErQixFQUMvQixzQkFBc0IsRUFDekIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFP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QkFBcUI7WUFDckIsc0JBQXNCO1lBQ3RCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsZ0NBQWdDO1lBQ2hDLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsNkJBQTZCO1lBQzdCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsc0JBQXNCO1lBQ3RCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixtQkFBbUI7K0dBdUZWLHVCQUF1QixZQVQ1QixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLDhCQUE4QjtZQUM5Qix3QkFBd0I7WUFDeEIsZUFBZTs7MkZBS1YsdUJBQXVCO2tCQVpuQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDO29CQUN0RCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4QixlQUFlO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQztvQkFDakQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBUFBfSU5JVElBTElaRVIsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIEVycm9ySGFuZGxlcixcbiAgICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICAgIE5nTW9kdWxlLFxuICAgIE5PX0VSUk9SU19TQ0hFTUFcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZFVpQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC11aS9maWVsZC11aS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1jb250YWluZXIvcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5jaG9yU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FuY2hvci1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhcnNhTm92aW5SYXlDb3JlUm91dGluZ01vZHVsZSB9IGZyb20gJy4vYmFyc2Etbm92aW4tcmF5LWNvcmUtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgTW9kYWxSb290Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1yb290LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTmV3Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLW5ldy9mb3JtLW5ldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm9vdFBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vcm9vdC1wb3J0YWwvcm9vdC1wb3J0YWwuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJy4vYXV0aC1ndWFyZCc7XG5cbmltcG9ydCB7XG4gICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgRHluYW1pY0l0ZW1Db21wb25lbnQsXG4gICAgQmFzZUR5bmFtaWNDb21wb25lbnQsXG4gICAgRHluYW1pY0Zvcm1Ub29sYmFyaXRlbUNvbXBvbmVudCxcbiAgICBEeW5hbWljTGF5b3V0Q29tcG9uZW50XG59IGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVkaXJlY3RIb21lR3VhcmQgfSBmcm9tICcuL3JlZGlyZWN0LWhvbWUtZ3VhcmQnO1xuaW1wb3J0IHsgTm90Rm91bmRDb21wb25lbnQgfSBmcm9tICcuL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50JztcbmltcG9ydCB7IFJvb3RQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9yb290LXBhZ2Uvcm9vdC1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlTW9kdWxlIH0gZnJvbSAnLi9iYXNlLm1vZHVsZSc7XG5pbXBvcnQgeyBQb3J0YWxQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wb3J0YWwtcGFnZS9wb3J0YWwtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2xvYmFsRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9nbG9iYWwtZXJyb3ItaGFuZGxlcic7XG5cbmltcG9ydCB7IFJlZGlyZWN0UmVwb3J0TmF2aWdhdG9yQ29tbWFuZENvbXBvbmVudCB9IGZyb20gJy4vcmVkaXJlY3QtcmVwb3J0LW5hdmlnYXRvci1jb21tYW5kL3JlZGlyZWN0LXJlcG9ydC1uYXZpZ2F0b3ItY29tbWFuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlQYWdlV2l0aFJvdXRlckFuZFJvdXRlck91dGxldENvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktcGFnZS13aXRoLXJvdXRlci1hbmQtcm91dGVyLW91dGxldC9lbXB0eS1wYWdlLXdpdGgtcm91dGVyLWFuZC1yb3V0ZXItb3V0bGV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXBhZ2UvZW1wdHktcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2Fic3RyYWN0LWNsYXNzZXMvYmFyc2EtYXBpJztcbmltcG9ydCB7IEZvcm1QYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkUmVwb3J0UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcyc7XG5pbXBvcnQgeyBQb3J0YWxQYWdlU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vcG9ydGFsLXBhZ2UvcG9ydGFsLXNpZGViYXIuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgICBCcmVhZGNydW1iU2VydmljZSxcbiAgICBVcGxvYWRTZXJ2aWNlLFxuICAgIEFwaVNlcnZpY2UsXG4gICAgTG9nU2VydmljZSxcbiAgICBCYXJzYURpYWxvZ1NlcnZpY2UsXG4gICAgUG9ydGFsU2VydmljZSxcbiAgICBVaVNlcnZpY2UsXG4gICAgTGF5b3V0U2VydmljZSxcbiAgICBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICBOZXR3b3JrU3RhdHVzU2VydmljZSxcbiAgICBBdWRpb1JlY29yZGluZ1NlcnZpY2UsXG4gICAgVmlkZW9SZWNvcmRpbmdTZXJ2aWNlLFxuICAgIFByb21wdFVwZGF0ZVNlcnZpY2UsXG4gICAgQmFyc2FTdG9yYWdlU2VydmljZSxcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgIEluZGV4ZWREYlNlcnZpY2UsXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBTZXJ2aWNlV29ya2VyTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBTZXJ2aWNlV29ya2VyQ29tbXVuY2F0aW9uU2VydmljZSxcbiAgICBTYXZlU2Nyb2xsUG9zaXRpb25TZXJ2aWNlXG59IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgICBEeW5hbWljQ29tbWFuZERpcmVjdGl2ZSxcbiAgICBJdGVtc1JlbmRlcmVyRGlyZWN0aXZlLFxuICAgIE51bWJlcnNPbmx5SW5wdXREaXJlY3RpdmUsXG4gICAgUGxhY2VIb2xkZXJEaXJlY3RpdmUsXG4gICAgUmVuZGVyVWx2UGFnaW5EaXJlY3RpdmUsXG4gICAgSW1hZ2VMYXp5RGlyZWN0aXZlLFxuICAgIFVudGlsSW5WaWV3RGlyZWN0aXZlLFxuICAgIEludGVyc2VjdGlvbk9ic2VydmVyRGlyZWN0aXZlLFxuICAgIEVsbGlwc2lmeURpcmVjdGl2ZSxcbiAgICBUYWJsZVJlc2l6ZXJEaXJlY3RpdmUsXG4gICAgQ29sdW1uUmVzaXplckRpcmVjdGl2ZSxcbiAgICBBdHRyUnRsRGlyZWN0aXZlLFxuICAgIFJlbmRlclVsdlZpZXdlckRpcmVjdGl2ZSxcbiAgICBVbHZDb21tYW5kRGlyZWN0aXZlLFxuICAgIFdvcmZrZmxvd3dDaG9pY2VDb21tYW5kRGlyZWN0aXZlLFxuICAgIENvcHlEaXJlY3RpdmUsXG4gICAgRWxsYXBzaXNUZXh0RGlyZWN0aXZlLFxuICAgIEZpbGxFbXB0eVNwYWNlRGlyZWN0aXZlLFxuICAgIEZvcm1DbG9zZURpcmVjdGl2ZSxcbiAgICBNb2JpbGVEaXJlY3RpdmUsXG4gICAgQm9keUNsaWNrRGlyZWN0aXZlLFxuICAgIENvdW50RG93bkRpcmVjdGl2ZSxcbiAgICBSb3V0ZUZvcm1DaGFuZ2VEaXJlY3RpdmUsXG4gICAgRHluYW1pY1N0eWxlRGlyZWN0aXZlLFxuICAgIE5vd3JhcHRleHREaXJlY3RpdmVcbn0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gICAgTnVtZXJhbFBpcGUsXG4gICAgQ2FuVXBsb2FkRmlsZVBpcGUsXG4gICAgUmVtb3ZlTmV3bGluZVBpcGUsXG4gICAgQ29udmVydFRvU3R5bGVQaXBlLFxuICAgIEZpbHRlclBpcGUsXG4gICAgRmlsdGVyVGFiUGlwZSxcbiAgICBGaWx0ZXJTdHJpbmdQaXBlLFxuICAgIEZpb3JpSWNvblBpcGUsXG4gICAgU29ydFBpcGUsXG4gICAgR3JvdXBCeVBpcGUsXG4gICAgTXVsdGlwbGVHcm91cEJ5UGlwZSxcbiAgICBNb1ZhbHVlUGlwZSxcbiAgICBNb1JlcG9ydFZhbHVlUGlwZSxcbiAgICBIZWFkZXJGYWNldFZhbHVlUGlwZSxcbiAgICBQaWN0dXJlRmllbGRTb3VyY2VQaXBlLFxuICAgIFRsYkJ1dHRvbnNQaXBlLFxuICAgIFNlcGVyYXRvckZpeFBpcGUsXG4gICAgTW9SZXBvcnRWYWx1ZUNvbmNhdFBpcGUsXG4gICAgQ29udGV4dE1lbnVQaXBlLFxuICAgIEJiYlRyYW5zbGF0ZVBpcGUsXG4gICAgQmFyc2FJY29uRGljdFBpcGUsXG4gICAgRmlsZUluZm9Db3VudFBpcGUsXG4gICAgQ29udHJvbFVpUGlwZSxcbiAgICBWaXNpYmxlVmFsdWVQaXBlLFxuICAgIERhdGVUaW1lVG9DYXB0aW9uUGlwZSxcbiAgICBGaWx0ZXJUb29sYmFyQ29udHJvbFBpcGUsXG4gICAgTGlzdENvdW50UGlwZSxcbiAgICBUb3RhbFN1bW1hcnlQaXBlLFxuICAgIE1lcmdlRmllbGRzVG9Db2x1bW5zUGlwZSxcbiAgICBGaW5kQ29sdW1uQnlEYk5hbWVQaXBlLFxuICAgIEZpbHRlckNvbHVtbnNCeURldGFpbHNQaXBlLFxuICAgIE1vSW5mb1Vsdk1vTGlzdFBpcGUsXG4gICAgTW9JbmZvVWx2UGFnaW5nUGlwZSxcbiAgICBSZXZlcnNlUGlwZSxcbiAgICBDb2x1bW5DdXN0b21VaVBpcGUsXG4gICAgU2FuaXRpemVUZXh0UGlwZSxcbiAgICBDb2x1bW5DdXN0b21Db21wb25lbnRQaXBlLFxuICAgIENvbHVtbkljb25QaXBlLFxuICAgIENvbHVtblZhbHVlUGlwZSxcbiAgICBSb3dOdW1iZXJQaXBlLFxuICAgIENvbWJvUm93SW1hZ2VQaXBlLFxuICAgIElzRXhwYW5kZWROb2RlUGlwZSxcbiAgICBUaEltYWdlT3JJY29uZVBpcGUsXG4gICAgRmluZFByZXZpZXdDb2x1bW5QaXBlXG59IGZyb20gJy4vcGlwZXMnO1xuaW1wb3J0IHsgQmFyc2FTYXBVaUZvcm1QYWdlTW9kdWxlIH0gZnJvbSAnLi9mb3JtLXBhZ2Utcm91dGluZyc7XG5pbXBvcnQgeyBSZXNpemFibGVNb2R1bGUgfSBmcm9tICcuL3Jlc2l6YWJsZS1tb2R1bGUvcmVzaXphYmxlLm1vZHVsZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgaXNJbkxvY2FsTW9kZSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12YXJcbmRlY2xhcmUgdmFyIEJCQjogYW55O1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICAgIEZvcm1Db21wb25lbnQsXG4gICAgRmllbGRVaUNvbXBvbmVudCxcbiAgICBOb3RGb3VuZENvbXBvbmVudCxcbiAgICBSb290UGFnZUNvbXBvbmVudCxcbiAgICBSb290UG9ydGFsQ29tcG9uZW50LFxuICAgIFJlcG9ydENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGb3JtTmV3Q29tcG9uZW50LFxuICAgIE1vZGFsUm9vdENvbXBvbmVudCxcbiAgICBQb3J0YWxQYWdlQ29tcG9uZW50LFxuICAgIFBvcnRhbFBhZ2VTaWRlYmFyQ29tcG9uZW50LFxuICAgIFJlZGlyZWN0UmVwb3J0TmF2aWdhdG9yQ29tbWFuZENvbXBvbmVudCxcbiAgICBFbXB0eVBhZ2VXaXRoUm91dGVyQW5kUm91dGVyT3V0bGV0Q29tcG9uZW50LFxuICAgIER5bmFtaWNJdGVtQ29tcG9uZW50LFxuICAgIER5bmFtaWNGb3JtQ29tcG9uZW50LFxuICAgIEJhc2VEeW5hbWljQ29tcG9uZW50LFxuICAgIER5bmFtaWNGb3JtVG9vbGJhcml0ZW1Db21wb25lbnQsXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcbiAgICBFbXB0eVBhZ2VDb21wb25lbnQsXG4gICAgRm9ybVBhZ2VDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkUmVwb3J0UGFnZUNvbXBvbmVudFxuXTtcbmNvbnN0IGRpcmVjdGl2ZXMgPSBbXG4gICAgUGxhY2VIb2xkZXJEaXJlY3RpdmUsXG4gICAgTnVtYmVyc09ubHlJbnB1dERpcmVjdGl2ZSxcbiAgICBSZW5kZXJVbHZWaWV3ZXJEaXJlY3RpdmUsXG4gICAgUmVuZGVyVWx2UGFnaW5EaXJlY3RpdmUsXG4gICAgQW5jaG9yU2Nyb2xsRGlyZWN0aXZlLFxuICAgIEl0ZW1zUmVuZGVyZXJEaXJlY3RpdmUsXG4gICAgVWx2Q29tbWFuZERpcmVjdGl2ZSxcbiAgICBEeW5hbWljQ29tbWFuZERpcmVjdGl2ZSxcbiAgICBXb3Jma2Zsb3d3Q2hvaWNlQ29tbWFuZERpcmVjdGl2ZSxcbiAgICBJbWFnZUxhenlEaXJlY3RpdmUsXG4gICAgVW50aWxJblZpZXdEaXJlY3RpdmUsXG4gICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmUsXG4gICAgRWxsaXBzaWZ5RGlyZWN0aXZlLFxuICAgIFRhYmxlUmVzaXplckRpcmVjdGl2ZSxcbiAgICBDb2x1bW5SZXNpemVyRGlyZWN0aXZlLFxuICAgIEF0dHJSdGxEaXJlY3RpdmUsXG4gICAgQ29weURpcmVjdGl2ZSxcbiAgICBFbGxhcHNpc1RleHREaXJlY3RpdmUsXG4gICAgRmlsbEVtcHR5U3BhY2VEaXJlY3RpdmUsXG4gICAgRm9ybUNsb3NlRGlyZWN0aXZlLFxuICAgIE1vYmlsZURpcmVjdGl2ZSxcbiAgICBCb2R5Q2xpY2tEaXJlY3RpdmUsXG4gICAgQ291bnREb3duRGlyZWN0aXZlLFxuICAgIFJvdXRlRm9ybUNoYW5nZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljU3R5bGVEaXJlY3RpdmUsXG4gICAgTm93cmFwdGV4dERpcmVjdGl2ZVxuXTtcbmNvbnN0IHBpcGVzID0gW1xuICAgIE51bWVyYWxQaXBlLFxuICAgIENhblVwbG9hZEZpbGVQaXBlLFxuICAgIFJlbW92ZU5ld2xpbmVQaXBlLFxuICAgIENvbnZlcnRUb1N0eWxlUGlwZSxcbiAgICBGaWx0ZXJQaXBlLFxuICAgIEZpbHRlclRhYlBpcGUsXG4gICAgRmlsdGVyU3RyaW5nUGlwZSxcbiAgICBGaW9yaUljb25QaXBlLFxuICAgIFNvcnRQaXBlLFxuICAgIEdyb3VwQnlQaXBlLFxuICAgIE11bHRpcGxlR3JvdXBCeVBpcGUsXG4gICAgTW9WYWx1ZVBpcGUsXG4gICAgTW9SZXBvcnRWYWx1ZVBpcGUsXG4gICAgSGVhZGVyRmFjZXRWYWx1ZVBpcGUsXG4gICAgUGljdHVyZUZpZWxkU291cmNlUGlwZSxcbiAgICBUbGJCdXR0b25zUGlwZSxcbiAgICBTZXBlcmF0b3JGaXhQaXBlLFxuICAgIE1vUmVwb3J0VmFsdWVDb25jYXRQaXBlLFxuICAgIENvbnRleHRNZW51UGlwZSxcbiAgICBCYmJUcmFuc2xhdGVQaXBlLFxuICAgIEJhcnNhSWNvbkRpY3RQaXBlLFxuICAgIEZpbGVJbmZvQ291bnRQaXBlLFxuICAgIENvbnRyb2xVaVBpcGUsXG4gICAgVmlzaWJsZVZhbHVlUGlwZSxcbiAgICBEYXRlVGltZVRvQ2FwdGlvblBpcGUsXG4gICAgRmlsdGVyVG9vbGJhckNvbnRyb2xQaXBlLFxuICAgIExpc3RDb3VudFBpcGUsXG4gICAgVG90YWxTdW1tYXJ5UGlwZSxcbiAgICBNZXJnZUZpZWxkc1RvQ29sdW1uc1BpcGUsXG4gICAgRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcbiAgICBGaWx0ZXJDb2x1bW5zQnlEZXRhaWxzUGlwZSxcbiAgICBNb0luZm9VbHZNb0xpc3RQaXBlLFxuICAgIE1vSW5mb1VsdlBhZ2luZ1BpcGUsXG4gICAgUmV2ZXJzZVBpcGUsXG4gICAgQ29sdW1uQ3VzdG9tVWlQaXBlLFxuICAgIFNhbml0aXplVGV4dFBpcGUsXG4gICAgQ29sdW1uQ3VzdG9tQ29tcG9uZW50UGlwZSxcbiAgICBDb2x1bW5JY29uUGlwZSxcbiAgICBDb2x1bW5WYWx1ZVBpcGUsXG4gICAgUm93TnVtYmVyUGlwZSxcbiAgICBDb21ib1Jvd0ltYWdlUGlwZSxcbiAgICBJc0V4cGFuZGVkTm9kZVBpcGUsXG4gICAgVGhJbWFnZU9ySWNvbmVQaXBlLFxuICAgIEZpbmRQcmV2aWV3Q29sdW1uUGlwZVxuXTtcbmNvbnN0IGZ1bmN0aW9uTDEgPSBmdW5jdGlvbiAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZSA9PT0gJ2ZhLUlSJykge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIHJldHVybiBmZXRjaChgL0xvY2FsaXphdGlvbi9UcmFuc2xhdGlvbi9kYXRhXyR7QmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DdWx0dXJlfS5qc29uYClcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgcmV0dXJuIHJlcy5qc29uKCk7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgICAgIGlmIChCQkIpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZVxuICAgICAgICAgICAgICAgIEJCQiA9IHsgLi4uQmFyc2FBcGkuQkJCLCAuLi5yZXMgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG59O1xuY29uc3QgZnVuY3Rpb25MMiA9IGZ1bmN0aW9uIChwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLCB0aXRsZVNlcnZpY2U6IFRpdGxlKTogUHJvbWlzZTxhbnk+IHtcbiAgICBwb3J0YWxTZXJ2aWNlLmxvYWRVc2VyUG9ydGFsU2V0dGluZygpO1xuICAgIHBvcnRhbFNlcnZpY2UubG9hZFBvcnRhbERhdGFTeW5jKCk7XG4gICAgaWYgKHBvcnRhbFNlcnZpY2UucG9ydGFsRGF0YT8uVGl0bGUpIHtcbiAgICAgICAgdGl0bGVTZXJ2aWNlLnNldFRpdGxlKHBvcnRhbFNlcnZpY2UucG9ydGFsRGF0YT8uVGl0bGUpO1xuICAgIH1cbiAgICBpZiAoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc0Fub255bW91cyAmJiAhQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1NlcnZpY2VEZXNrKSB7XG4gICAgICAgIHJldHVybiBwb3J0YWxTZXJ2aWNlLmxvYWRTeXN0ZW0oQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Qb3J0YWxTeXN0ZW1JZCk7IC8vIGxvZ2luIGZvcm0gbmVlZCBqdXN0IHBvcnRhbCBzeXN0ZW1cbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcG9ydGFsU2VydmljZS5sb2FkU3lzdGVtKCk7IC8vIGxvYWQgYWxsIHN5c3RlbXMgaWYgdXNlciBpcyBsb2dnZWQgaW5cbiAgICB9XG59O1xuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzLCAuLi5waXBlcywgLi4uZGlyZWN0aXZlc10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgICAgIEJhcnNhTm92aW5SYXlDb3JlUm91dGluZ01vZHVsZSxcbiAgICAgICAgQmFyc2FTYXBVaUZvcm1QYWdlTW9kdWxlLFxuICAgICAgICBSZXNpemFibGVNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzLCAuLi5waXBlcywgLi4uZGlyZWN0aXZlc10sXG4gICAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlIGV4dGVuZHMgQmFzZU1vZHVsZSB7XG4gICAgcHJvdGVjdGVkIGR5bmFtaWNDb21wb25lbnRzID0gWy4uLmNvbXBvbmVudHNdO1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkY206IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLCBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcbiAgICAgICAgc3VwZXIoZGNtLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsICdCYXJzYU5vdmluUmF5Q29yZU1vZHVsZScpO1xuICAgIH1cbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQmFyc2FOb3ZpblJheUNvcmVNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTpcbiAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvbXB0VXBkYXRlU2VydmljZTogUHJvbXB0VXBkYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJzYVN0b3JhZ2VTZXJ2aWNlOiBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3Q29tbXVuaWNhdGlvbjogU2VydmljZVdvcmtlckNvbW11bmNhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV0d29ya1N0YXR1c1NlcnZpY2U6IE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlcjogUm91dGVyXG4gICAgICAgICAgICAgICAgICAgICAgICApID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5Mb2NhbE1vZGUgPSBpc0luTG9jYWxNb2RlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9hZFNlcnZlclN0YXJ0dXBEYXRhKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb21pc2UuYWxsKFtmdW5jdGlvbkwxKCksIGZ1bmN0aW9uTDIocG9ydGFsU2VydmljZSwgdGl0bGVTZXJ2aWNlKV0pLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21wdFVwZGF0ZVNlcnZpY2UuY2hlY2tGb3JVcGRhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJzYVN0b3JhZ2VTZXJ2aWNlLmluaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd0NvbW11bmljYXRpb24uaW5pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5Mb2NhbE1vZGUgJiYgIW5hdmlnYXRvci5vbkxpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnbm8taW50ZXJuZXQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXIubmF2aWdhdGUoWyduby1pbnRlcm5ldCddKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyLm5hdmlnYXRlKFsnc2VydmVyLWNvbm5lY3Rpb24tZXJyb3InXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgUG9ydGFsU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgUHJvbXB0VXBkYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlV29ya2VyQ29tbXVuY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgUm91dGVyXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcbiAgICAgICAgICAgICAgICAgICAgdXNlQ2xhc3M6IEdsb2JhbEVycm9ySGFuZGxlclxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5VbC5Ob3RpZmljYXRpb25NYW5hZ2VyLm9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaG93UG9wdXA6IG5vdGlmaWNhdGlvblNlcnZpY2UuYWRkTm90aWZpY2F0aW9uLmJpbmQobm90aWZpY2F0aW9uU2VydmljZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGlzaEV2ZW50OiBub3RpZmljYXRpb25TZXJ2aWNlLmhhbmRsZVRvcGljLmJpbmQobm90aWZpY2F0aW9uU2VydmljZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbTm90aWZpY2F0aW9uU2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAuLi5waXBlcyxcbiAgICAgICAgICAgICAgICBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQXBpU2VydmljZSxcbiAgICAgICAgICAgICAgICBMb2dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEJhcnNhRGlhbG9nU2VydmljZSxcbiAgICAgICAgICAgICAgICBVaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgTGF5b3V0U2VydmljZSxcbiAgICAgICAgICAgICAgICBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBCcmVhZGNydW1iU2VydmljZSxcbiAgICAgICAgICAgICAgICBBdXRoR3VhcmQsXG4gICAgICAgICAgICAgICAgTmV0d29ya1N0YXR1c1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFZpZGVvUmVjb3JkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgICBSZWRpcmVjdEhvbWVHdWFyZCxcbiAgICAgICAgICAgICAgICBQcm9tcHRVcGRhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgU2VydmljZVdvcmtlck5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgU2F2ZVNjcm9sbFBvc2l0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEluZGV4ZWREYlNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgICAgICAgICBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFNlcnZpY2VXb3JrZXJDb21tdW5jYXRpb25TZXJ2aWNlXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|