vcomply-workflow-engine 6.1.67 → 6.1.69
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/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +34 -6
- package/esm2022/lib/constants/assets.constants.mjs +2 -1
- package/esm2022/lib/constants/policy.constant.mjs +6 -0
- package/esm2022/lib/constants/regix.constants.mjs +4 -0
- package/esm2022/lib/constants/responsibility.mjs +8 -0
- package/esm2022/lib/formgroup/select/cs-select/cs-select.component.mjs +2 -2
- package/esm2022/lib/interfaces/policy.interface.mjs +2 -0
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +9 -1
- package/esm2022/lib/more-option/more-option.component.mjs +3 -13
- package/esm2022/lib/pipes/search.pipe.mjs +2 -1
- package/esm2022/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.mjs +29 -3
- package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +55 -29
- package/esm2022/lib/report-a-case/components/report-date/report-date.component.mjs +32 -13
- package/esm2022/lib/report-a-case/constants/api.constants.mjs +3 -2
- package/esm2022/lib/report-a-case/constants/report-case.constants.mjs +3 -1
- package/esm2022/lib/report-a-case/report-case.module.mjs +5 -2
- package/esm2022/lib/report-a-case/services/date-utility.service.mjs +29 -0
- package/esm2022/lib/report-a-case/services/report-a-case.service.mjs +16 -4
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +54 -45
- package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +3 -1
- package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +39 -14
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +24 -10
- package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.module.mjs +19 -15
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +2 -2
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +20 -20
- package/esm2022/lib/sharedComponents/pipes/risk-class.pipe.mjs +19 -0
- package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +15 -5
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +3 -3
- package/esm2022/lib/ui-kit/banner/banner.component.mjs +44 -0
- package/esm2022/lib/ui-kit/multi-select/cs-multiselect/cs-multiselect.component.mjs +12 -5
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +79 -19
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +2 -2
- package/esm2022/lib/workflow-engine.module.mjs +5 -2
- package/esm2022/lib/workflow-policy/ms-word.constants.mjs +2 -2
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +70 -35
- package/esm2022/lib/workflow-program/constants.mjs +9 -1
- package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.mjs +7 -1
- package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +13 -16
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +5 -5
- package/esm2022/lib/workflow-services/policy.service.mjs +7 -1
- package/esm2022/lib/workflow-services/programs.service.mjs +1 -1
- package/fesm2022/vcomply-workflow-engine.mjs +1176 -793
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -0
- package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +3 -0
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -0
- package/lib/constants/assets.constants.d.ts +1 -0
- package/lib/constants/policy.constant.d.ts +2 -0
- package/lib/constants/regix.constants.d.ts +3 -0
- package/lib/constants/responsibility.d.ts +7 -0
- package/lib/interfaces/policy.interface.d.ts +5 -0
- package/lib/log-an-issue/log-an-issue.component.d.ts +2 -0
- package/lib/more-option/more-option.component.d.ts +1 -0
- package/lib/report-a-case/components/assignee/assignee.component.d.ts +1 -0
- package/lib/report-a-case/components/case-assignees/case-assignees.component.d.ts +1 -0
- package/lib/report-a-case/components/case-category/case-category.component.d.ts +1 -0
- package/lib/report-a-case/components/case-details/case-details.component.d.ts +1 -0
- package/lib/report-a-case/components/case-owners/case-owners.component.d.ts +1 -0
- package/lib/report-a-case/components/case-priority/case-priority.component.d.ts +1 -0
- package/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.d.ts +9 -3
- package/lib/report-a-case/components/case-type-dropdown/case-dropdown.component.d.ts +1 -0
- package/lib/report-a-case/components/due-date/due-date.component.d.ts +10 -2
- package/lib/report-a-case/components/field-holder/field-holder.component.d.ts +1 -0
- package/lib/report-a-case/components/linked assessment/linked-assessment.component.d.ts +1 -0
- package/lib/report-a-case/components/linked-responsibilities/linked-responsibilities.component.d.ts +1 -0
- package/lib/report-a-case/components/rc-details/rc-details.component.d.ts +1 -0
- package/lib/report-a-case/components/report-date/report-date.component.d.ts +9 -1
- package/lib/report-a-case/constants/api.constants.d.ts +1 -0
- package/lib/report-a-case/constants/report-case.constants.d.ts +2 -0
- package/lib/report-a-case/report-case.module.d.ts +23 -22
- package/lib/report-a-case/services/date-utility.service.d.ts +9 -0
- package/lib/report-a-case/services/report-a-case.service.d.ts +2 -1
- package/lib/report-a-case/workflow-case/workflow-case.component.d.ts +5 -1
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +1 -0
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -0
- package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +1 -0
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +6 -0
- package/lib/sharedComponents/category-list/category-list.component.d.ts +1 -0
- package/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.d.ts +1 -0
- package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +1 -0
- package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +1 -0
- package/lib/sharedComponents/document-section/document-section.component.d.ts +8 -5
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +5 -1
- package/lib/sharedComponents/format-and-evidence/format-and-evidence.module.d.ts +8 -7
- package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -0
- package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +1 -0
- package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +1 -0
- package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +1 -0
- package/lib/sharedComponents/owner-list/owner-list.component.d.ts +1 -0
- package/lib/sharedComponents/pipes/risk-class.pipe.d.ts +7 -0
- package/lib/sharedComponents/policy-access/policy-access.component.d.ts +1 -0
- package/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.d.ts +1 -0
- package/lib/sharedComponents/program-listing/program-listing.component.d.ts +1 -0
- package/lib/sharedComponents/radio-list/radio-list.component.d.ts +1 -0
- package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +1 -0
- package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +1 -0
- package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +1 -0
- package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +1 -0
- package/lib/sharedComponents/roles-list/roles-list.component.d.ts +1 -0
- package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +1 -0
- package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -0
- package/lib/ui-kit/banner/banner.component.d.ts +8 -0
- package/lib/ui-kit/multi-select/cs-multiselect/cs-multiselect.component.d.ts +3 -1
- package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +1 -0
- package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +1 -0
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -0
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +1 -0
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +5 -0
- package/lib/workflow-engine.module.d.ts +44 -43
- package/lib/workflow-policy/workflow-policy.component.d.ts +3 -0
- package/lib/workflow-program/constants.d.ts +3 -0
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +1 -0
- package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +1 -0
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +1 -0
- package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +1 -0
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -0
- package/lib/workflow-program/workflow-program.component.d.ts +1 -0
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -0
- package/lib/workflow-services/policy.service.d.ts +2 -0
- package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +1 -0
- package/package.json +1 -1
package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { VALIDATION_MESSAGES } from '../../constants/responsibility';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@angular/common";
|
|
4
5
|
import * as i2 from "../../ui-kit/tooltip/tooltip.directive";
|
|
5
6
|
import * as i3 from "../v-loader/loader/loader.component";
|
|
6
7
|
export class BulkResponsibilityViewComponent {
|
|
7
8
|
constructor() {
|
|
9
|
+
this.VALIDATION_MESSAGES = VALIDATION_MESSAGES;
|
|
8
10
|
this.loader = false;
|
|
9
11
|
this.tabType = 'frequency';
|
|
10
12
|
this.submitResponsibilityBulkUpload = new EventEmitter();
|
|
@@ -69,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
69
71
|
}], responsibilityType: [{
|
|
70
72
|
type: Input
|
|
71
73
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1yZXNwb25zaWJpbGl0eS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYnVsay1yZXNwb25zaWJpbGl0eS12aWV3L2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy9idWxrLXJlc3BvbnNpYmlsaXR5LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPdkUsTUFBTSxPQUFPLCtCQUErQjtJQUw1QztRQVNXLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQTZDLFdBQVcsQ0FBQztRQUcvRCxtQ0FBOEIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxXQUFXLENBQUM7UUFDMUMsMEJBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUNwQyxxQ0FBZ0MsR0FBUSxFQUFFLENBQUM7S0FvQzVDO0lBbENDLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQzNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsQ0FBQztpQkFDakM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssVUFBVSxFQUFFO1lBQzFDLElBQUksQ0FBQyxnQ0FBZ0M7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQ3pDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUN2QyxDQUFDO1lBQ0osSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLENBQ25FLENBQUMsY0FBbUIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDaEQsQ0FBQztZQUNGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUMzRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUM7aUJBQ2pDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQWpEVSwrQkFBK0I7bUdBQS9CLCtCQUErQixzYkNQNUMscTR1QkEwVWtIOzs0RkRuVXJHLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSw4QkFBOEI7OEJBSy9CLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLDhCQUE4QjtzQkFBdkMsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYnVsay1yZXNwb25zaWJpbGl0eS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCdWxrUmVzcG9uc2liaWxpdHlWaWV3Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkITogYW55O1xuICBASW5wdXQoKSBmaWxlTmFtZSE6IGFueTtcbiAgQElucHV0KCkgZGVmYXVsdE93bmVyITogYW55O1xuICBASW5wdXQoKSBsb2FkZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgdGFiVHlwZTogJ2ZyZXF1ZW5jeScgfCAnb25nb2luZycgfCAnb25Db21wbGV0aW9uJyA9ICdmcmVxdWVuY3knO1xuICBASW5wdXQoKSBidWxrVXBsb2FkOiBhbnk7XG5cbiAgQE91dHB1dCgpIHN1Ym1pdFJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkVGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSByZXNwb25zaWJpbGl0eVR5cGUgPSAnc2luZ2xlVGFiJztcbiAgZmluYWxSZXNwb25zaWJpbGl0aWVzID0gMDtcbiAgaXNDb25maXJtQ2xpY2thYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHJlc3BvbnNpYmlsaXR5TXVsdGlUYWJCdWxrVXBsb2FkOiBhbnkgPSBbXTtcblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQpIHtcbiAgICAgIHRoaXMuZmluYWxSZXNwb25zaWJpbGl0aWVzID0gMDtcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5yZXBvcnRzLmZvckVhY2goKHJpc2s6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmlzay5pc1ZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5maW5hbFJlc3BvbnNpYmlsaXRpZXMgKz0gMTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5VHlwZSA9PT0gJ211bHRpVGFiJykge1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eU11bHRpVGFiQnVsa1VwbG9hZCA9XG4gICAgICAgIHRoaXMuYnVsa1VwbG9hZD8uZnJlcXVlbmN5Py5yZXBvcnRzPy5jb25jYXQoXG4gICAgICAgICAgdGhpcy5idWxrVXBsb2FkPy5vbmdvaW5nPy5yZXBvcnRzLFxuICAgICAgICAgIHRoaXMuYnVsa1VwbG9hZD8ub25Db21wbGV0aW9uPy5yZXBvcnRzXG4gICAgICAgICk7XG4gICAgICB0aGlzLmlzQ29uZmlybUNsaWNrYWJsZSA9IHRoaXMucmVzcG9uc2liaWxpdHlNdWx0aVRhYkJ1bGtVcGxvYWQ/LnNvbWUoXG4gICAgICAgIChyZXNwb25zaWJpbGl0eTogYW55KSA9PiByZXNwb25zaWJpbGl0eS5pc1ZhbGlkXG4gICAgICApO1xuICAgICAgdGhpcy5maW5hbFJlc3BvbnNpYmlsaXRpZXMgPSAwO1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eU11bHRpVGFiQnVsa1VwbG9hZD8uZm9yRWFjaCgocmlzazogYW55KSA9PiB7XG4gICAgICAgIGlmIChyaXNrLmlzVmFsaWQpIHtcbiAgICAgICAgICB0aGlzLmZpbmFsUmVzcG9uc2liaWxpdGllcyArPSAxO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgdGhpcy5zdWJtaXRSZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQuZW1pdCgpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG59XG4iLCI8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tdXB3YXJkIGlzIG5ldyBvbmUtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjxhcHAtbG9hZGVyICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbG9hZGVyPlxuXG5cblxuXG5cblxuPCEtLSBIVE1MIGZvciBtdWx0aXBsZSB0YWJzIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5VHlwZSA9PT0gJ211bHRpVGFiJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJidWxrLXZpZXdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstdmlldy1oZWFkXCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJidWxrLXZpZXctdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7e2ZpbGVOYW1lfX1cbiAgICAgICAgICAgIDwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3LWJvZHkgYnVsa1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlld1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IGhlYWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gc2wtbm9cIj4jPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmVzcG9uc2liaWxpdHkgTmFtZSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiAqbmdJZj1cInJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uaGVhZGVyLmluY2x1ZGVzKCdQcm9ncmFtJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+UHJvZ3JhbTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlByb2dyYW0gVHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UHJvZ3JhbTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UHJvZ3JhbSBDYXRlZ29yeTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkVudHJ1c3RlZCBCeTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5FbnRydXN0IFRvIDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5QZXJzb24gb3IgR3JvdXA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkFsbCBvciBBbnkgUGVyc29uczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPktleSBSZXNwb25zaWJpbGl0eT88L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiAqbmdJZj1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maXZlLWNvbHVtbl09XCJ0YWJUeXBlID09PSAnZnJlcXVlbmN5JyB8fCB0YWJUeXBlID09PSAnb25Db21wbGV0aW9uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRhYlR5cGUgPT09ICdvbmdvaW5nJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+RnJlcXVlbmN5IG9mIE9jY3VycmVuY2UgYW5kIENvbXBsZXRpb24gV2luZG93IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPnt7cmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5oZWFkZXIuaW5jbHVkZXMoJ1Byb2dyYW0nKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uaGVhZGVyWzhdPy5zbGljZSgwLCAtMSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LmhlYWRlcls1XT8uc2xpY2UoMCwgLTEpfX08c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZml2ZS1jb2x1bW5dPVwidGFiVHlwZSA9PT0gJ2ZyZXF1ZW5jeScgfHwgdGFiVHlwZSA9PT0gJ29uQ29tcGxldGlvbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidGFiVHlwZSA9PT0gJ29uZ29pbmcnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RnJlcXVlbmN5IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkR1ZSBEYXRlIDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCI+KERheSk8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RHVlIERhdGUgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIj4oTW9udGgpPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlN0YXJ0IDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCI+KE5vLiBvZiBkYXlzIGJlZm9yZSB0aGUgZHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZSk8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RmFpbCA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwVG9vbHRpcD1cIihOby4gb2YgZGF5cyBhZnRlciB0aGUgZHVlIGRhdGUuIFNlbGVjdCAnMCcgaWYgdGhlIHJlc3BvbnNpYmlsaXR5IG11c3QgYmUgY29tcGxldGVkIG9uIHRoZSBkdWUgZGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+KE5vLiBvZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheXMgYWZ0ZXIgdGhlIGR1ZSBkYXRlLiBTZWxlY3QgXCIwXCIgaWYgdGhlIHJlc3BvbnNpYmlsaXR5IG11c3QgYmUgY29tcGxldGVkIG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGR1ZSBkYXRlKTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gdHdvLWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPlJlc3BvbnNpYmlsaXR5IENlbnRyZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW4gdHdvLWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmVzcG9uc2liaWxpdHkgQ2VudHJlIE5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlJlc3BvbnNpYmlsaXR5IENlbnRyZSBUeXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmlzayBDbGFzczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk9iamVjdGl2ZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk5vdGVzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPkZvcm1hdCAmIEV2aWRlbmNlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3Muc21hbGwtY29sdW1uXT1cInRydWVcIj5Gb3JtYXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPkZvcm1hdCBGb3IgUmVzcG9uc2liaWxpdHkgKGxpbmspPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3Muc21hbGwtY29sdW1uXT1cInRydWVcIj5FdmlkZW5jZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+QXNzZXNzbWVudHMgb3IgQ2hlY2twb2ludHM8L2Rpdj4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGZvdXItY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+UmV2aWV3IG9mIFJlc3BvbnNpYmlsaXR5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy5mb3VyLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SZXZpZXdlcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmV2aWV3ZXIgVHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiPihTcGVjaWZ5IHRoZSB0eXBlIG9mIHJldmlld2VyIGZsb3cpPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlJldmlldyBTdGFydCA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiPihOby4gb2YgZGF5cyBiZWZvcmUgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUgZGF0ZSk8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SZXZpZXcgRmFpbCA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBUb29sdGlwPVwiKE5vLiBvZiBkYXlzIGFmdGVyIHRoZSBkdWUgZGF0ZS4gU2VsZWN0ICcwJyBpZiB0aGUgcmVzcG9uc2liaWxpdHkgbXVzdCBiZSByZXZpZXdlZCBvbiB0aGUgZHVlIGRhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+KE5vLiBvZiBkYXlzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciB0aGUgZHVlIGRhdGUuIFNlbGVjdCBcIjBcIiBpZiB0aGUgcmVzcG9uc2liaWxpdHkgbXVzdCBiZSByZXZpZXdlZCBvbiB0aGUgZHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlKTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+T3ZlcnNlZXI8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+QWx3YXlzIE5vdGlmeTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+Tm90aWZ5IG9uIEZhaWx1cmU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPk92ZXJzZWVyPC9kaXY+IC0tPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIiAqbmdGb3I9XCJsZXQgcmVwb3J0IG9mIHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8ucmVwb3J0czsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBzbC1ub1wiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py5pc1ZhbGlkXCI+e3tpKzF9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0LnJlc3BvbnNpYmlsaXR5TmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5TmFtZX19IDxpICpuZ0lmPVwiIXJlcG9ydC5yZXNwb25zaWJpbGl0eU5hbWVcIiBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInRW50ZXIgYSBuYW1lIGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5LidcIiBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LmhlYWRlci5pbmNsdWRlcygnUHJvZ3JhbScpXCIgW2NsYXNzLmVycm9yXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucHJvZ3JhbVR5cGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnByb2dyYW19fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnByb2dyYW1DYXRlZ29yeX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmFzc2lnbm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGkgKm5nSWY9XCIoKHJlcG9ydD8uYXNzaWdub3IpICYmIChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/LmFzc2lnbm9yKSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIEFzc2lnbm9yIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIEFzc2lnbm9yLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmFzc2lnbmVlIHx8ICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkQXNzaWduZWUgfHwgKCFyZXBvcnQ/LmlzVmFsaWRVc2VyKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8uYXNzaWduZWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHx8ICghcmVwb3J0Py5pc1ZhbGlkVXNlcikgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKCFyZXBvcnQ/LmFzc2lnbmVlKSB8fCAoIXJlcG9ydD8uaXNWYWxpZFVzZXIpXCIgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInU2VsZWN0IHRoZSB1c2VyIHJlc3BvbnNpYmxlIGZvciBjb21wbGV0aW5nIHRoaXMgcmVzcG9uc2liaWxpdHkuICdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/LmFzc2lnbmVlKSAmJiAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZEFzc2lnbmVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgdXNlciBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZWxlY3RlZCBQcm9ncmFtLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmFzc2lnbmVlVHlwZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmtleVJlc3BvbnNpYmlsaXR5fX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uIGZpdmUtY29sdW1uXCIgKm5nSWY9XCJ0YWJUeXBlID09PSAnZnJlcXVlbmN5J1wiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW4gZml2ZS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py5mcmVxdWVuY3lcIj57e3JlcG9ydD8uZnJlcXVlbmN5fX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcmVwb3J0Py5mcmVxdWVuY3lcIiBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidTZWxlY3QgYSBmcmVxdWVuY3kgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py52YWxpZERhdGUgfHwgcmVwb3J0Py5pc1Bhc3REYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5kYXl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LnZhbGlkRGF0ZVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInSW52YWxpZCBEdWUgRGF0ZS4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlcG9ydD8uaXNQYXN0RGF0ZVwiIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgZGF0ZSBvY2N1cnMgaW4gdGhlIHBhc3QuIFNlbGVjdCBhIGZ1dHVyZSBkYXRlLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydD8udmFsaWREYXRlIHx8IHJlcG9ydD8uaXNQYXN0RGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ubW9udGh9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LnZhbGlkRGF0ZVwiIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInSW52YWxpZCBEdWUgRGF0ZS4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlcG9ydD8uaXNQYXN0RGF0ZVwiIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgZGF0ZSBvY2N1cnMgaW4gdGhlIHBhc3QuIFNlbGVjdCBhIGZ1dHVyZSBkYXRlLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmVzcG9uc2liaWxpdHlXaW5kb3d9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmZhaWxlZEFmdGVyfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW4gdHdvLWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uIHR3by1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXNwb25zaWJpbGl0eUNlbnRlcn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmVzcG9uc2liaWxpdHlDZW50ZXJUeXBlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmVwb3J0Q2xhc3N9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5vYmplY3RpdmV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5ub3Rlc319PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5zbWFsbC1jb2x1bW5dPVwidHJ1ZVwiPnt7cmVwb3J0Py5pc0Zvcm1hdH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gZXh0ZXJuYWwtbGlua1wiIFtocmVmXT1cInJlcG9ydD8uZm9ybWF0Rm9yUmVzcG9uc2liaWxpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiPnt7cmVwb3J0Py5mb3JtYXRGb3JSZXNwb25zaWJpbGl0eX19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5zbWFsbC1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8uZG9jdW1lbnRFdmlkZW5jZVJlcXVpcmVkfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5hc3Nlc3NtZW50c319PC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIiBbY2xhc3MuZm91ci1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLmZvdXItY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCJyZXBvcnQ/LnJldmlld2VyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkUmV2aWV3ZXIgKVwiPnt7cmVwb3J0Py5yZXZpZXdlcn19XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aSAqbmdJZj1cIihyZXBvcnQ/LnJldmlld2VyICYmIHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8uYXNzaWdub3IpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCIoKHJlcG9ydD8uYXNzaWdub3IpPydUaGUgQXNzaWdub3IgY2Fubm90IGFsc28gYmUgdGhlIFJldmlld2VyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuJzonWW91IGNhbm5vdCBiZSBhIFJldmlld2VyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkgc2luY2UgeW91IGFyZSB0aGUgYXNzaWdub3IuICcpICsnU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgUmV2aWV3ZXInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/LnJldmlld2VyICYmICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkUmV2aWV3ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhpcyB1c2VyIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhlIHNlbGVjdGVkIFByb2dyYW0uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucmV2aWV3ZXJUeXBlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXZpZXdUb0JlQ29tcGxldGVkV2l0aGlufX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXZpZXdXaWxsQmVGYWlsZWRBZnRlcn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cInJlcG9ydD8ub3ZlcnNlZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRPdmVyc2VlciApXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5vdmVyc2Vlcn19XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIocmVwb3J0Py5vdmVyc2VlcikgJiYgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRPdmVyc2VlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGlzIHVzZXIgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0ZWQgUHJvZ3JhbS4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCJyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWROb3RpZnlPbkZhaWx1cmUgKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ubm90aWZ5T25GYWlsdXJlfX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/Lm5vdGlmeU9uRmFpbHVyZSkgJiYgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWROb3RpZnlPbkZhaWx1cmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhpcyB1c2VyIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhlIHNlbGVjdGVkIFByb2dyYW0uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIocmVwb3J0Py5vdmVyc2VlcikgJiYgKChyZXBvcnQ/Lm92ZXJzZWVyID09PSByZXBvcnQ/LmFzc2lnbmVlKSB8fChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/Lm92ZXJzZWVyKSB8fCAocmVwb3J0Py5vdmVyc2VlciA9PSByZXBvcnQ/LmFzc2lnbm9yKSB8fCAoIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRPdmVyc2VlcikpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ub3ZlcnNlZXJ9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIocmVwb3J0Py5vdmVyc2VlcikgJiYgKChyZXBvcnQ/LnJldmlld2VyID09PSByZXBvcnQ/Lm92ZXJzZWVyKSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgUmV2aWV3ZXIgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5vdmVyc2VlciAmJiAocmVwb3J0Py5vdmVyc2VlciA9PT0gcmVwb3J0Py5hc3NpZ25lZSlcIiBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhlIEFzc2lnbmVlIGNhbm5vdCBhbHNvIGJlIHRoZSBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5LiBTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2VlcidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIigocmVwb3J0Py5vdmVyc2VlcikgJiYgKHJlcG9ydD8ub3ZlcnNlZXIgPT0gcmVwb3J0Py5hc3NpZ25vcikpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCIoKHJlcG9ydD8uYXNzaWdub3IpPydUaGUgQXNzaWdub3IgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuICc6J1lvdSBjYW5ub3QgYmUgYW4gT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eSBzaW5jZSB5b3UgYXJlIHRoZSBBc3NpZ25vci4gJykgKydTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBPdmVyc2Vlci4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZE92ZXJzZWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInU2VsZWN0ZWQgdXNlciBpcyBub3QgYSB2YWxpZCBvdmVyc2VlciBmb3Igc2VsZWN0ZWQgcHJvZ3JhbS4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xuICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cblxuXG5cblxuXG4gICAgICAgICAgICAgICAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1vbGQgY29kZSBkeW5hbWljLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cblxuICAgICAgICAgICAgICAgIDwhLS0gKm5nRm9yPVwibGV0IHJlcG9ydCBvZiByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnJlcG9ydHM7IGxldCBpID0gaW5kZXhcIiAtLT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstdmlldy1vcHRpb25cIj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJidWxrVXBsb2FkPy5mcmVxdWVuY3k/LnJlcG9ydHM/Lmxlbmd0aFwiIFtjbGFzcy5hY3RpdmVdPVwidGFiVHlwZSA9PT0gJ2ZyZXF1ZW5jeSdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZFRhYi5lbWl0KCdmcmVxdWVuY3knKVwiPkZyZXF1ZW5jeSBSZXNwb25zaWJpbGl0aWVzPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYnVsa1VwbG9hZD8ub25nb2luZz8ucmVwb3J0cz8ubGVuZ3RoXCIgW2NsYXNzLmFjdGl2ZV09XCJ0YWJUeXBlID09PSAnb25nb2luZydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZFRhYi5lbWl0KCdvbmdvaW5nJylcIj5PbmdvaW5nIFJlc3BvbnNpYmlsaXRpZXM8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJidWxrVXBsb2FkPy5vbkNvbXBsZXRpb24/LnJlcG9ydHM/Lmxlbmd0aFwiIFtjbGFzcy5hY3RpdmVdPVwidGFiVHlwZSA9PT0gJ29uQ29tcGxldGlvbidcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZFRhYi5lbWl0KCdvbkNvbXBsZXRpb24nKVwiPk9uIENvbXBsZXRpb24gUmVzcG9uc2liaWxpdGllczwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstdmlldy1mb290ZXJcIj5cbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImxlZnRcIj5cbiAgICAgICAgICAgICAgICA8cD57e2ZpbmFsUmVzcG9uc2liaWxpdGllc319IG91dCBvZiB7e3Jlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8ucmVwb3J0cz8ubGVuZ3RofX0gcmVzcG9uc2liaWxpdGllcyB3aWxsIGJlXG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZGVkLjwvcD5cbiAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XG4gICAgICAgICAgICAgICAgPHA+e3tmaW5hbFJlc3BvbnNpYmlsaXRpZXN9fSBvdXQgb2Yge3tyZXNwb25zaWJpbGl0eU11bHRpVGFiQnVsa1VwbG9hZD8ubGVuZ3RofX1cbiAgICAgICAgICAgICAgICAgICAge3tyZXNwb25zaWJpbGl0eU11bHRpVGFiQnVsa1VwbG9hZD8ubGVuZ3RoID4gMSA/ICdyZXNwb25zaWJpbGl0aWVzJyA6ICdyZXNwb25zaWJpbGl0eSd9fSB3aWxsIGJlXG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZGVkLjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiIGlkPVwiYnVsay1yZXNwLWNhbmNlbFwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInN1Ym1pdCgpXCIgaWQ9XCJidWxrLXJlc3AtY29uZmlybVwiIFtkaXNhYmxlZF09XCIhaXNDb25maXJtQ2xpY2thYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJibHVlXCI+Q29uZmlybTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwhLS0gZmluYWxSZXNwb25zaWJpbGl0aWVzIDwgMSAtLT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWxvYWRlciAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxvYWRlcj5cblxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS11cHdhcmQgaXMgbmV3IG9uZS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPiJdfQ==
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1yZXNwb25zaWJpbGl0eS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYnVsay1yZXNwb25zaWJpbGl0eS12aWV3L2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy9idWxrLXJlc3BvbnNpYmlsaXR5LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUFNckUsTUFBTSxPQUFPLCtCQUErQjtJQUw1QztRQU9FLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBS2pDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQTZDLFdBQVcsQ0FBQztRQUcvRCxtQ0FBOEIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxXQUFXLENBQUM7UUFDMUMsMEJBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUNwQyxxQ0FBZ0MsR0FBUSxFQUFFLENBQUM7S0FvQzVDO0lBbENDLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQzNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsQ0FBQztpQkFDakM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssVUFBVSxFQUFFO1lBQzFDLElBQUksQ0FBQyxnQ0FBZ0M7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQ3pDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUN2QyxDQUFDO1lBQ0osSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLENBQ25FLENBQUMsY0FBbUIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDaEQsQ0FBQztZQUNGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUMzRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUM7aUJBQ2pDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDOytHQXBEVSwrQkFBK0I7bUdBQS9CLCtCQUErQixzYkNQNUMscTR1QkEwVWtIOzs0RkRuVXJHLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSw4QkFBOEI7OEJBUS9CLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLDhCQUE4QjtzQkFBdkMsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkFMSURBVElPTl9NRVNTQUdFUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9yZXNwb25zaWJpbGl0eSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYnVsay1yZXNwb25zaWJpbGl0eS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCdWxrUmVzcG9uc2liaWxpdHlWaWV3Q29tcG9uZW50IHtcblxuICBWQUxJREFUSU9OX01FU1NBR0VTID0gVkFMSURBVElPTl9NRVNTQUdFUztcblxuICBASW5wdXQoKSByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQhOiBhbnk7XG4gIEBJbnB1dCgpIGZpbGVOYW1lITogYW55O1xuICBASW5wdXQoKSBkZWZhdWx0T3duZXIhOiBhbnk7XG4gIEBJbnB1dCgpIGxvYWRlciA9IGZhbHNlO1xuICBASW5wdXQoKSB0YWJUeXBlOiAnZnJlcXVlbmN5JyB8ICdvbmdvaW5nJyB8ICdvbkNvbXBsZXRpb24nID0gJ2ZyZXF1ZW5jeSc7XG4gIEBJbnB1dCgpIGJ1bGtVcGxvYWQ6IGFueTtcblxuICBAT3V0cHV0KCkgc3VibWl0UmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRUYWIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHJlc3BvbnNpYmlsaXR5VHlwZSA9ICdzaW5nbGVUYWInO1xuICBmaW5hbFJlc3BvbnNpYmlsaXRpZXMgPSAwO1xuICBpc0NvbmZpcm1DbGlja2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVzcG9uc2liaWxpdHlNdWx0aVRhYkJ1bGtVcGxvYWQ6IGFueSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZCkge1xuICAgICAgdGhpcy5maW5hbFJlc3BvbnNpYmlsaXRpZXMgPSAwO1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LnJlcG9ydHMuZm9yRWFjaCgocmlzazogYW55KSA9PiB7XG4gICAgICAgIGlmIChyaXNrLmlzVmFsaWQpIHtcbiAgICAgICAgICB0aGlzLmZpbmFsUmVzcG9uc2liaWxpdGllcyArPSAxO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlUeXBlID09PSAnbXVsdGlUYWInKSB7XG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TXVsdGlUYWJCdWxrVXBsb2FkID1cbiAgICAgICAgdGhpcy5idWxrVXBsb2FkPy5mcmVxdWVuY3k/LnJlcG9ydHM/LmNvbmNhdChcbiAgICAgICAgICB0aGlzLmJ1bGtVcGxvYWQ/Lm9uZ29pbmc/LnJlcG9ydHMsXG4gICAgICAgICAgdGhpcy5idWxrVXBsb2FkPy5vbkNvbXBsZXRpb24/LnJlcG9ydHNcbiAgICAgICAgKTtcbiAgICAgIHRoaXMuaXNDb25maXJtQ2xpY2thYmxlID0gdGhpcy5yZXNwb25zaWJpbGl0eU11bHRpVGFiQnVsa1VwbG9hZD8uc29tZShcbiAgICAgICAgKHJlc3BvbnNpYmlsaXR5OiBhbnkpID0+IHJlc3BvbnNpYmlsaXR5LmlzVmFsaWRcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbmFsUmVzcG9uc2liaWxpdGllcyA9IDA7XG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TXVsdGlUYWJCdWxrVXBsb2FkPy5mb3JFYWNoKChyaXNrOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJpc2suaXNWYWxpZCkge1xuICAgICAgICAgIHRoaXMuZmluYWxSZXNwb25zaWJpbGl0aWVzICs9IDE7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICB0aGlzLnN1Ym1pdFJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZC5lbWl0KCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gIH1cbn1cbiIsIjwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS11cHdhcmQgaXMgbmV3IG9uZS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPGFwcC1sb2FkZXIgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXI+XG5cblxuXG5cblxuXG48IS0tIEhUTUwgZm9yIG11bHRpcGxlIHRhYnMgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHlUeXBlID09PSAnbXVsdGlUYWInXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1bGstdmlld1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3LWhlYWRcIj5cbiAgICAgICAgICAgIDxoMiBjbGFzcz1cImJ1bGstdmlldy10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7ZmlsZU5hbWV9fVxuICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLXZpZXctYm9keSBidWxrXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgaGVhZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBzbC1ub1wiPiM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SZXNwb25zaWJpbGl0eSBOYW1lIDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiICpuZ0lmPVwicmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5oZWFkZXIuaW5jbHVkZXMoJ1Byb2dyYW0nKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5Qcm9ncmFtPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UHJvZ3JhbSBUeXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5Qcm9ncmFtPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5Qcm9ncmFtIENhdGVnb3J5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RW50cnVzdGVkIEJ5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBsYXJnZVwiPkVudHJ1c3QgVG8gPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlBlcnNvbiBvciBHcm91cDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+QWxsIG9yIEFueSBQZXJzb25zPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+S2V5IFJlc3BvbnNpYmlsaXR5PzwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiICpuZ0lmPVwidGFiVHlwZSA9PT0gJ2ZyZXF1ZW5jeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZpdmUtY29sdW1uXT1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knIHx8IHRhYlR5cGUgPT09ICdvbkNvbXBsZXRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwidGFiVHlwZSA9PT0gJ29uZ29pbmcnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5GcmVxdWVuY3kgb2YgT2NjdXJyZW5jZSBhbmQgQ29tcGxldGlvbiBXaW5kb3cgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+e3tyZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQ/LmhlYWRlci5pbmNsdWRlcygnUHJvZ3JhbScpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5oZWFkZXJbOF0/LnNsaWNlKDAsIC0xKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uaGVhZGVyWzVdPy5zbGljZSgwLCAtMSl9fTxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maXZlLWNvbHVtbl09XCJ0YWJUeXBlID09PSAnZnJlcXVlbmN5JyB8fCB0YWJUeXBlID09PSAnb25Db21wbGV0aW9uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0YWJUeXBlID09PSAnb25nb2luZydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiVHlwZSA9PT0gJ2ZyZXF1ZW5jeSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5GcmVxdWVuY3kgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+RHVlIERhdGUgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIj4oRGF5KTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5EdWUgRGF0ZSA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiPihNb250aCk8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+U3RhcnQgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIj4oTm8uIG9mIGRheXMgYmVmb3JlIHRoZSBkdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlKTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5GYWlsIDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBUb29sdGlwPVwiKE5vLiBvZiBkYXlzIGFmdGVyIHRoZSBkdWUgZGF0ZS4gU2VsZWN0ICcwJyBpZiB0aGUgcmVzcG9uc2liaWxpdHkgbXVzdCBiZSBjb21wbGV0ZWQgb24gdGhlIGR1ZSBkYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj4oTm8uIG9mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF5cyBhZnRlciB0aGUgZHVlIGRhdGUuIFNlbGVjdCBcIjBcIiBpZiB0aGUgcmVzcG9uc2liaWxpdHkgbXVzdCBiZSBjb21wbGV0ZWQgb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZHVlIGRhdGUpPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiB0d28tY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+UmVzcG9uc2liaWxpdHkgQ2VudHJlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtbiB0d28tY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SZXNwb25zaWJpbGl0eSBDZW50cmUgTmFtZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmVzcG9uc2liaWxpdHkgQ2VudHJlIFR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SaXNrIENsYXNzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+T2JqZWN0aXZlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+Tm90ZXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIGxhcmdlXCI+Rm9ybWF0ICYgRXZpZGVuY2U8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiIFtjbGFzcy50aHJlZS1jb2x1bW5dPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5zbWFsbC1jb2x1bW5dPVwidHJ1ZVwiPkZvcm1hdDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+Rm9ybWF0IEZvciBSZXNwb25zaWJpbGl0eSAobGluayk8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5zbWFsbC1jb2x1bW5dPVwidHJ1ZVwiPkV2aWRlbmNlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5Bc3Nlc3NtZW50cyBvciBDaGVja3BvaW50czwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gZm91ci1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5SZXZpZXcgb2YgUmVzcG9uc2liaWxpdHk8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLmZvdXItY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlJldmlld2VyPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5SZXZpZXdlciBUeXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCI+KFNwZWNpZnkgdGhlIHR5cGUgb2YgcmV2aWV3ZXIgZmxvdyk8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+UmV2aWV3IFN0YXJ0IDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCI+KE5vLiBvZiBkYXlzIGJlZm9yZSB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSBkYXRlKTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPlJldmlldyBGYWlsIDxzcGFuIGNsYXNzPVwiaW5mby10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcFRvb2x0aXA9XCIoTm8uIG9mIGRheXMgYWZ0ZXIgdGhlIGR1ZSBkYXRlLiBTZWxlY3QgJzAnIGlmIHRoZSByZXNwb25zaWJpbGl0eSBtdXN0IGJlIHJldmlld2VkIG9uIHRoZSBkdWUgZGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj4oTm8uIG9mIGRheXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIHRoZSBkdWUgZGF0ZS4gU2VsZWN0IFwiMFwiIGlmIHRoZSByZXNwb25zaWJpbGl0eSBtdXN0IGJlIHJldmlld2VkIG9uIHRoZSBkdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGUpPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy50d28tY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbGFyZ2VcIj5PdmVyc2VlcjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5BbHdheXMgTm90aWZ5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj5Ob3RpZnkgb24gRmFpbHVyZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+T3ZlcnNlZXI8L2Rpdj4gLS0+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvd1wiICpuZ0Zvcj1cImxldCByZXBvcnQgb2YgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5yZXBvcnRzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIHNsLW5vXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmlzVmFsaWRcIj57e2krMX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQucmVzcG9uc2liaWxpdHlOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3JlcG9ydD8ucmVzcG9uc2liaWxpdHlOYW1lfX0gPGkgKm5nSWY9XCIhcmVwb3J0LnJlc3BvbnNpYmlsaXR5TmFtZVwiIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidFbnRlciBhIG5hbWUgZm9yIHRoaXMgcmVzcG9uc2liaWxpdHkuJ1wiIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uaGVhZGVyLmluY2x1ZGVzKCdQcm9ncmFtJylcIiBbY2xhc3MuZXJyb3JdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRocmVlLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudGhyZWUtY29sdW1uXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5wcm9ncmFtVHlwZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucHJvZ3JhbX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ucHJvZ3JhbUNhdGVnb3J5fX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uYXNzaWdub3J9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aSAqbmdJZj1cIigocmVwb3J0Py5hc3NpZ25vcikgJiYgKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8uYXNzaWdub3IpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBSZXZpZXdlciBjYW5ub3QgYWxzbyBiZSB0aGUgQXNzaWdub3Igb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgQXNzaWdub3IuJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXJyb3JdPVwiIXJlcG9ydD8uYXNzaWduZWUgfHwgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRBc3NpZ25lZSB8fCAoIXJlcG9ydD8uaXNWYWxpZFVzZXIpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5hc3NpZ25lZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gfHwgKCFyZXBvcnQ/LmlzVmFsaWRVc2VyKSAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIoIXJlcG9ydD8uYXNzaWduZWUpIHx8ICghcmVwb3J0Py5pc1ZhbGlkVXNlcilcIiBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidTZWxlY3QgdGhlIHVzZXIgcmVzcG9uc2libGUgZm9yIGNvbXBsZXRpbmcgdGhpcyByZXNwb25zaWJpbGl0eS4gJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8uYXNzaWduZWUpICYmICFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkQXNzaWduZWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhpcyB1c2VyIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggdGhlIHNlbGVjdGVkIFByb2dyYW0uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uYXNzaWduZWVUeXBlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8ua2V5UmVzcG9uc2liaWxpdHl9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW4gZml2ZS1jb2x1bW5cIiAqbmdJZj1cInRhYlR5cGUgPT09ICdmcmVxdWVuY3knXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctcm93IG11bHRpLWNvbHVtbiBmaXZlLWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiPnt7cmVwb3J0Py5mcmVxdWVuY3l9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LmZyZXF1ZW5jeVwiIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1NlbGVjdCBhIGZyZXF1ZW5jeSBmb3IgdGhpcyByZXNwb25zaWJpbGl0eS4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIiFyZXBvcnQ/LnZhbGlkRGF0ZSB8fCByZXBvcnQ/LmlzUGFzdERhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tyZXBvcnQ/LmRheX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8udmFsaWREYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidJbnZhbGlkIER1ZSBEYXRlLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5pc1Bhc3REYXRlXCIgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhpcyBkYXRlIG9jY3VycyBpbiB0aGUgcGFzdC4gU2VsZWN0IGEgZnV0dXJlIGRhdGUuJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiIFtjbGFzcy5lcnJvcl09XCIhcmVwb3J0Py52YWxpZERhdGUgfHwgcmVwb3J0Py5pc1Bhc3REYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5tb250aH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIXJlcG9ydD8udmFsaWREYXRlXCIgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidJbnZhbGlkIER1ZSBEYXRlLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjs8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVwb3J0Py5pc1Bhc3REYXRlXCIgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInVGhpcyBkYXRlIG9jY3VycyBpbiB0aGUgcGFzdC4gU2VsZWN0IGEgZnV0dXJlIGRhdGUuJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiB0eXBlPVwid2hpdGVcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09dHJ1ZT4mI3hlOTMyOzwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXNwb25zaWJpbGl0eVdpbmRvd319PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIj57e3JlcG9ydD8uZmFpbGVkQWZ0ZXJ9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtbiB0d28tY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW4gdHdvLWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJlc3BvbnNpYmlsaXR5Q2VudGVyfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXNwb25zaWJpbGl0eUNlbnRlclR5cGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXBvcnRDbGFzc319PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/Lm9iamVjdGl2ZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/Lm5vdGVzfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW4gbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1yb3cgbXVsdGktY29sdW1uXCIgW2NsYXNzLnR3by1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLnNtYWxsLWNvbHVtbl09XCJ0cnVlXCI+e3tyZXBvcnQ/LmlzRm9ybWF0fX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBleHRlcm5hbC1saW5rXCIgW2hyZWZdPVwicmVwb3J0Py5mb3JtYXRGb3JSZXNwb25zaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCI+e3tyZXBvcnQ/LmZvcm1hdEZvclJlc3BvbnNpYmlsaXR5fX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLnNtYWxsLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5kb2N1bWVudEV2aWRlbmNlUmVxdWlyZWR9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LmFzc2Vzc21lbnRzfX08L2Rpdj4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uIG11bHRpLWNvbHVtblwiIFtjbGFzcy5mb3VyLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MuZm91ci1jb2x1bW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cInJlcG9ydD8ucmV2aWV3ZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRSZXZpZXdlciApXCI+e3tyZXBvcnQ/LnJldmlld2VyfX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpICpuZ0lmPVwiKHJlcG9ydD8ucmV2aWV3ZXIgJiYgcmVwb3J0Py5yZXZpZXdlciA9PT0gcmVwb3J0Py5hc3NpZ25vcilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIigocmVwb3J0Py5hc3NpZ25vcik/J1RoZSBBc3NpZ25vciBjYW5ub3QgYWxzbyBiZSB0aGUgUmV2aWV3ZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4nOidZb3UgY2Fubm90IGJlIGEgUmV2aWV3ZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eSBzaW5jZSB5b3UgYXJlIHRoZSBhc3NpZ25vci4gJykgKydTZWxlY3QgYW5vdGhlciB1c2VyIGFzIHRoZSBSZXZpZXdlcidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlcG9ydD8ucmV2aWV3ZXIgJiYgIXJlcG9ydD8udXNlclZhbGlkYXRlV2l0aFByb2dyYW0/LmlzVmFsaWRSZXZpZXdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGlzIHVzZXIgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0ZWQgUHJvZ3JhbS4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtblwiPnt7cmVwb3J0Py5yZXZpZXdlclR5cGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJldmlld1RvQmVDb21wbGV0ZWRXaXRoaW59fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCI+e3tyZXBvcnQ/LnJldmlld1dpbGxCZUZhaWxlZEFmdGVyfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LWNvbHVtbiBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXhlbC12aWV3LXJvdyBtdWx0aS1jb2x1bW5cIiBbY2xhc3MudHdvLWNvbHVtbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4ZWwtdmlldy1jb2x1bW5cIiBbY2xhc3MuZXJyb3JdPVwicmVwb3J0Py5vdmVyc2VlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZE92ZXJzZWVyIClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tyZXBvcnQ/Lm92ZXJzZWVyfX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/Lm92ZXJzZWVyKSAmJiAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZE92ZXJzZWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgdXNlciBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZWxlY3RlZCBQcm9ncmFtLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cInJlcG9ydD8ubm90aWZ5T25GYWlsdXJlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZE5vdGlmeU9uRmFpbHVyZSApXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5ub3RpZnlPbkZhaWx1cmV9fVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKHJlcG9ydD8ubm90aWZ5T25GYWlsdXJlKSAmJiAhcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZE5vdGlmeU9uRmFpbHVyZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGlzIHVzZXIgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0ZWQgUHJvZ3JhbS4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJleGVsLXZpZXctY29sdW1uXCIgW2NsYXNzLmVycm9yXT1cIihyZXBvcnQ/Lm92ZXJzZWVyKSAmJiAoKHJlcG9ydD8ub3ZlcnNlZXIgPT09IHJlcG9ydD8uYXNzaWduZWUpIHx8KHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8ub3ZlcnNlZXIpIHx8IChyZXBvcnQ/Lm92ZXJzZWVyID09IHJlcG9ydD8uYXNzaWdub3IpIHx8ICghcmVwb3J0Py51c2VyVmFsaWRhdGVXaXRoUHJvZ3JhbT8uaXNWYWxpZE92ZXJzZWVyKSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVwb3J0Py5vdmVyc2Vlcn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIihyZXBvcnQ/Lm92ZXJzZWVyKSAmJiAoKHJlcG9ydD8ucmV2aWV3ZXIgPT09IHJlcG9ydD8ub3ZlcnNlZXIpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ1RoZSBSZXZpZXdlciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gU2VsZWN0IGFub3RoZXIgdXNlciBhcyB0aGUgT3ZlcnNlZXIuJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJyZXBvcnQ/Lm92ZXJzZWVyICYmIChyZXBvcnQ/Lm92ZXJzZWVyID09PSByZXBvcnQ/LmFzc2lnbmVlKVwiIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidUaGUgQXNzaWduZWUgY2Fubm90IGFsc28gYmUgdGhlIE92ZXJzZWVyIG9mIHRoaXMgcmVzcG9uc2liaWxpdHkuIFNlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLXJpZ2h0XCIgdHlwZT1cIndoaXRlXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPXRydWU+JiN4ZTkzMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiKChyZXBvcnQ/Lm92ZXJzZWVyKSAmJiAocmVwb3J0Py5vdmVyc2VlciA9PSByZXBvcnQ/LmFzc2lnbm9yKSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIigocmVwb3J0Py5hc3NpZ25vcik/J1RoZSBBc3NpZ25vciBjYW5ub3QgYWxzbyBiZSB0aGUgT3ZlcnNlZXIgb2YgdGhpcyByZXNwb25zaWJpbGl0eS4gJzonWW91IGNhbm5vdCBiZSBhbiBPdmVyc2VlciBvZiB0aGlzIHJlc3BvbnNpYmlsaXR5IHNpbmNlIHlvdSBhcmUgdGhlIEFzc2lnbm9yLiAnKSArJ1NlbGVjdCBhbm90aGVyIHVzZXIgYXMgdGhlIE92ZXJzZWVyLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFyZXBvcnQ/LnVzZXJWYWxpZGF0ZVdpdGhQcm9ncmFtPy5pc1ZhbGlkT3ZlcnNlZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidTZWxlY3RlZCB1c2VyIGlzIG5vdCBhIHZhbGlkIG92ZXJzZWVyIGZvciBzZWxlY3RlZCBwcm9ncmFtLidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIHR5cGU9XCJ3aGl0ZVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT10cnVlPiYjeGU5MzI7XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG5cblxuXG5cbiAgICAgICAgICAgICAgICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLW9sZCBjb2RlIGR5bmFtaWMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuXG4gICAgICAgICAgICAgICAgPCEtLSAqbmdGb3I9XCJsZXQgcmVwb3J0IG9mIHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8ucmVwb3J0czsgbGV0IGkgPSBpbmRleFwiIC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3LW9wdGlvblwiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImJ1bGtVcGxvYWQ/LmZyZXF1ZW5jeT8ucmVwb3J0cz8ubGVuZ3RoXCIgW2NsYXNzLmFjdGl2ZV09XCJ0YWJUeXBlID09PSAnZnJlcXVlbmN5J1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkVGFiLmVtaXQoJ2ZyZXF1ZW5jeScpXCI+RnJlcXVlbmN5IFJlc3BvbnNpYmlsaXRpZXM8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJidWxrVXBsb2FkPy5vbmdvaW5nPy5yZXBvcnRzPy5sZW5ndGhcIiBbY2xhc3MuYWN0aXZlXT1cInRhYlR5cGUgPT09ICdvbmdvaW5nJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkVGFiLmVtaXQoJ29uZ29pbmcnKVwiPk9uZ29pbmcgUmVzcG9uc2liaWxpdGllczwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImJ1bGtVcGxvYWQ/Lm9uQ29tcGxldGlvbj8ucmVwb3J0cz8ubGVuZ3RoXCIgW2NsYXNzLmFjdGl2ZV09XCJ0YWJUeXBlID09PSAnb25Db21wbGV0aW9uJ1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkVGFiLmVtaXQoJ29uQ29tcGxldGlvbicpXCI+T24gQ29tcGxldGlvbiBSZXNwb25zaWJpbGl0aWVzPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay12aWV3LWZvb3RlclwiPlxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibGVmdFwiPlxuICAgICAgICAgICAgICAgIDxwPnt7ZmluYWxSZXNwb25zaWJpbGl0aWVzfX0gb3V0IG9mIHt7cmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkPy5yZXBvcnRzPy5sZW5ndGh9fSByZXNwb25zaWJpbGl0aWVzIHdpbGwgYmVcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkZWQuPC9wPlxuICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cbiAgICAgICAgICAgICAgICA8cD57e2ZpbmFsUmVzcG9uc2liaWxpdGllc319IG91dCBvZiB7e3Jlc3BvbnNpYmlsaXR5TXVsdGlUYWJCdWxrVXBsb2FkPy5sZW5ndGh9fVxuICAgICAgICAgICAgICAgICAgICB7e3Jlc3BvbnNpYmlsaXR5TXVsdGlUYWJCdWxrVXBsb2FkPy5sZW5ndGggPiAxID8gJ3Jlc3BvbnNpYmlsaXRpZXMnIDogJ3Jlc3BvbnNpYmlsaXR5J319IHdpbGwgYmVcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkZWQuPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgaWQ9XCJidWxrLXJlc3AtY2FuY2VsXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic3VibWl0KClcIiBpZD1cImJ1bGstcmVzcC1jb25maXJtXCIgW2Rpc2FibGVkXT1cIiFpc0NvbmZpcm1DbGlja2FibGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsdWVcIj5Db25maXJtPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPCEtLSBmaW5hbFJlc3BvbnNpYmlsaXRpZXMgPCAxIC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxhcHAtbG9hZGVyICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbG9hZGVyPlxuXG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXVwd2FyZCBpcyBuZXcgb25lLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+Il19
|