@ieeesa-npm/events-and-meetings 0.5.2 → 0.5.4
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/assets/constants.json +5 -5
- package/esm2022/lib/assets/form-validations.mjs +7 -7
- package/esm2022/lib/components/add-meeting/add-meeting.component.mjs +2 -2
- package/esm2022/lib/components/create-modify-event/create-modify-event.component.mjs +30 -8
- package/esm2022/lib/components/create-modify-event-or-meeting/create-modify-event-or-meeting.component.mjs +5 -2
- package/esm2022/lib/components/create-modify-meeting/create-modify-meeting.component.mjs +36 -5
- package/esm2022/lib/components/events-and-meetings-list/events-and-meetings-list.component.mjs +1002 -0
- package/esm2022/lib/events-and-meetings.component.mjs +3 -4
- package/esm2022/lib/services/events-and-meetings.service.mjs +1 -9
- package/esm2022/public-api.mjs +2 -4
- package/fesm2022/ieeesa-npm-events-and-meetings.mjs +107 -92
- package/fesm2022/ieeesa-npm-events-and-meetings.mjs.map +1 -1
- package/lib/components/add-meeting/add-meeting.component.d.ts +1 -1
- package/lib/components/create-modify-event/create-modify-event.component.d.ts +1 -1
- package/lib/components/create-modify-event-or-meeting/create-modify-event-or-meeting.component.d.ts +1 -1
- package/lib/components/create-modify-meeting/create-modify-meeting.component.d.ts +1 -1
- package/lib/components/{events-and-meetings-agendas/events-and-meetings-agendas.component.d.ts → events-and-meetings-list/events-and-meetings-list.component.d.ts} +4 -4
- package/lib/services/events-and-meetings.service.d.ts +0 -6
- package/package.json +1 -1
- package/public-api.d.ts +1 -3
- package/esm2022/lib/components/events-and-meetings-agendas/events-and-meetings-agendas.component.mjs +0 -997
- package/esm2022/lib/resolvers/event-exists.resolver.mjs +0 -22
- package/esm2022/lib/resolvers/meeting-exists.resolver.mjs +0 -22
- package/lib/resolvers/event-exists.resolver.d.ts +0 -2
- package/lib/resolvers/meeting-exists.resolver.d.ts +0 -2
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"virtualMeetingUrl": "Meeting Link must not be greater than 250 characters long."
|
|
111
111
|
},
|
|
112
112
|
"pattern": {
|
|
113
|
-
"meetingName": "Meeting Name contains invalid characters. Please enter alphanumeric and whitespace only.",
|
|
113
|
+
"meetingName": "Meeting Name contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
114
114
|
"meetingFacilitator": "Meeting Facilitator contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
115
115
|
"meetingLocation": "Meeting Location contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
116
116
|
"virtualMeetingUrl": "Meeting Link contains invalid characters. Please enter alphanumeric, special characters and whitespace only."
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
"ipAddressRange": "IP Address Ranges must not be more than 10."
|
|
315
315
|
},
|
|
316
316
|
"pattern": {
|
|
317
|
-
"eventName": "Event Name contains invalid characters. Please enter alphanumeric and whitespace only.",
|
|
317
|
+
"eventName": "Event Name contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
318
318
|
"ipAddressRange": "Please enter IP ranges with correct format.",
|
|
319
319
|
"address": "Address / Location contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
320
320
|
"eventPassword": "Event Password contains invalid characters. Please enter alphanumeric, special characters and whitespace only."
|
|
@@ -545,7 +545,7 @@
|
|
|
545
545
|
"errors": {
|
|
546
546
|
"4001": "Event Name is required.",
|
|
547
547
|
"4002": "Event Name must not be greater than 150 characters long.",
|
|
548
|
-
"4003": "Event Name contains invalid characters. Please enter alphanumeric and whitespace only.",
|
|
548
|
+
"4003": "Event Name contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
549
549
|
"4004": "Event Type is required.",
|
|
550
550
|
"4005": "Related Group is required.",
|
|
551
551
|
"4006": "Event Start Date is required.",
|
|
@@ -561,7 +561,7 @@
|
|
|
561
561
|
"4017": "Event does not exist with the provided event id.",
|
|
562
562
|
"4021": "Meetings exist outside of event date range.",
|
|
563
563
|
"5001": "Meeting Name is required.",
|
|
564
|
-
"5002": "
|
|
564
|
+
"5002": "Meetings Name contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
565
565
|
"5003": "Meeting Name must not be greater than 150 characters long.",
|
|
566
566
|
"5004": "Related Group is required.",
|
|
567
567
|
"5005": "Meeting Start Date is required.",
|
|
@@ -573,7 +573,7 @@
|
|
|
573
573
|
"5011": "Meeting Location must not be greater than 150 characters long.",
|
|
574
574
|
"5012": "Meeting Facilitator is required.",
|
|
575
575
|
"5013": "Meeting Facilitator is not required.",
|
|
576
|
-
"5014": "Meeting Facilitator contains invalid characters. Please enter alphanumeric, whitespace only.",
|
|
576
|
+
"5014": "Meeting Facilitator contains invalid characters. Please enter alphanumeric, special characters and whitespace only.",
|
|
577
577
|
"5015": "Meeting Facilitator must not be greater than 75 characters long.",
|
|
578
578
|
"5016": "Meeting Type is required.",
|
|
579
579
|
"5017": "Meeting Type is not required",
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/* eslint-disable no-useless-escape */
|
|
2
2
|
export const EventsAndMeetingsValidationPatterns = {
|
|
3
3
|
// Meeting Name field regular expression which accepts alphanumeric and whitespace only.
|
|
4
|
-
meetingOrEventName: /^
|
|
4
|
+
meetingOrEventName: /^[a-zA-Z1-9\w\s!"#$%&'()*+,-.\/\:;<=>?@[\]^_`{|}~\\]+$/i,
|
|
5
5
|
// Meeting Location field regular expression which accepts alphanumeric, special characters and whitespace only.
|
|
6
|
-
meetingLocation: /^
|
|
6
|
+
meetingLocation: /^[a-zA-Z1-9\w\s!"#$%&'()*+,-.\/\:;<=>?@[\]^_`{|}~\\]+$/i,
|
|
7
7
|
// Meeting Facilitator field regular expression which accepts alphanumeric, special characters and whitespace only.
|
|
8
|
-
meetingFacilitator: /^
|
|
8
|
+
meetingFacilitator: /^[a-zA-Z1-9\w\s!"#$%&'()*+,-.\/\:;<=>?@[\]^_`{|}~\\]+$/i,
|
|
9
9
|
// Virtual Meeting URL field regular expression which accepts alphanumeric, special characters and whitespace only.
|
|
10
|
-
virtualMeetingUrl: /^
|
|
10
|
+
virtualMeetingUrl: /^[a-zA-Z1-9\w\s!"#$%&'()*+,-.\/\:;<=>?@[\]^_`{|}~\\]+$/i,
|
|
11
11
|
// Address / Location field regular expression which accepts alphanumeric, special characters and whitespace only.
|
|
12
|
-
address: /^
|
|
12
|
+
address: /^[a-zA-Z1-9\w\s!"#$%&'()*+,-.\/\:;<=>?@[\]^_`{|}~\\]+$/i,
|
|
13
13
|
// Event Password field regular expression which accepts alphanumeric, special characters and whitespace only.
|
|
14
|
-
eventPassword: /^
|
|
14
|
+
eventPassword: /^[a-zA-Z1-9\w\s!"#$%&'()*+,-.\/\:;<=>?@[\]^_`{|}~\\]+$/i,
|
|
15
15
|
// IP Address range field regular expression which accepts four decimal numbers separated by periods and each number can be written as 0 to 255.
|
|
16
16
|
ipAddressRange: /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)+$/i,
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2ZW50cy1hbmQtbWVldGluZ3Mvc3JjL2xpYi9hc3NldHMvZm9ybS12YWxpZGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUc7SUFDakQsd0ZBQXdGO0lBQ3hGLGtCQUFrQixFQUNoQix5REFBeUQ7SUFDM0QsZ0hBQWdIO0lBQ2hILGVBQWUsRUFDYix5REFBeUQ7SUFDM0QsbUhBQW1IO0lBQ25ILGtCQUFrQixFQUNoQix5REFBeUQ7SUFDM0QsbUhBQW1IO0lBQ25ILGlCQUFpQixFQUNmLHlEQUF5RDtJQUMzRCxrSEFBa0g7SUFDbEgsT0FBTyxFQUFFLHlEQUF5RDtJQUNsRSw4R0FBOEc7SUFDOUcsYUFBYSxFQUFFLHlEQUF5RDtJQUN4RSxnSkFBZ0o7SUFDaEosY0FBYyxFQUNaLG9LQUFvSztDQUN2SyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlbGVzcy1lc2NhcGUgKi9cclxuZXhwb3J0IGNvbnN0IEV2ZW50c0FuZE1lZXRpbmdzVmFsaWRhdGlvblBhdHRlcm5zID0ge1xyXG4gIC8vIE1lZXRpbmcgTmFtZSBmaWVsZCByZWd1bGFyIGV4cHJlc3Npb24gd2hpY2ggYWNjZXB0cyBhbHBoYW51bWVyaWMgYW5kIHdoaXRlc3BhY2Ugb25seS5cclxuICBtZWV0aW5nT3JFdmVudE5hbWU6XHJcbiAgICAvXlthLXpBLVoxLTlcXHdcXHMhXCIjJCUmJygpKissLS5cXC9cXDo7PD0+P0BbXFxdXl9ge3x9flxcXFxdKyQvaSxcclxuICAvLyBNZWV0aW5nIExvY2F0aW9uIGZpZWxkIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aGljaCBhY2NlcHRzIGFscGhhbnVtZXJpYywgc3BlY2lhbCBjaGFyYWN0ZXJzIGFuZCB3aGl0ZXNwYWNlIG9ubHkuXHJcbiAgbWVldGluZ0xvY2F0aW9uOlxyXG4gICAgL15bYS16QS1aMS05XFx3XFxzIVwiIyQlJicoKSorLC0uXFwvXFw6Ozw9Pj9AW1xcXV5fYHt8fX5cXFxcXSskL2ksXHJcbiAgLy8gTWVldGluZyBGYWNpbGl0YXRvciBmaWVsZCByZWd1bGFyIGV4cHJlc3Npb24gd2hpY2ggYWNjZXB0cyBhbHBoYW51bWVyaWMsIHNwZWNpYWwgY2hhcmFjdGVycyBhbmQgd2hpdGVzcGFjZSBvbmx5LlxyXG4gIG1lZXRpbmdGYWNpbGl0YXRvcjpcclxuICAgIC9eW2EtekEtWjEtOVxcd1xccyFcIiMkJSYnKCkqKywtLlxcL1xcOjs8PT4/QFtcXF1eX2B7fH1+XFxcXF0rJC9pLFxyXG4gIC8vIFZpcnR1YWwgTWVldGluZyBVUkwgZmllbGQgcmVndWxhciBleHByZXNzaW9uIHdoaWNoIGFjY2VwdHMgYWxwaGFudW1lcmljLCBzcGVjaWFsIGNoYXJhY3RlcnMgYW5kIHdoaXRlc3BhY2Ugb25seS5cclxuICB2aXJ0dWFsTWVldGluZ1VybDpcclxuICAgIC9eW2EtekEtWjEtOVxcd1xccyFcIiMkJSYnKCkqKywtLlxcL1xcOjs8PT4/QFtcXF1eX2B7fH1+XFxcXF0rJC9pLFxyXG4gIC8vIEFkZHJlc3MgLyBMb2NhdGlvbiBmaWVsZCByZWd1bGFyIGV4cHJlc3Npb24gd2hpY2ggYWNjZXB0cyBhbHBoYW51bWVyaWMsIHNwZWNpYWwgY2hhcmFjdGVycyBhbmQgd2hpdGVzcGFjZSBvbmx5LlxyXG4gIGFkZHJlc3M6IC9eW2EtekEtWjEtOVxcd1xccyFcIiMkJSYnKCkqKywtLlxcL1xcOjs8PT4/QFtcXF1eX2B7fH1+XFxcXF0rJC9pLFxyXG4gIC8vIEV2ZW50IFBhc3N3b3JkIGZpZWxkIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aGljaCBhY2NlcHRzIGFscGhhbnVtZXJpYywgc3BlY2lhbCBjaGFyYWN0ZXJzIGFuZCB3aGl0ZXNwYWNlIG9ubHkuXHJcbiAgZXZlbnRQYXNzd29yZDogL15bYS16QS1aMS05XFx3XFxzIVwiIyQlJicoKSorLC0uXFwvXFw6Ozw9Pj9AW1xcXV5fYHt8fX5cXFxcXSskL2ksXHJcbiAgLy8gSVAgQWRkcmVzcyByYW5nZSBmaWVsZCByZWd1bGFyIGV4cHJlc3Npb24gd2hpY2ggYWNjZXB0cyBmb3VyIGRlY2ltYWwgbnVtYmVycyBzZXBhcmF0ZWQgYnkgcGVyaW9kcyBhbmQgZWFjaCBudW1iZXIgY2FuIGJlIHdyaXR0ZW4gYXMgMCB0byAyNTUuXHJcbiAgaXBBZGRyZXNzUmFuZ2U6XHJcbiAgICAvXigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKDI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4oMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KVxcLigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pKyQvaSxcclxufTtcclxuIl19
|
|
@@ -49,6 +49,7 @@ export class AddMeetingComponent {
|
|
|
49
49
|
this.formCancel = new EventEmitter();
|
|
50
50
|
this.confirmationModalTexts = this.screenTexts?.createModifyEventOrMeeting
|
|
51
51
|
?.unsavedFormChangesConfirmationDialogOptions;
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
53
|
this.addMeetingClick = new EventEmitter();
|
|
53
54
|
}
|
|
54
55
|
/**
|
|
@@ -84,7 +85,6 @@ export class AddMeetingComponent {
|
|
|
84
85
|
* @memberof AddMeetingComponent
|
|
85
86
|
*/
|
|
86
87
|
canDeactivate() {
|
|
87
|
-
console.log('from add meeting', this.eventsAndMeetingsService?.getEventOrMeetingFormChangeStatus());
|
|
88
88
|
if (this.eventsAndMeetingsService?.getEventOrMeetingFormChangeStatus()) {
|
|
89
89
|
this.dialogRef = this.eventsAndMeetingsService?.openConfirmationModal(this.confirmationModalConfig);
|
|
90
90
|
this.confirmationModalAction();
|
|
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
171
171
|
}], addMeetingClick: [{
|
|
172
172
|
type: Output
|
|
173
173
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1lZXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEtBQUssV0FBVyxNQUFNLDZCQUE2QixDQUFDO0FBSTNELE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxTQUFTLEVBR1QsYUFBYSxHQUNkLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQWNsQyxNQUFNLE9BQU8sbUJBQW1CO0lBMkM5QjtJQUNFLDBDQUEwQztJQUNsQyx3QkFBa0Q7SUFDMUQsMENBQTBDO0lBQ2xDLE1BQWM7SUFDdEIsMENBQTBDO0lBQ25DLE1BQWlCLENBQUMsNkNBQTZDOztRQUo5RCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRWxELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBOUMxQiw4REFBOEQ7UUFDOUQsZ0JBQVcsR0FBUSxXQUFXLENBQUM7UUFDL0Isb0JBQWUsR0FBVTtZQUN2Qjtn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dGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDcmVhdGVNb2RpZnlNZWV0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vY3JlYXRlLW1vZGlmeS1tZWV0aW5nL2NyZWF0ZS1tb2RpZnktbWVldGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0cyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ldmVudHMtYW5kLW1lZXRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZWFjdGl2YXRlQ29tcG9uZW50IH0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7IFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIEFsaWduVHlwZSxcclxuICBDb25maXJtYXRpb25Nb2RhbERhdGEsXHJcbiAgVGFiLFxyXG4gIFRhYnNDb21wb25lbnQsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vcHJlc2VudGF0aW9uJztcclxuLy8gVG9EbyBNdXN0IGltcG9ydCBmcm9tIGllZWVzYS1ucG0vcHJlc2VudGF0aW9uXHJcbi8vIGltcG9ydCB7IFRhYnNDb21wb25lbnQgfSBmcm9tICdAcHJlc2VudGF0aW9uL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEV2ZW50c0FuZE1lZXRpbmdSb3V0ZUNvbmZpZyB9IGZyb20gJ0BpZWVlc2EtbnBtL3NoYXJlZCc7XHJcbmltcG9ydCB7IFVzZXJQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lZXRpbmctcGVybWlzc2lvbnMubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtYWRkLW1lZXRpbmctZm9ybScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUYWJzQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLW1lZXRpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FkZC1tZWV0aW5nLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRNZWV0aW5nQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIERlYWN0aXZhdGVDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzY3JlZW5UZXh0czogYW55ID0gc2NyZWVuVGV4dHM7XHJcbiAgbWVldGluZ0Zvcm1UYWJzOiBUYWJbXSA9IFtcclxuICAgIHtcclxuICAgICAgaWQ6IDEsXHJcbiAgICAgIGxhYmVsOiB0aGlzLnNjcmVlblRleHRzPy5hZGRNZWV0aW5nPy50YWJzPy5sYWJlbD8uaW5mbyxcclxuICAgICAgY29tcG9uZW50UmVmOiBDcmVhdGVNb2RpZnlNZWV0aW5nQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIGxhYmVsOiB0aGlzLnNjcmVlblRleHRzPy5hZGRNZWV0aW5nPy50YWJzPy5sYWJlbD8uYWdlbmRhLFxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6IDMsXHJcbiAgICAgIGxhYmVsOiB0aGlzLnNjcmVlblRleHRzPy5hZGRNZWV0aW5nPy50YWJzPy5sYWJlbD8uYXR0ZW5kZWVzLFxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgfSxcclxuICBdO1xyXG4gIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xyXG4gIHNlbGVjdGVkTWVldGluZ0lkITogc3RyaW5nO1xyXG4gIGlzU3RhbmRhbG9uZU1lZXRpbmcgPSB0cnVlO1xyXG4gIEBWaWV3Q2hpbGQoVGFic0NvbXBvbmVudCkgdGFic0NvbXBvbmVudFJlZiE6IFRhYnNDb21wb25lbnQ7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBkaWFsb2dSZWY6IGFueTtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgaXNGb3JtQ2hhbmdlZCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNvbmZpcm1hdGlvbk1vZGFsQ29uZmlnITogQ29uZmlybWF0aW9uTW9kYWxEYXRhO1xyXG4gIGNvbmZpcm1hdGlvbk1vZGFsVGV4dHMgPVxyXG4gICAgdGhpcy5zY3JlZW5UZXh0cz8uY3JlYXRlTW9kaWZ5RXZlbnRPck1lZXRpbmdcclxuICAgICAgPy51bnNhdmVkRm9ybUNoYW5nZXNDb25maXJtYXRpb25EaWFsb2dPcHRpb25zO1xyXG4gIEBJbnB1dCgpIGV2ZW50SWQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWVldGluZ0lkITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJvdXRlUGF0aHMhOiBFdmVudHNBbmRNZWV0aW5nUm91dGVDb25maWc7XHJcbiAgQElucHV0KCkgYXBpQmFzZVVSTCE6IHN0cmluZztcclxuICBASW5wdXQoKSB1c2VyUGVybWlzc2lvbnMhOiBVc2VyUGVybWlzc2lvbltdO1xyXG4gIEBPdXRwdXQoKSBhZGRNZWV0aW5nQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGV2ZW50c0FuZE1lZXRpbmdzU2VydmljZTogRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG4gIC8qKlxyXG4gICAqIFNldHMgc2VsZWN0ZWQgbWVldGluZyBpZCBhbmQgZm9ybSBjaGFuZ2Ugc3RhdHVzLlxyXG4gICAqIEBtZW1iZXJvZiBBZGRNZWV0aW5nQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uc2V0QXBwQ29uZmlnKFxyXG4gICAgICB0aGlzLmFwaUJhc2VVUkwsXHJcbiAgICAgIHRoaXMudXNlclBlcm1pc3Npb25zXHJcbiAgICApO1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2Uuc2V0U3RhbmRhbG9uZU1lZXRpbmdTdGF0dXMoXHJcbiAgICAgIHRoaXMuZXZlbnRJZCAmJiB0aGlzLm1lZXRpbmdJZCA/IGZhbHNlIDogIXRoaXMuZXZlbnRJZFxyXG4gICAgKTtcclxuICAgIHRoaXMuaXNTdGFuZGFsb25lTWVldGluZyA9XHJcbiAgICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlLmdldFN0YW5kYWxvbmVNZWV0aW5nU3RhdHVzKCk7XHJcbiAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZS5zZXRTZWxlY3RlZEV2ZW50SWQodGhpcy5ldmVudElkID8/ICcnKTtcclxuICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlLnNldFNlbGVjdGVkTWVldGluZ0lkKHRoaXMubWVldGluZ0lkID8/ICcnKTtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uTW9kYWxDb25maWcgPSB7XHJcbiAgICAgIGxlZnRCdXR0b25MYWJlbDogdGhpcy5jb25maXJtYXRpb25Nb2RhbFRleHRzPy5sZWZ0QnV0dG9uTGFiZWwsXHJcbiAgICAgIHJpZ2h0QnV0dG9uTGFiZWw6IHRoaXMuY29uZmlybWF0aW9uTW9kYWxUZXh0cz8ucmlnaHRCdXR0b25MYWJlbCxcclxuICAgICAgcHJvbXB0TWVzc2FnZTogdGhpcy5jb25maXJtYXRpb25Nb2RhbFRleHRzPy5wcm9tcHRNZXNzYWdlLFxyXG4gICAgICBhY3Rpb25CdXR0b25BbGlnbjogQWxpZ25UeXBlLk1JRERMRSxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlbGVjdGVkTWVldGluZ0lkID0gdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LnNlbGVjdGVkTWVldGluZ0lkO1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LmZvcm1TdGF0dXNDaGFuZ2VOb3RpZmllciRcclxuICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0Zvcm1DaGFuZ2VkID0gc3RhdHVzO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcnMgY29uZmlybWF0aW9uIG1vZGFsIHdoaWxlIGxlYXZpbmcgdW5zYXZlZCBmb3JtLlxyXG4gICAqIEByZXR1cm4geyhib29sZWFuXHJcbiAgICogICAgIHwgVXJsVHJlZVxyXG4gICAqICAgICB8IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+XHJcbiAgICogICAgIHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4pfVxyXG4gICAqIEBtZW1iZXJvZiBBZGRNZWV0aW5nQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY2FuRGVhY3RpdmF0ZSgpOlxyXG4gICAgfCBVcmxUcmVlXHJcbiAgICB8IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+XHJcbiAgICB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+XHJcbiAgICB8IGJvb2xlYW4ge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgICdmcm9tIGFkZCBtZWV0aW5nJyxcclxuICAgICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LmdldEV2ZW50T3JNZWV0aW5nRm9ybUNoYW5nZVN0YXR1cygpXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5nZXRFdmVudE9yTWVldGluZ0Zvcm1DaGFuZ2VTdGF0dXMoKSkge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5vcGVuQ29uZmlybWF0aW9uTW9kYWwoXHJcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25Nb2RhbENvbmZpZ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsQWN0aW9uKCk7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpYWxvZ1JlZj8uYWZ0ZXJDbG9zZWQoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gY2FuY2VsIGV2ZW50cyBpbiB0aGUgdGFiIGNvbXBvbmVudC5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFic0NvbXBvbmVudFJlZj8uZm9ybUNhbmNlbFxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25Nb2RhbENvbmZpZy5wcm9tcHRNZXNzYWdlID1cclxuICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uTW9kYWxUZXh0cz8ucHJvbXB0TWVzc2FnZU9uQ2FuY2VsO1xyXG4gICAgICAgIHRoaXMuZm9ybUNhbmNlbC5lbWl0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTdGFuZGFsb25lTWVldGluZykge1xyXG4gICAgICAgICAgaWYgKHRoaXMucm91dGVQYXRocy5ldmVudHNBbmRNZWV0aW5ncykge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlcj8ubmF2aWdhdGVCeVVybCh0aGlzLnJvdXRlUGF0aHMuZXZlbnRzQW5kTWVldGluZ3MpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRNZWV0aW5nQ2xpY2suZW1pdCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgICAhdGhpcy5pc1N0YW5kYWxvbmVNZWV0aW5nICYmXHJcbiAgICAgICAgICAhdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LmdldEV2ZW50T3JNZWV0aW5nRm9ybUNoYW5nZVN0YXR1cygpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uY2FuQ2xvc2VBZGRNZWV0aW5nTW9kYWwkPy5uZXh0KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgY29uZmlybWF0aW9uIG1vZGFsIGFjdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIEFkZE1lZXRpbmdDb21wb25lbnRcclxuICAgKi9cclxuICBjb25maXJtYXRpb25Nb2RhbEFjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmXHJcbiAgICAgID8uYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICA/LnN1YnNjcmliZSgocmVzdWx0OiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCAmJiAhdGhpcy5pc1N0YW5kYWxvbmVNZWV0aW5nKSB7XHJcbiAgICAgICAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uY2FuQ2xvc2VBZGRNZWV0aW5nTW9kYWwkPy5uZXh0KHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgaXNGb3JtQ2hhbmdlZCBzdGF0dXMgdG8gZmFsc2Ugb24gdGFiIGNoYW5nZXMuXHJcbiAgICogQG1lbWJlcm9mIEFkZE1lZXRpbmdDb21wb25lbnRcclxuICAgKi9cclxuICBvblNlbGVjdGVkVGFiSW5kZXhDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9ybUNoYW5nZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlLnNldEV2ZW50T3JNZWV0aW5nRm9ybUNoYW5nZVN0YXR1cyhmYWxzZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlcyB0aGUgc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIEFkZE1lZXRpbmdDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQ/Lm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgW25nQ2xhc3NdPVwic2VsZWN0ZWRNZWV0aW5nSWQgJiYgaXNTdGFuZGFsb25lTWVldGluZyA/ICdpZWVlc2EtbWVldGluZycgOiAnJ1wiXHJcbj5cclxuICA8cFxyXG4gICAgKm5nSWY9XCJzZWxlY3RlZE1lZXRpbmdJZCAmJiBpc1N0YW5kYWxvbmVNZWV0aW5nXCJcclxuICAgIGNsYXNzPVwiaWVlZXNhLXRpdGxlLWxnLTI0IHBiLTMgbS0wXCJcclxuICA+XHJcbiAgICB7eyBzY3JlZW5UZXh0cz8uY3JlYXRlT3JNb2RpZnlNZWV0aW5nPy5sYWJlbD8ubWVldGluZ0RldGFpbHMgfX1cclxuICA8L3A+XHJcbiAgPGllZWVzYS10YWJzXHJcbiAgICBbdGFic109XCJtZWV0aW5nRm9ybVRhYnNcIlxyXG4gICAgW2V2ZW50SWRdPVwiZXZlbnRJZFwiXHJcbiAgICBbbWVldGluZ0lkXT1cIm1lZXRpbmdJZFwiXHJcbiAgICBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYkluZGV4XCJcclxuICAgIFthcGlCYXNlVVJMXT1cImFwaUJhc2VVUkxcIlxyXG4gICAgW3VzZXJQZXJtaXNzaW9uc109XCJ1c2VyUGVybWlzc2lvbnNcIlxyXG4gICAgW2lzRm9ybUNoYW5nZWRdPVwiaXNGb3JtQ2hhbmdlZFwiXHJcbiAgICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJvblNlbGVjdGVkVGFiSW5kZXhDaGFuZ2UoKVwiXHJcbiAgICBbY29uZmlybWF0aW9uTW9kYWxDb25maWddPVwiY29uZmlybWF0aW9uTW9kYWxDb25maWdcIlxyXG4gID48L2llZWVzYS10YWJzPlxyXG48L2Rpdj5cclxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1lZXRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEtBQUssV0FBVyxNQUFNLDZCQUE2QixDQUFDO0FBSTNELE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxTQUFTLEVBR1QsYUFBYSxHQUNkLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQVlsQyxNQUFNLE9BQU8sbUJBQW1CO0lBNEM5QjtJQUNFLDBDQUEwQztJQUNsQyx3QkFBa0Q7SUFDMUQsMENBQTBDO0lBQ2xDLE1BQWM7SUFDdEIsMENBQTBDO0lBQ25DLE1BQWlCLENBQUMsNkNBQTZDOztRQUo5RCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRWxELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBL0MxQiw4REFBOEQ7UUFDOUQsZ0JBQVcsR0FBUSxXQUFXLENBQUM7UUFDL0Isb0JBQWUsR0FBVTtZQUN2Qjtn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QyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQzlCLElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUN2QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3JFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsd0JBQXdCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQzsrR0E3SlUsbUJBQW1CO21HQUFuQixtQkFBbUIsZ1dBMkJuQixhQUFhLGdEQzlEMUIsNHRCQXFCQSx5RERVWSxZQUFZLGlPQUFFLGFBQWE7OzRGQUkxQixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7NEpBK0JaLGdCQUFnQjtzQkFBekMsU0FBUzt1QkFBQyxhQUFhO2dCQUtkLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0UsT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENyZWF0ZU1vZGlmeU1lZXRpbmdDb21wb25lbnQgfSBmcm9tICcuLi9jcmVhdGUtbW9kaWZ5LW1lZXRpbmcvY3JlYXRlLW1vZGlmeS1tZWV0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy1hbmQtbWVldGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7IERlYWN0aXZhdGVDb21wb25lbnQgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQWxpZ25UeXBlLFxyXG4gIENvbmZpcm1hdGlvbk1vZGFsRGF0YSxcclxuICBUYWIsXHJcbiAgVGFic0NvbXBvbmVudCxcclxufSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBFdmVudHNBbmRNZWV0aW5nUm91dGVDb25maWcgfSBmcm9tICdAaWVlZXNhLW5wbS9zaGFyZWQnO1xyXG5pbXBvcnQgeyBVc2VyUGVybWlzc2lvbiB9IGZyb20gJy4uLy4uL21vZGVscy9tZWV0aW5nLXBlcm1pc3Npb25zLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWFkZC1tZWV0aW5nLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGFic0NvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1tZWV0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtbWVldGluZy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBEZWFjdGl2YXRlQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2NyZWVuVGV4dHM6IGFueSA9IHNjcmVlblRleHRzO1xyXG4gIG1lZXRpbmdGb3JtVGFiczogVGFiW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAxLFxyXG4gICAgICBsYWJlbDogdGhpcy5zY3JlZW5UZXh0cz8uYWRkTWVldGluZz8udGFicz8ubGFiZWw/LmluZm8sXHJcbiAgICAgIGNvbXBvbmVudFJlZjogQ3JlYXRlTW9kaWZ5TWVldGluZ0NvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBsYWJlbDogdGhpcy5zY3JlZW5UZXh0cz8uYWRkTWVldGluZz8udGFicz8ubGFiZWw/LmFnZW5kYSxcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAzLFxyXG4gICAgICBsYWJlbDogdGhpcy5zY3JlZW5UZXh0cz8uYWRkTWVldGluZz8udGFicz8ubGFiZWw/LmF0dGVuZGVlcyxcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgIH0sXHJcbiAgXTtcclxuICBzZWxlY3RlZFRhYkluZGV4ID0gMDtcclxuICBzZWxlY3RlZE1lZXRpbmdJZCE6IHN0cmluZztcclxuICBpc1N0YW5kYWxvbmVNZWV0aW5nID0gdHJ1ZTtcclxuICBAVmlld0NoaWxkKFRhYnNDb21wb25lbnQpIHRhYnNDb21wb25lbnRSZWYhOiBUYWJzQ29tcG9uZW50O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZGlhbG9nUmVmOiBhbnk7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGlzRm9ybUNoYW5nZWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgZm9ybUNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25maXJtYXRpb25Nb2RhbENvbmZpZyE6IENvbmZpcm1hdGlvbk1vZGFsRGF0YTtcclxuICBjb25maXJtYXRpb25Nb2RhbFRleHRzID1cclxuICAgIHRoaXMuc2NyZWVuVGV4dHM/LmNyZWF0ZU1vZGlmeUV2ZW50T3JNZWV0aW5nXHJcbiAgICAgID8udW5zYXZlZEZvcm1DaGFuZ2VzQ29uZmlybWF0aW9uRGlhbG9nT3B0aW9ucztcclxuICBASW5wdXQoKSBldmVudElkITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1lZXRpbmdJZCE6IHN0cmluZztcclxuICBASW5wdXQoKSByb3V0ZVBhdGhzITogRXZlbnRzQW5kTWVldGluZ1JvdXRlQ29uZmlnO1xyXG4gIEBJbnB1dCgpIGFwaUJhc2VVUkwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlclBlcm1pc3Npb25zITogVXNlclBlcm1pc3Npb25bXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBhZGRNZWV0aW5nQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlOiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcbiAgLyoqXHJcbiAgICogU2V0cyBzZWxlY3RlZCBtZWV0aW5nIGlkIGFuZCBmb3JtIGNoYW5nZSBzdGF0dXMuXHJcbiAgICogQG1lbWJlcm9mIEFkZE1lZXRpbmdDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5zZXRBcHBDb25maWcoXHJcbiAgICAgIHRoaXMuYXBpQmFzZVVSTCxcclxuICAgICAgdGhpcy51c2VyUGVybWlzc2lvbnNcclxuICAgICk7XHJcbiAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZS5zZXRTdGFuZGFsb25lTWVldGluZ1N0YXR1cyhcclxuICAgICAgdGhpcy5ldmVudElkICYmIHRoaXMubWVldGluZ0lkID8gZmFsc2UgOiAhdGhpcy5ldmVudElkXHJcbiAgICApO1xyXG4gICAgdGhpcy5pc1N0YW5kYWxvbmVNZWV0aW5nID1cclxuICAgICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2UuZ2V0U3RhbmRhbG9uZU1lZXRpbmdTdGF0dXMoKTtcclxuICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlLnNldFNlbGVjdGVkRXZlbnRJZCh0aGlzLmV2ZW50SWQgPz8gJycpO1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2Uuc2V0U2VsZWN0ZWRNZWV0aW5nSWQodGhpcy5tZWV0aW5nSWQgPz8gJycpO1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25Nb2RhbENvbmZpZyA9IHtcclxuICAgICAgbGVmdEJ1dHRvbkxhYmVsOiB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsVGV4dHM/LmxlZnRCdXR0b25MYWJlbCxcclxuICAgICAgcmlnaHRCdXR0b25MYWJlbDogdGhpcy5jb25maXJtYXRpb25Nb2RhbFRleHRzPy5yaWdodEJ1dHRvbkxhYmVsLFxyXG4gICAgICBwcm9tcHRNZXNzYWdlOiB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsVGV4dHM/LnByb21wdE1lc3NhZ2UsXHJcbiAgICAgIGFjdGlvbkJ1dHRvbkFsaWduOiBBbGlnblR5cGUuTUlERExFLFxyXG4gICAgfTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNZWV0aW5nSWQgPSB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uc2VsZWN0ZWRNZWV0aW5nSWQ7XHJcbiAgICB0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uZm9ybVN0YXR1c0NoYW5nZU5vdGlmaWVyJFxyXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLmlzRm9ybUNoYW5nZWQgPSBzdGF0dXM7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBUcmlnZ2VycyBjb25maXJtYXRpb24gbW9kYWwgd2hpbGUgbGVhdmluZyB1bnNhdmVkIGZvcm0uXHJcbiAgICogQHJldHVybiB7KGJvb2xlYW5cclxuICAgKiAgICAgfCBVcmxUcmVlXHJcbiAgICogICAgIHwgT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT5cclxuICAgKiAgICAgfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPil9XHJcbiAgICogQG1lbWJlcm9mIEFkZE1lZXRpbmdDb21wb25lbnRcclxuICAgKi9cclxuICBjYW5EZWFjdGl2YXRlKCk6XHJcbiAgICB8IFVybFRyZWVcclxuICAgIHwgT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT5cclxuICAgIHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT5cclxuICAgIHwgYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/LmdldEV2ZW50T3JNZWV0aW5nRm9ybUNoYW5nZVN0YXR1cygpKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2U/Lm9wZW5Db25maXJtYXRpb25Nb2RhbChcclxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsQ29uZmlnXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uTW9kYWxBY3Rpb24oKTtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nUmVmPy5hZnRlckNsb3NlZCgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBjYW5jZWwgZXZlbnRzIGluIHRoZSB0YWIgY29tcG9uZW50LlxyXG4gICAqIEBtZW1iZXJvZiBBZGRNZWV0aW5nQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50YWJzQ29tcG9uZW50UmVmPy5mb3JtQ2FuY2VsXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbk1vZGFsQ29uZmlnLnByb21wdE1lc3NhZ2UgPVxyXG4gICAgICAgICAgdGhpcy5jb25maXJtYXRpb25Nb2RhbFRleHRzPy5wcm9tcHRNZXNzYWdlT25DYW5jZWw7XHJcbiAgICAgICAgdGhpcy5mb3JtQ2FuY2VsLmVtaXQoKTtcclxuICAgICAgICBpZiAodGhpcy5pc1N0YW5kYWxvbmVNZWV0aW5nKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5yb3V0ZVBhdGhzLmV2ZW50c0FuZE1lZXRpbmdzKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyPy5uYXZpZ2F0ZUJ5VXJsKHRoaXMucm91dGVQYXRocy5ldmVudHNBbmRNZWV0aW5ncyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFkZE1lZXRpbmdDbGljay5lbWl0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICAgICF0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcgJiZcclxuICAgICAgICAgICF0aGlzLmV2ZW50c0FuZE1lZXRpbmdzU2VydmljZT8uZ2V0RXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlU3RhdHVzKClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5jYW5DbG9zZUFkZE1lZXRpbmdNb2RhbCQ/Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBjb25maXJtYXRpb24gbW9kYWwgYWN0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNvbmZpcm1hdGlvbk1vZGFsQWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWZcclxuICAgICAgPy5hZnRlckNsb3NlZCgpXHJcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgID8uc3Vic2NyaWJlKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0ICYmICF0aGlzLmlzU3RhbmRhbG9uZU1lZXRpbmcpIHtcclxuICAgICAgICAgIHRoaXMuZXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlPy5jYW5DbG9zZUFkZE1lZXRpbmdNb2RhbCQ/Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyBpc0Zvcm1DaGFuZ2VkIHN0YXR1cyB0byBmYWxzZSBvbiB0YWIgY2hhbmdlcy5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0ZWRUYWJJbmRleENoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb3JtQ2hhbmdlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ldmVudHNBbmRNZWV0aW5nc1NlcnZpY2Uuc2V0RXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlU3RhdHVzKGZhbHNlKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmVzIHRoZSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JD8ubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQ/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBbbmdDbGFzc109XCJzZWxlY3RlZE1lZXRpbmdJZCAmJiBpc1N0YW5kYWxvbmVNZWV0aW5nID8gJ2llZWVzYS1tZWV0aW5nJyA6ICcnXCJcclxuPlxyXG4gIDxwXHJcbiAgICAqbmdJZj1cInNlbGVjdGVkTWVldGluZ0lkICYmIGlzU3RhbmRhbG9uZU1lZXRpbmdcIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtdGl0bGUtbGctMjQgcGItMyBtLTBcIlxyXG4gID5cclxuICAgIHt7IHNjcmVlblRleHRzPy5jcmVhdGVPck1vZGlmeU1lZXRpbmc/LmxhYmVsPy5tZWV0aW5nRGV0YWlscyB9fVxyXG4gIDwvcD5cclxuICA8aWVlZXNhLXRhYnNcclxuICAgIFt0YWJzXT1cIm1lZXRpbmdGb3JtVGFic1wiXHJcbiAgICBbZXZlbnRJZF09XCJldmVudElkXCJcclxuICAgIFttZWV0aW5nSWRdPVwibWVldGluZ0lkXCJcclxuICAgIFtzZWxlY3RlZFRhYkluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxyXG4gICAgW2FwaUJhc2VVUkxdPVwiYXBpQmFzZVVSTFwiXHJcbiAgICBbdXNlclBlcm1pc3Npb25zXT1cInVzZXJQZXJtaXNzaW9uc1wiXHJcbiAgICBbaXNGb3JtQ2hhbmdlZF09XCJpc0Zvcm1DaGFuZ2VkXCJcclxuICAgIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cIm9uU2VsZWN0ZWRUYWJJbmRleENoYW5nZSgpXCJcclxuICAgIFtjb25maXJtYXRpb25Nb2RhbENvbmZpZ109XCJjb25maXJtYXRpb25Nb2RhbENvbmZpZ1wiXHJcbiAgPjwvaWVlZXNhLXRhYnM+XHJcbjwvZGl2PlxyXG4iXX0=
|