@vendasta/meetings 1.5.9 → 1.6.1
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/esm2020/lib/_internal/interfaces/index.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/meeting-guest.interface.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/meeting-host.interface.mjs +1 -1
- package/esm2020/lib/_internal/meeting-host.api.service.mjs +7 -2
- package/esm2020/lib/_internal/objects/index.mjs +2 -2
- package/esm2020/lib/_internal/objects/meeting-guest.mjs +13 -1
- package/esm2020/lib/_internal/objects/meeting-host.mjs +62 -19
- package/esm2020/lib/host/host.service.mjs +27 -2
- package/fesm2015/vendasta-meetings.mjs +104 -19
- package/fesm2015/vendasta-meetings.mjs.map +1 -1
- package/fesm2020/vendasta-meetings.mjs +104 -19
- package/fesm2020/vendasta-meetings.mjs.map +1 -1
- package/lib/_internal/interfaces/index.d.ts +1 -1
- package/lib/_internal/interfaces/meeting-guest.interface.d.ts +2 -0
- package/lib/_internal/interfaces/meeting-host.interface.d.ts +12 -6
- package/lib/_internal/meeting-host.api.service.d.ts +3 -2
- package/lib/_internal/objects/index.d.ts +1 -1
- package/lib/_internal/objects/meeting-guest.d.ts +2 -0
- package/lib/_internal/objects/meeting-host.d.ts +25 -13
- package/lib/host/host.service.d.ts +7 -0
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// API Service.
|
|
6
6
|
// *********************************
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
|
-
import { BookMeetingRequest, BookMeetingResponse, BuildHostIdRequest, BuildHostIdResponse, CalendarMigrationResponse, CancelMeetingRequest, CheckEventTypeSlugExistRequest, CheckEventTypeSlugExistResponse, CheckGroupOrServiceSlugExistRequest, CheckGroupOrServiceSlugExistResponse, CreateAvailabilityRequest, CreateAvailabilityResponse, CreateCalendarRequest, CreateCalendarResponse, CreateDefaultMeetingTypesRequest, CreateGroupRequest, CreateGroupResponse, CreateMeetingTypeRequest, CreateMeetingTypeResponse, CreateServiceRequest, CreateServiceResponse, DeleteAvailabilityRequest, DeleteGroupRequest, DeleteMeetingTypeRequest, DeleteServiceRequest, DoesCalendarExistRequest, DoesCalendarExistResponse, EnsureGroupCalendarsExistRequest, EnsureGroupCalendarsExistResponse, EnsurePersonalCalendarExistsRequest, EnsurePersonalCalendarExistsResponse, EnsureSessionEventCalendarsExistRequest, EnsureSessionEventCalendarsExistResponse, GetEntityAssociationRequest, GetEntityAssociationResponse, GetGroupRequest, GetGroupResponse, GetHostMeetingRequest, GetHostMeetingResponse, GetHostPreferencesRequest, GetHostPreferencesResponse, GetHostsForCalendarRequest, GetHostsForCalendarResponse, GetMeetingTypesForCalendarsRequest, GetMeetingTypesForCalendarsResponse, GetServiceRequest, GetServiceResponse, HostBookMeetingRequest, HostBookMeetingResponse, HostBookSessionRequest, HostBookSessionResponse, HostDeleteAttendeesRequest, HostGetCalendarRequest, HostGetCalendarResponse, HostGetMeetingTypeRequest, HostGetMeetingTypeResponse, HostListMeetingTypesRequest, HostListMeetingTypesResponse, IsCalendarConfiguredRequest, IsCalendarConfiguredResponse, IsHostConfiguredRequest, IsHostConfiguredResponse, ListAttendeesRequest, ListAttendeesResponse, ListAvailabilityRequest, ListAvailabilityResponse, ListAvailableTimeslotsForRecurringSessionRequest, ListAvailableTimeslotsForRecurringSessionResponse, ListAvailableTimeslotsForSessionRequest, ListAvailableTimeslotsForSessionResponse, ListBookedMeetingsRequest, ListBookedMeetingsResponse, ListEventTypesForMultipleCalendarsRequest, ListEventTypesForMultipleCalendarsResponse, ListGroupsRequest, ListGroupsResponse, ListServicesRequest, ListServicesResponse, RescheduleMeetingRequest, SendMeetingRequestEmailRequest, SetGeneralAvailabilityRequest, UpdateAvailabilityRequest, UpdateCalendarRequest, UpdateGroupRequest, UpdateHostPreferencesRequest, UpdateMeetingMetadataRequest, UpdateMeetingTypeRequest, UpdateServiceRequest, } from './objects/';
|
|
8
|
+
import { BookMeetingRequest, BookMeetingResponse, BuildHostIdRequest, BuildHostIdResponse, CalendarMigrationResponse, CancelMeetingRequest, CheckEventTypeSlugExistRequest, CheckEventTypeSlugExistResponse, CheckGroupOrServiceSlugExistRequest, CheckGroupOrServiceSlugExistResponse, CreateAvailabilityRequest, CreateAvailabilityResponse, CreateCalendarRequest, CreateCalendarResponse, CreateDefaultMeetingTypesRequest, CreateGroupRequest, CreateGroupResponse, CreateMeetingTypeRequest, CreateMeetingTypeResponse, CreateServiceRequest, CreateServiceResponse, DeleteAvailabilityRequest, DeleteGroupRequest, DeleteMeetingTypeRequest, DeleteServiceRequest, DoesCalendarExistRequest, DoesCalendarExistResponse, EnsureGroupCalendarsExistRequest, EnsureGroupCalendarsExistResponse, EnsurePersonalCalendarExistsRequest, EnsurePersonalCalendarExistsResponse, EnsureSessionEventCalendarsExistRequest, EnsureSessionEventCalendarsExistResponse, GetEntityAssociationRequest, GetEntityAssociationResponse, GetEventTypeByIdRequest, GetEventTypeByIdResponse, GetGroupRequest, GetGroupResponse, GetHostMeetingRequest, GetHostMeetingResponse, GetHostPreferencesRequest, GetHostPreferencesResponse, GetHostsForCalendarRequest, GetHostsForCalendarResponse, GetMeetingTypesForCalendarsRequest, GetMeetingTypesForCalendarsResponse, GetServiceRequest, GetServiceResponse, HostBookMeetingRequest, HostBookMeetingResponse, HostBookSessionRequest, HostBookSessionResponse, HostDeleteAttendeesRequest, HostGetCalendarRequest, HostGetCalendarResponse, HostGetMeetingTypeRequest, HostGetMeetingTypeResponse, HostListMeetingTypesRequest, HostListMeetingTypesResponse, IsCalendarConfiguredRequest, IsCalendarConfiguredResponse, IsHostConfiguredRequest, IsHostConfiguredResponse, ListAttendeesRequest, ListAttendeesResponse, ListAvailabilityRequest, ListAvailabilityResponse, ListAvailableTimeslotsForRecurringSessionRequest, ListAvailableTimeslotsForRecurringSessionResponse, ListAvailableTimeslotsForSessionRequest, ListAvailableTimeslotsForSessionResponse, ListBookedMeetingsRequest, ListBookedMeetingsResponse, ListEventTypesForMultipleCalendarsRequest, ListEventTypesForMultipleCalendarsResponse, ListGroupsRequest, ListGroupsResponse, ListServicesRequest, ListServicesResponse, RescheduleMeetingRequest, SendMeetingRequestEmailRequest, SetGeneralAvailabilityRequest, UpdateAvailabilityRequest, UpdateCalendarRequest, UpdateGroupRequest, UpdateHostPreferencesRequest, UpdateMeetingMetadataRequest, UpdateMeetingTypeRequest, UpdateServiceRequest, } from './objects/';
|
|
9
9
|
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
10
|
import { inject } from '@angular/core';
|
|
11
11
|
import { HostService } from '../_generated/host.service';
|
|
@@ -280,6 +280,11 @@ export class MeetingHostApiService {
|
|
|
280
280
|
return this.http.post(this._host + "/meetings.v1.MeetingHost/ListAvailableTimeslotsForRecurringSession", request.toApiJson(), this.apiOptions())
|
|
281
281
|
.pipe(map(resp => ListAvailableTimeslotsForRecurringSessionResponse.fromProto(resp)));
|
|
282
282
|
}
|
|
283
|
+
getEventTypeById(r) {
|
|
284
|
+
const request = (r.toApiJson) ? r : new GetEventTypeByIdRequest(r);
|
|
285
|
+
return this.http.post(this._host + "/meetings.v1.MeetingHost/GetEventTypeById", request.toApiJson(), this.apiOptions())
|
|
286
|
+
.pipe(map(resp => GetEventTypeByIdResponse.fromProto(resp)));
|
|
287
|
+
}
|
|
283
288
|
}
|
|
284
289
|
MeetingHostApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingHostApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
285
290
|
MeetingHostApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingHostApiService, providedIn: 'root' });
|
|
@@ -287,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
287
292
|
type: Injectable,
|
|
288
293
|
args: [{ providedIn: 'root' }]
|
|
289
294
|
}] });
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1ob3N0LmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvX2ludGVybmFsL21lZXRpbmctaG9zdC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQiw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMsdUNBQXVDLEVBQ3ZDLHdDQUF3QyxFQUN4QywyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxpQkFBaUIsRUFDakIs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TyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN2TSxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsaURBQWlELENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2pGLENBQUM7SUFDVixDQUFDOztrSEFwVlEscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FEVCxNQUFNOzJGQUNsQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgICAgIEJvb2tNZWV0aW5nUmVxdWVzdCxcbiAgICAgICAgQm9va01lZXRpbmdSZXNwb25zZSxcbiAgICAgICAgQnVpbGRIb3N0SWRSZXF1ZXN0LFxuICAgICAgICBCdWlsZEhvc3RJZFJlc3BvbnNlLFxuICAgICAgICBDYWxlbmRhck1pZ3JhdGlvblJlc3BvbnNlLFxuICAgICAgICBDYW5jZWxNZWV0aW5nUmVxdWVzdCxcbiAgICAgICAgQ2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXF1ZXN0LFxuICAgICAgICBDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlc3BvbnNlLFxuICAgICAgICBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdCxcbiAgICAgICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlLFxuICAgICAgICBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVBdmFpbGFiaWxpdHlSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVDYWxlbmRhclJlc3BvbnNlLFxuICAgICAgICBDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlR3JvdXBSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVHcm91cFJlc3BvbnNlLFxuICAgICAgICBDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVTZXJ2aWNlUmVzcG9uc2UsXG4gICAgICAgIERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgICAgIERlbGV0ZUdyb3VwUmVxdWVzdCxcbiAgICAgICAgRGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgICAgICBEZWxldGVTZXJ2aWNlUmVxdWVzdCxcbiAgICAgICAgRG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0LFxuICAgICAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlc3BvbnNlLFxuICAgICAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdCxcbiAgICAgICAgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlc3BvbnNlLFxuICAgICAgICBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdCxcbiAgICAgICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlLFxuICAgICAgICBFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlcXVlc3QsXG4gICAgICAgIEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVzcG9uc2UsXG4gICAgICAgIEdldEVudGl0eUFzc29jaWF0aW9uUmVxdWVzdCxcbiAgICAgICAgR2V0RW50aXR5QXNzb2NpYXRpb25SZXNwb25zZSxcbiAgICAgICAgR2V0R3JvdXBSZXF1ZXN0LFxuICAgICAgICBHZXRHcm91cFJlc3BvbnNlLFxuICAgICAgICBHZXRIb3N0TWVldGluZ1JlcXVlc3QsXG4gICAgICAgIEdldEhvc3RNZWV0aW5nUmVzcG9uc2UsXG4gICAgICAgIEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3QsXG4gICAgICAgIEdldEhvc3RQcmVmZXJlbmNlc1Jlc3BvbnNlLFxuICAgICAgICBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdCxcbiAgICAgICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlLFxuICAgICAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0LFxuICAgICAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZSxcbiAgICAgICAgR2V0U2VydmljZVJlcXVlc3QsXG4gICAgICAgIEdldFNlcnZpY2VSZXNwb25zZSxcbiAgICAgICAgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdCxcbiAgICAgICAgSG9zdEJvb2tNZWV0aW5nUmVzcG9uc2UsXG4gICAgICAgIEhvc3RCb29rU2Vzc2lvblJlcXVlc3QsXG4gICAgICAgIEhvc3RCb29rU2Vzc2lvblJlc3BvbnNlLFxuICAgICAgICBIb3N0RGVsZXRlQXR0ZW5kZWVzUmVxdWVzdCxcbiAgICAgICAgSG9zdEdldENhbGVuZGFyUmVxdWVzdCxcbiAgICAgICAgSG9zdEdldENhbGVuZGFyUmVzcG9uc2UsXG4gICAgICAgIEhvc3RHZXRNZWV0aW5nVHlwZVJlcXVlc3QsXG4gICAgICAgIEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlLFxuICAgICAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3QsXG4gICAgICAgIEhvc3RMaXN0TWVldGluZ1R5cGVzUmVzcG9uc2UsXG4gICAgICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdCxcbiAgICAgICAgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICAgICAgSXNIb3N0Q29uZmlndXJlZFJlcXVlc3QsXG4gICAgICAgIElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICAgICAgTGlzdEF0dGVuZGVlc1JlcXVlc3QsXG4gICAgICAgIExpc3RBdHRlbmRlZXNSZXNwb25zZSxcbiAgICAgICAgTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgICAgIExpc3RBdmFpbGFiaWxpdHlSZXNwb25zZSxcbiAgICAgICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXF1ZXN0LFxuICAgICAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlc3BvbnNlLFxuICAgICAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlcXVlc3QsXG4gICAgICAgIExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uUmVzcG9uc2UsXG4gICAgICAgIExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3QsXG4gICAgICAgIExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVxdWVzdCxcbiAgICAgICAgTGlzdEV2ZW50VHlwZXNGb3JNdWx0aXBsZUNhbGVuZGFyc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0R3JvdXBzUmVxdWVzdCxcbiAgICAgICAgTGlzdEdyb3Vwc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0U2VydmljZXNSZXF1ZXN0LFxuICAgICAgICBMaXN0U2VydmljZXNSZXNwb25zZSxcbiAgICAgICAgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0LFxuICAgICAgICBTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3QsXG4gICAgICAgIFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVDYWxlbmRhclJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZUdyb3VwUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVTZXJ2aWNlUmVxdWVzdCxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEJvb2tNZWV0aW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEJ1aWxkSG9zdElkUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQnVpbGRIb3N0SWRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ2FsZW5kYXJNaWdyYXRpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ2FuY2VsTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ2FsZW5kYXJSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlR3JvdXBSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZWV0aW5nVHlwZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlU2VydmljZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVHcm91cFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlU2VydmljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRFbnRpdHlBc3NvY2lhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEVudGl0eUFzc29jaWF0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldEdyb3VwUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0R3JvdXBSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0SG9zdE1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRIb3N0TWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRIb3N0UHJlZmVyZW5jZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEhvc3RzRm9yQ2FsZW5kYXJSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRTZXJ2aWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RCb29rTWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBIb3N0Qm9va1Nlc3Npb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBIb3N0Qm9va1Nlc3Npb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgSG9zdERlbGV0ZUF0dGVuZGVlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RHZXRDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RHZXRDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBJc0hvc3RDb25maWd1cmVkUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RBdHRlbmRlZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QXR0ZW5kZWVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JSZWN1cnJpbmdTZXNzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEV2ZW50VHlwZXNGb3JNdWx0aXBsZUNhbGVuZGFyc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEdyb3Vwc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RHcm91cHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFNlcnZpY2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFNlcnZpY2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVHcm91cFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlU2VydmljZVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTWVldGluZ0hvc3RBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RTZXJ2aWNlID0gaW5qZWN0KEhvc3RTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBidWlsZEhvc3RJZChyOiBCdWlsZEhvc3RJZFJlcXVlc3QgfCBCdWlsZEhvc3RJZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEJ1aWxkSG9zdElkUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEJ1aWxkSG9zdElkUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxCdWlsZEhvc3RJZFJlcXVlc3Q+cikgOiBuZXcgQnVpbGRIb3N0SWRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QnVpbGRIb3N0SWRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0J1aWxkSG9zdElkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQnVpbGRIb3N0SWRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkb2VzQ2FsZW5kYXJFeGlzdChyOiBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3QgfCBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPERvZXNDYWxlbmRhckV4aXN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3Q+cikgOiBuZXcgRG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0RvZXNDYWxlbmRhckV4aXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gRG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVDYWxlbmRhcihyOiBDcmVhdGVDYWxlbmRhclJlcXVlc3QgfCBDcmVhdGVDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUNhbGVuZGFyUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUNhbGVuZGFyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVDYWxlbmRhclJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQ2FsZW5kYXJSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZUNhbGVuZGFyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlQ2FsZW5kYXJSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVDYWxlbmRhcihyOiBVcGRhdGVDYWxlbmRhclJlcXVlc3QgfCBVcGRhdGVDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlQ2FsZW5kYXJSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZUNhbGVuZGFyUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVDYWxlbmRhclJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlQ2FsZW5kYXJcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldENhbGVuZGFyKHI6IEhvc3RHZXRDYWxlbmRhclJlcXVlc3QgfCBIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SG9zdEdldENhbGVuZGFyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0PnIpIDogbmV3IEhvc3RHZXRDYWxlbmRhclJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldENhbGVuZGFyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSG9zdEdldENhbGVuZGFyUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0cyhyOiBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdCB8IEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0PnIpIDogbmV3IEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBlbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0KHI6IEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0IHwgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3Q+cikgOiBuZXcgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9FbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0KHI6IEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVxdWVzdCB8IEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8RW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVxdWVzdD5yKSA6IG5ldyBFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEhvc3RzRm9yQ2FsZW5kYXIocjogR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3QgfCBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdD5yKSA6IG5ldyBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEhvc3RzRm9yQ2FsZW5kYXJSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldEhvc3RzRm9yQ2FsZW5kYXJcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRIb3N0c0ZvckNhbGVuZGFyUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzKHI6IEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3QgfCBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0PnIpIDogbmV3IEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnMocjogTGlzdEV2ZW50VHlwZXNGb3JNdWx0aXBsZUNhbGVuZGFyc1JlcXVlc3QgfCBMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEV2ZW50VHlwZXNGb3JNdWx0aXBsZUNhbGVuZGFyc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVxdWVzdD5yKSA6IG5ldyBMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdEF2YWlsYWJpbGl0eShyOiBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdCB8IExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpIDogbmV3IExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEF2YWlsYWJpbGl0eVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvTGlzdEF2YWlsYWJpbGl0eVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RBdmFpbGFiaWxpdHlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBib29rTWVldGluZyhyOiBIb3N0Qm9va01lZXRpbmdSZXF1ZXN0IHwgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SG9zdEJvb2tNZWV0aW5nUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEhvc3RCb29rTWVldGluZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SG9zdEJvb2tNZWV0aW5nUmVxdWVzdD5yKSA6IG5ldyBIb3N0Qm9va01lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SG9zdEJvb2tNZWV0aW5nUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9Cb29rTWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEhvc3RCb29rTWVldGluZ1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEhvc3RNZWV0aW5nKHI6IEdldEhvc3RNZWV0aW5nUmVxdWVzdCB8IEdldEhvc3RNZWV0aW5nUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0SG9zdE1lZXRpbmdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0SG9zdE1lZXRpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEhvc3RNZWV0aW5nUmVxdWVzdD5yKSA6IG5ldyBHZXRIb3N0TWVldGluZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRIb3N0TWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0SG9zdE1lZXRpbmdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRIb3N0TWVldGluZ1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RCb29rZWRNZWV0aW5ncyhyOiBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0IHwgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEJvb2tlZE1lZXRpbmdzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdD5yKSA6IG5ldyBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEJvb2tlZE1lZXRpbmdzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0Qm9va2VkTWVldGluZ3NcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0Qm9va2VkTWVldGluZ3NSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjYW5jZWxNZWV0aW5nKHI6IENhbmNlbE1lZXRpbmdSZXF1ZXN0IHwgQ2FuY2VsTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2FuY2VsTWVldGluZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2FuY2VsTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgQ2FuY2VsTWVldGluZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ2FuY2VsTWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgcmVzY2hlZHVsZU1lZXRpbmcocjogUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0IHwgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1Jlc2NoZWR1bGVNZWV0aW5nXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICB1cGRhdGVNZWV0aW5nTWV0YWRhdGEocjogVXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdCB8IFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlTWVldGluZ01ldGFkYXRhXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBzZXRHZW5lcmFsQXZhaWxhYmlsaXR5KHI6IFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0IHwgU2V0R2VuZXJhbEF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2V0R2VuZXJhbEF2YWlsYWJpbGl0eVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2V0R2VuZXJhbEF2YWlsYWJpbGl0eVJlcXVlc3Q+cikgOiBuZXcgU2V0R2VuZXJhbEF2YWlsYWJpbGl0eVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvU2V0R2VuZXJhbEF2YWlsYWJpbGl0eVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlQXZhaWxhYmlsaXR5KHI6IENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QgfCBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVBdmFpbGFiaWxpdHlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVBdmFpbGFiaWxpdHlSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZUF2YWlsYWJpbGl0eVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZUF2YWlsYWJpbGl0eVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZUF2YWlsYWJpbGl0eShyOiBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0IHwgVXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9VcGRhdGVBdmFpbGFiaWxpdHlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGRlbGV0ZUF2YWlsYWJpbGl0eShyOiBEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0IHwgRGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9EZWxldGVBdmFpbGFiaWxpdHlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGlzSG9zdENvbmZpZ3VyZWQocjogSXNIb3N0Q29uZmlndXJlZFJlcXVlc3QgfCBJc0hvc3RDb25maWd1cmVkUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SXNIb3N0Q29uZmlndXJlZFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxJc0hvc3RDb25maWd1cmVkUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxJc0hvc3RDb25maWd1cmVkUmVxdWVzdD5yKSA6IG5ldyBJc0hvc3RDb25maWd1cmVkUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0lzSG9zdENvbmZpZ3VyZWRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBJc0hvc3RDb25maWd1cmVkUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0SG9zdFByZWZlcmVuY2VzKHI6IEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3QgfCBHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRIb3N0UHJlZmVyZW5jZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0PnIpIDogbmV3IEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRIb3N0UHJlZmVyZW5jZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldEhvc3RQcmVmZXJlbmNlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldEhvc3RQcmVmZXJlbmNlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZUhvc3RQcmVmZXJlbmNlcyhyOiBVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0IHwgVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3Q+cikgOiBuZXcgVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9VcGRhdGVIb3N0UHJlZmVyZW5jZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldE1lZXRpbmdUeXBlKHI6IEhvc3RHZXRNZWV0aW5nVHlwZVJlcXVlc3QgfCBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIb3N0R2V0TWVldGluZ1R5cGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0PnIpIDogbmV3IEhvc3RHZXRNZWV0aW5nVHlwZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxIb3N0R2V0TWVldGluZ1R5cGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldE1lZXRpbmdUeXBlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSG9zdEdldE1lZXRpbmdUeXBlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdE1lZXRpbmdUeXBlcyhyOiBIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3QgfCBIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEhvc3RMaXN0TWVldGluZ1R5cGVzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3Q+cikgOiBuZXcgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RNZWV0aW5nVHlwZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZU1lZXRpbmdUeXBlKHI6IENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdCB8IENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlTWVldGluZ1R5cGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVNZWV0aW5nVHlwZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ3JlYXRlTWVldGluZ1R5cGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVNZWV0aW5nVHlwZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZU1lZXRpbmdUeXBlKHI6IFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdCB8IFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9VcGRhdGVNZWV0aW5nVHlwZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVsZXRlTWVldGluZ1R5cGUocjogRGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0IHwgRGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0RlbGV0ZU1lZXRpbmdUeXBlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzKHI6IENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0IHwgQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc2VuZE1lZXRpbmdSZXF1ZXN0RW1haWwocjogU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0IHwgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3Q+cikgOiBuZXcgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1NlbmRNZWV0aW5nUmVxdWVzdEVtYWlsXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBpc0NhbGVuZGFyQ29uZmlndXJlZChyOiBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3QgfCBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3Q+cikgOiBuZXcgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SXNDYWxlbmRhckNvbmZpZ3VyZWRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0lzQ2FsZW5kYXJDb25maWd1cmVkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVHcm91cChyOiBDcmVhdGVHcm91cFJlcXVlc3QgfCBDcmVhdGVHcm91cFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUdyb3VwUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUdyb3VwUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVHcm91cFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlR3JvdXBSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlR3JvdXBSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZUdyb3VwXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlR3JvdXBSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVHcm91cChyOiBVcGRhdGVHcm91cFJlcXVlc3QgfCBVcGRhdGVHcm91cFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlR3JvdXBSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZUdyb3VwUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVHcm91cFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlR3JvdXBcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGRlbGV0ZUdyb3VwKHI6IERlbGV0ZUdyb3VwUmVxdWVzdCB8IERlbGV0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVHcm91cFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlR3JvdXBSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZUdyb3VwUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9EZWxldGVHcm91cFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdEdyb3VwcyhyOiBMaXN0R3JvdXBzUmVxdWVzdCB8IExpc3RHcm91cHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0R3JvdXBzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RHcm91cHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RHcm91cHNSZXF1ZXN0PnIpIDogbmV3IExpc3RHcm91cHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEdyb3Vwc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvTGlzdEdyb3Vwc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RHcm91cHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVTZXJ2aWNlKHI6IENyZWF0ZVNlcnZpY2VSZXF1ZXN0IHwgQ3JlYXRlU2VydmljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVNlcnZpY2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlU2VydmljZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlU2VydmljZVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlU2VydmljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVTZXJ2aWNlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DcmVhdGVTZXJ2aWNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlU2VydmljZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVNlcnZpY2UocjogVXBkYXRlU2VydmljZVJlcXVlc3QgfCBVcGRhdGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVTZXJ2aWNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVTZXJ2aWNlUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVTZXJ2aWNlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9VcGRhdGVTZXJ2aWNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVTZXJ2aWNlKHI6IERlbGV0ZVNlcnZpY2VSZXF1ZXN0IHwgRGVsZXRlU2VydmljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlU2VydmljZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlU2VydmljZVJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlU2VydmljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRGVsZXRlU2VydmljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdFNlcnZpY2VzKHI6IExpc3RTZXJ2aWNlc1JlcXVlc3QgfCBMaXN0U2VydmljZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0U2VydmljZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFNlcnZpY2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0U2VydmljZXNSZXF1ZXN0PnIpIDogbmV3IExpc3RTZXJ2aWNlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0U2VydmljZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RTZXJ2aWNlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RTZXJ2aWNlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNhbGVuZGFyTWlncmF0aW9uKCk6IE9ic2VydmFibGU8Q2FsZW5kYXJNaWdyYXRpb25SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q2FsZW5kYXJNaWdyYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NhbGVuZGFyTWlncmF0aW9uXCIsIHt9LCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0R3JvdXAocjogR2V0R3JvdXBSZXF1ZXN0IHwgR2V0R3JvdXBSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRHcm91cFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRHcm91cFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0R3JvdXBSZXF1ZXN0PnIpIDogbmV3IEdldEdyb3VwUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEdyb3VwUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRHcm91cFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldEdyb3VwUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0U2VydmljZShyOiBHZXRTZXJ2aWNlUmVxdWVzdCB8IEdldFNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRTZXJ2aWNlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFNlcnZpY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFNlcnZpY2VSZXF1ZXN0PnIpIDogbmV3IEdldFNlcnZpY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0U2VydmljZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0U2VydmljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFNlcnZpY2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0KHI6IENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0IHwgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3Q+cikgOiBuZXcgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0KHI6IENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVxdWVzdCB8IENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVxdWVzdD5yKSA6IG5ldyBDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ2hlY2tFdmVudFR5cGVTbHVnRXhpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGhvc3RCb29rTWVldGluZyhyOiBCb29rTWVldGluZ1JlcXVlc3QgfCBCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEJvb2tNZWV0aW5nUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEJvb2tNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxCb29rTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgQm9va01lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Qm9va01lZXRpbmdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0hvc3RCb29rTWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEJvb2tNZWV0aW5nUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0RW50aXR5QXNzb2NpYXRpb25zKHI6IEdldEVudGl0eUFzc29jaWF0aW9uUmVxdWVzdCB8IEdldEVudGl0eUFzc29jaWF0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0RW50aXR5QXNzb2NpYXRpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0RW50aXR5QXNzb2NpYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEVudGl0eUFzc29jaWF0aW9uUmVxdWVzdD5yKSA6IG5ldyBHZXRFbnRpdHlBc3NvY2lhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRFbnRpdHlBc3NvY2lhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0RW50aXR5QXNzb2NpYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0RW50aXR5QXNzb2NpYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBob3N0Qm9va1Nlc3Npb24ocjogSG9zdEJvb2tTZXNzaW9uUmVxdWVzdCB8IEhvc3RCb29rU2Vzc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEhvc3RCb29rU2Vzc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxIb3N0Qm9va1Nlc3Npb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEhvc3RCb29rU2Vzc2lvblJlcXVlc3Q+cikgOiBuZXcgSG9zdEJvb2tTZXNzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEhvc3RCb29rU2Vzc2lvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvSG9zdEJvb2tTZXNzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSG9zdEJvb2tTZXNzaW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgaG9zdERlbGV0ZUF0dGVuZGVlcyhyOiBIb3N0RGVsZXRlQXR0ZW5kZWVzUmVxdWVzdCB8IEhvc3REZWxldGVBdHRlbmRlZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEhvc3REZWxldGVBdHRlbmRlZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEhvc3REZWxldGVBdHRlbmRlZXNSZXF1ZXN0PnIpIDogbmV3IEhvc3REZWxldGVBdHRlbmRlZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0hvc3REZWxldGVBdHRlbmRlZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RBdHRlbmRlZXMocjogTGlzdEF0dGVuZGVlc1JlcXVlc3QgfCBMaXN0QXR0ZW5kZWVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEF0dGVuZGVlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QXR0ZW5kZWVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0QXR0ZW5kZWVzUmVxdWVzdD5yKSA6IG5ldyBMaXN0QXR0ZW5kZWVzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RBdHRlbmRlZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RBdHRlbmRlZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0QXR0ZW5kZWVzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2FuY2VsU2Vzc2lvbihyOiBDYW5jZWxNZWV0aW5nUmVxdWVzdCB8IENhbmNlbE1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENhbmNlbE1lZXRpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENhbmNlbE1lZXRpbmdSZXF1ZXN0PnIpIDogbmV3IENhbmNlbE1lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NhbmNlbFNlc3Npb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHJlc2NoZWR1bGVTZXNzaW9uKHI6IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdCB8IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0PnIpIDogbmV3IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9SZXNjaGVkdWxlU2Vzc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb24ocjogTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXF1ZXN0IHwgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXF1ZXN0PnIpIDogbmV3IExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb24ocjogTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXF1ZXN0IHwgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXF1ZXN0PnIpIDogbmV3IExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JSZWN1cnJpbmdTZXNzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JSZWN1cnJpbmdTZXNzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JSZWN1cnJpbmdTZXNzaW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1ob3N0LmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvX2ludGVybmFsL21lZXRpbmctaG9zdC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQiw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMsdUNBQXVDLEVBQ3ZDLHdDQUF3QyxFQUN4QywyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMs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LEtBQUssR0FBRyxvRUFBb0UsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3ZNLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpREFBaUQsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDakYsQ0FBQztJQUNWLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxDQUE2RDtRQUMxRSxNQUFNLE9BQU8sR0FBRyxDQUEyQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUEyQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0MsSUFBSSxDQUFDLEtBQUssR0FBRywyQ0FBMkMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3JKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDeEQsQ0FBQztJQUNWLENBQUM7O2tIQTNWUSxxQkFBcUI7c0hBQXJCLHFCQUFxQixjQURULE1BQU07MkZBQ2xCLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQm9va01lZXRpbmdSZXF1ZXN0LFxuICAgICAgICBCb29rTWVldGluZ1Jlc3BvbnNlLFxuICAgICAgICBCdWlsZEhvc3RJZFJlcXVlc3QsXG4gICAgICAgIEJ1aWxkSG9zdElkUmVzcG9uc2UsXG4gICAgICAgIENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2UsXG4gICAgICAgIENhbmNlbE1lZXRpbmdSZXF1ZXN0LFxuICAgICAgICBDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlcXVlc3QsXG4gICAgICAgIENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVzcG9uc2UsXG4gICAgICAgIENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0LFxuICAgICAgICBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlc3BvbnNlLFxuICAgICAgICBDcmVhdGVDYWxlbmRhclJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVHcm91cFJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUdyb3VwUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlTWVldGluZ1R5cGVSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlU2VydmljZVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZVNlcnZpY2VSZXNwb25zZSxcbiAgICAgICAgRGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICAgICAgRGVsZXRlR3JvdXBSZXF1ZXN0LFxuICAgICAgICBEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3QsXG4gICAgICAgIERlbGV0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgICAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3QsXG4gICAgICAgIERvZXNDYWxlbmRhckV4aXN0UmVzcG9uc2UsXG4gICAgICAgIEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0LFxuICAgICAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2UsXG4gICAgICAgIEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0LFxuICAgICAgICBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVzcG9uc2UsXG4gICAgICAgIEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVxdWVzdCxcbiAgICAgICAgRW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RSZXNwb25zZSxcbiAgICAgICAgR2V0RW50aXR5QXNzb2NpYXRpb25SZXF1ZXN0LFxuICAgICAgICBHZXRFbnRpdHlBc3NvY2lhdGlvblJlc3BvbnNlLFxuICAgICAgICBHZXRFdmVudFR5cGVCeUlkUmVxdWVzdCxcbiAgICAgICAgR2V0RXZlbnRUeXBlQnlJZFJlc3BvbnNlLFxuICAgICAgICBHZXRHcm91cFJlcXVlc3QsXG4gICAgICAgIEdldEdyb3VwUmVzcG9uc2UsXG4gICAgICAgIEdldEhvc3RNZWV0aW5nUmVxdWVzdCxcbiAgICAgICAgR2V0SG9zdE1lZXRpbmdSZXNwb25zZSxcbiAgICAgICAgR2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdCxcbiAgICAgICAgR2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2UsXG4gICAgICAgIEdldEhvc3RzRm9yQ2FsZW5kYXJSZXF1ZXN0LFxuICAgICAgICBHZXRIb3N0c0ZvckNhbGVuZGFyUmVzcG9uc2UsXG4gICAgICAgIEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3QsXG4gICAgICAgIEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1Jlc3BvbnNlLFxuICAgICAgICBHZXRTZXJ2aWNlUmVxdWVzdCxcbiAgICAgICAgR2V0U2VydmljZVJlc3BvbnNlLFxuICAgICAgICBIb3N0Qm9va01lZXRpbmdSZXF1ZXN0LFxuICAgICAgICBIb3N0Qm9va01lZXRpbmdSZXNwb25zZSxcbiAgICAgICAgSG9zdEJvb2tTZXNzaW9uUmVxdWVzdCxcbiAgICAgICAgSG9zdEJvb2tTZXNzaW9uUmVzcG9uc2UsXG4gICAgICAgIEhvc3REZWxldGVBdHRlbmRlZXNSZXF1ZXN0LFxuICAgICAgICBIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0LFxuICAgICAgICBIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZSxcbiAgICAgICAgSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICAgICAgSG9zdEdldE1lZXRpbmdUeXBlUmVzcG9uc2UsXG4gICAgICAgIEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdCxcbiAgICAgICAgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZSxcbiAgICAgICAgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0LFxuICAgICAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlLFxuICAgICAgICBJc0hvc3RDb25maWd1cmVkUmVxdWVzdCxcbiAgICAgICAgSXNIb3N0Q29uZmlndXJlZFJlc3BvbnNlLFxuICAgICAgICBMaXN0QXR0ZW5kZWVzUmVxdWVzdCxcbiAgICAgICAgTGlzdEF0dGVuZGVlc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICAgICAgTGlzdEF2YWlsYWJpbGl0eVJlc3BvbnNlLFxuICAgICAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlcXVlc3QsXG4gICAgICAgIExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JSZWN1cnJpbmdTZXNzaW9uUmVzcG9uc2UsXG4gICAgICAgIExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uUmVxdWVzdCxcbiAgICAgICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXNwb25zZSxcbiAgICAgICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdCxcbiAgICAgICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVzcG9uc2UsXG4gICAgICAgIExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXF1ZXN0LFxuICAgICAgICBMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVzcG9uc2UsXG4gICAgICAgIExpc3RHcm91cHNSZXF1ZXN0LFxuICAgICAgICBMaXN0R3JvdXBzUmVzcG9uc2UsXG4gICAgICAgIExpc3RTZXJ2aWNlc1JlcXVlc3QsXG4gICAgICAgIExpc3RTZXJ2aWNlc1Jlc3BvbnNlLFxuICAgICAgICBSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3QsXG4gICAgICAgIFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdCxcbiAgICAgICAgU2V0R2VuZXJhbEF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZUNhbGVuZGFyUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlR3JvdXBSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVNlcnZpY2VSZXF1ZXN0LFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIEJvb2tNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQm9va01lZXRpbmdSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQnVpbGRIb3N0SWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBCdWlsZEhvc3RJZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDYWxlbmRhck1pZ3JhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDYW5jZWxNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVBdmFpbGFiaWxpdHlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlR3JvdXBSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVHcm91cFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVTZXJ2aWNlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldEVudGl0eUFzc29jaWF0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0RW50aXR5QXNzb2NpYXRpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0RXZlbnRUeXBlQnlJZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEV2ZW50VHlwZUJ5SWRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0R3JvdXBSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRHcm91cFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRIb3N0TWVldGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEhvc3RNZWV0aW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEhvc3RQcmVmZXJlbmNlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0U2VydmljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFNlcnZpY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgSG9zdEJvb2tNZWV0aW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RCb29rU2Vzc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RCb29rU2Vzc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBIb3N0RGVsZXRlQXR0ZW5kZWVzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgSG9zdEdldENhbGVuZGFyUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgSG9zdEdldENhbGVuZGFyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RHZXRNZWV0aW5nVHlwZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RMaXN0TWVldGluZ1R5cGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgSXNIb3N0Q29uZmlndXJlZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEF0dGVuZGVlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RBdHRlbmRlZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RBdmFpbGFiaWxpdHlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdEV2ZW50VHlwZXNGb3JNdWx0aXBsZUNhbGVuZGFyc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0R3JvdXBzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdEdyb3Vwc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0U2VydmljZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0U2VydmljZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBNZWV0aW5nSG9zdEFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdFNlcnZpY2UgPSBpbmplY3QoSG9zdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGJ1aWxkSG9zdElkKHI6IEJ1aWxkSG9zdElkUmVxdWVzdCB8IEJ1aWxkSG9zdElkUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8QnVpbGRIb3N0SWRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8QnVpbGRIb3N0SWRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEJ1aWxkSG9zdElkUmVxdWVzdD5yKSA6IG5ldyBCdWlsZEhvc3RJZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxCdWlsZEhvc3RJZFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQnVpbGRIb3N0SWRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBCdWlsZEhvc3RJZFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRvZXNDYWxlbmRhckV4aXN0KHI6IERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdCB8IERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8RG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdD5yKSA6IG5ldyBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxEb2VzQ2FsZW5kYXJFeGlzdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRG9lc0NhbGVuZGFyRXhpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBEb2VzQ2FsZW5kYXJFeGlzdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZUNhbGVuZGFyKHI6IENyZWF0ZUNhbGVuZGFyUmVxdWVzdCB8IENyZWF0ZUNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQ2FsZW5kYXJSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlQ2FsZW5kYXJSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZUNhbGVuZGFyUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVDYWxlbmRhclJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ3JlYXRlQ2FsZW5kYXJcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVDYWxlbmRhclJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZUNhbGVuZGFyKHI6IFVwZGF0ZUNhbGVuZGFyUmVxdWVzdCB8IFVwZGF0ZUNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVDYWxlbmRhclJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlQ2FsZW5kYXJSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUNhbGVuZGFyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9VcGRhdGVDYWxlbmRhclwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0Q2FsZW5kYXIocjogSG9zdEdldENhbGVuZGFyUmVxdWVzdCB8IEhvc3RHZXRDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEhvc3RHZXRDYWxlbmRhclJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEhvc3RHZXRDYWxlbmRhclJlcXVlc3Q+cikgOiBuZXcgSG9zdEdldENhbGVuZGFyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEhvc3RHZXRDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0Q2FsZW5kYXJcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBlbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzKHI6IEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0IHwgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3Q+cikgOiBuZXcgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9FbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3QocjogRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3QgfCBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8RW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdD5yKSA6IG5ldyBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0Vuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3QocjogRW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RSZXF1ZXN0IHwgRW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RSZXF1ZXN0PnIpIDogbmV3IEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9FbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0SG9zdHNGb3JDYWxlbmRhcihyOiBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdCB8IEdldEhvc3RzRm9yQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRIb3N0c0ZvckNhbGVuZGFyUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEhvc3RzRm9yQ2FsZW5kYXJSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEhvc3RzRm9yQ2FsZW5kYXJSZXF1ZXN0PnIpIDogbmV3IEdldEhvc3RzRm9yQ2FsZW5kYXJSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0SG9zdHNGb3JDYWxlbmRhclwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldEhvc3RzRm9yQ2FsZW5kYXJSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnMocjogR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdCB8IEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3Q+cikgOiBuZXcgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdEV2ZW50VHlwZXNGb3JNdWx0aXBsZUNhbGVuZGFycyhyOiBMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVxdWVzdCB8IExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0RXZlbnRUeXBlc0Zvck11bHRpcGxlQ2FsZW5kYXJzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXF1ZXN0PnIpIDogbmV3IExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEV2ZW50VHlwZXNGb3JNdWx0aXBsZUNhbGVuZGFyc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvTGlzdEV2ZW50VHlwZXNGb3JNdWx0aXBsZUNhbGVuZGFyc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0QXZhaWxhYmlsaXR5KHI6IExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0IHwgTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RBdmFpbGFiaWxpdHlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdEF2YWlsYWJpbGl0eVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEF2YWlsYWJpbGl0eVJlcXVlc3Q+cikgOiBuZXcgTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0QXZhaWxhYmlsaXR5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEF2YWlsYWJpbGl0eVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGJvb2tNZWV0aW5nKHI6IEhvc3RCb29rTWVldGluZ1JlcXVlc3QgfCBIb3N0Qm9va01lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIb3N0Qm9va01lZXRpbmdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SG9zdEJvb2tNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxIb3N0Qm9va01lZXRpbmdSZXF1ZXN0PnIpIDogbmV3IEhvc3RCb29rTWVldGluZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxIb3N0Qm9va01lZXRpbmdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0Jvb2tNZWV0aW5nXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSG9zdEJvb2tNZWV0aW5nUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0SG9zdE1lZXRpbmcocjogR2V0SG9zdE1lZXRpbmdSZXF1ZXN0IHwgR2V0SG9zdE1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRIb3N0TWVldGluZ1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRIb3N0TWVldGluZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0SG9zdE1lZXRpbmdSZXF1ZXN0PnIpIDogbmV3IEdldEhvc3RNZWV0aW5nUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEhvc3RNZWV0aW5nUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRIb3N0TWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldEhvc3RNZWV0aW5nUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdEJvb2tlZE1lZXRpbmdzKHI6IExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3QgfCBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0Qm9va2VkTWVldGluZ3NSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0PnIpIDogbmV3IExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0Qm9va2VkTWVldGluZ3NSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RCb29rZWRNZWV0aW5nc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNhbmNlbE1lZXRpbmcocjogQ2FuY2VsTWVldGluZ1JlcXVlc3QgfCBDYW5jZWxNZWV0aW5nUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDYW5jZWxNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDYW5jZWxNZWV0aW5nUmVxdWVzdD5yKSA6IG5ldyBDYW5jZWxNZWV0aW5nUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DYW5jZWxNZWV0aW5nXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICByZXNjaGVkdWxlTWVldGluZyhyOiBSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3QgfCBSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdD5yKSA6IG5ldyBSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvUmVzY2hlZHVsZU1lZXRpbmdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHVwZGF0ZU1lZXRpbmdNZXRhZGF0YShyOiBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0IHwgVXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9VcGRhdGVNZWV0aW5nTWV0YWRhdGFcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHNldEdlbmVyYWxBdmFpbGFiaWxpdHkocjogU2V0R2VuZXJhbEF2YWlsYWJpbGl0eVJlcXVlc3QgfCBTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdD5yKSA6IG5ldyBTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9TZXRHZW5lcmFsQXZhaWxhYmlsaXR5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVBdmFpbGFiaWxpdHkocjogQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdCB8IENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUF2YWlsYWJpbGl0eVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUF2YWlsYWJpbGl0eVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ3JlYXRlQXZhaWxhYmlsaXR5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlQXZhaWxhYmlsaXR5KHI6IFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QgfCBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZUF2YWlsYWJpbGl0eVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVsZXRlQXZhaWxhYmlsaXR5KHI6IERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3QgfCBEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKSA6IG5ldyBEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0RlbGV0ZUF2YWlsYWJpbGl0eVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgaXNIb3N0Q29uZmlndXJlZChyOiBJc0hvc3RDb25maWd1cmVkUmVxdWVzdCB8IElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxJc0hvc3RDb25maWd1cmVkUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0PnIpIDogbmV3IElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SXNIb3N0Q29uZmlndXJlZFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvSXNIb3N0Q29uZmlndXJlZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRIb3N0UHJlZmVyZW5jZXMocjogR2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdCB8IEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEhvc3RQcmVmZXJlbmNlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3Q+cikgOiBuZXcgR2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEhvc3RQcmVmZXJlbmNlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0SG9zdFByZWZlcmVuY2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlSG9zdFByZWZlcmVuY2VzKHI6IFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3QgfCBVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZUhvc3RQcmVmZXJlbmNlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0TWVldGluZ1R5cGUocjogSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdCB8IEhvc3RHZXRNZWV0aW5nVHlwZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEhvc3RHZXRNZWV0aW5nVHlwZVJlcXVlc3Q+cikgOiBuZXcgSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0TWVldGluZ1R5cGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBIb3N0R2V0TWVldGluZ1R5cGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0TWVldGluZ1R5cGVzKHI6IEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdCB8IEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdD5yKSA6IG5ldyBIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvTGlzdE1lZXRpbmdUeXBlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEhvc3RMaXN0TWVldGluZ1R5cGVzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlTWVldGluZ1R5cGUocjogQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0IHwgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVNZWV0aW5nVHlwZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DcmVhdGVNZWV0aW5nVHlwZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlTWVldGluZ1R5cGUocjogVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0IHwgVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZU1lZXRpbmdUeXBlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVNZWV0aW5nVHlwZShyOiBEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3QgfCBEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRGVsZXRlTWVldGluZ1R5cGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXMocjogQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3QgfCBDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBzZW5kTWVldGluZ1JlcXVlc3RFbWFpbChyOiBTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3QgfCBTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdD5yKSA6IG5ldyBTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGlzQ2FsZW5kYXJDb25maWd1cmVkKHI6IElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdCB8IElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SXNDYWxlbmRhckNvbmZpZ3VyZWRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdD5yKSA6IG5ldyBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvSXNDYWxlbmRhckNvbmZpZ3VyZWRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZUdyb3VwKHI6IENyZWF0ZUdyb3VwUmVxdWVzdCB8IENyZWF0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlR3JvdXBSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlR3JvdXBSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZUdyb3VwUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVHcm91cFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVHcm91cFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ3JlYXRlR3JvdXBcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVHcm91cFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZUdyb3VwKHI6IFVwZGF0ZUdyb3VwUmVxdWVzdCB8IFVwZGF0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVHcm91cFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlR3JvdXBSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUdyb3VwUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9VcGRhdGVHcm91cFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVsZXRlR3JvdXAocjogRGVsZXRlR3JvdXBSZXF1ZXN0IHwgRGVsZXRlR3JvdXBSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZUdyb3VwUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVHcm91cFJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlR3JvdXBSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0RlbGV0ZUdyb3VwXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0R3JvdXBzKHI6IExpc3RHcm91cHNSZXF1ZXN0IHwgTGlzdEdyb3Vwc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RHcm91cHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdEdyb3Vwc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEdyb3Vwc1JlcXVlc3Q+cikgOiBuZXcgTGlzdEdyb3Vwc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0R3JvdXBzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0R3JvdXBzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEdyb3Vwc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZVNlcnZpY2UocjogQ3JlYXRlU2VydmljZVJlcXVlc3QgfCBDcmVhdGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlU2VydmljZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVTZXJ2aWNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVTZXJ2aWNlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVTZXJ2aWNlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVNlcnZpY2VSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZVNlcnZpY2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVTZXJ2aWNlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlU2VydmljZShyOiBVcGRhdGVTZXJ2aWNlUmVxdWVzdCB8IFVwZGF0ZVNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZVNlcnZpY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVNlcnZpY2VSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZVNlcnZpY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZVNlcnZpY2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGRlbGV0ZVNlcnZpY2UocjogRGVsZXRlU2VydmljZVJlcXVlc3QgfCBEZWxldGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVTZXJ2aWNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVTZXJ2aWNlUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVTZXJ2aWNlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9EZWxldGVTZXJ2aWNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0U2VydmljZXMocjogTGlzdFNlcnZpY2VzUmVxdWVzdCB8IExpc3RTZXJ2aWNlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RTZXJ2aWNlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0U2VydmljZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RTZXJ2aWNlc1JlcXVlc3Q+cikgOiBuZXcgTGlzdFNlcnZpY2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RTZXJ2aWNlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvTGlzdFNlcnZpY2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFNlcnZpY2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2FsZW5kYXJNaWdyYXRpb24oKTogT2JzZXJ2YWJsZTxDYWxlbmRhck1pZ3JhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDYWxlbmRhck1pZ3JhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ2FsZW5kYXJNaWdyYXRpb25cIiwge30sIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ2FsZW5kYXJNaWdyYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRHcm91cChyOiBHZXRHcm91cFJlcXVlc3QgfCBHZXRHcm91cFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEdyb3VwUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEdyb3VwUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRHcm91cFJlcXVlc3Q+cikgOiBuZXcgR2V0R3JvdXBSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0R3JvdXBSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldEdyb3VwXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0R3JvdXBSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRTZXJ2aWNlKHI6IEdldFNlcnZpY2VSZXF1ZXN0IHwgR2V0U2VydmljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFNlcnZpY2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0U2VydmljZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0U2VydmljZVJlcXVlc3Q+cikgOiBuZXcgR2V0U2VydmljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRTZXJ2aWNlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRTZXJ2aWNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0U2VydmljZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3QocjogQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3QgfCBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdD5yKSA6IG5ldyBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2hlY2tFdmVudFR5cGVTbHVnRXhpc3QocjogQ2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXF1ZXN0IHwgQ2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXF1ZXN0PnIpIDogbmV3IENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DaGVja0V2ZW50VHlwZVNsdWdFeGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgaG9zdEJvb2tNZWV0aW5nKHI6IEJvb2tNZWV0aW5nUmVxdWVzdCB8IEJvb2tNZWV0aW5nUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Qm9va01lZXRpbmdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Qm9va01lZXRpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEJvb2tNZWV0aW5nUmVxdWVzdD5yKSA6IG5ldyBCb29rTWVldGluZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxCb29rTWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvSG9zdEJvb2tNZWV0aW5nXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQm9va01lZXRpbmdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRFbnRpdHlBc3NvY2lhdGlvbnMocjogR2V0RW50aXR5QXNzb2NpYXRpb25SZXF1ZXN0IHwgR2V0RW50aXR5QXNzb2NpYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRFbnRpdHlBc3NvY2lhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRFbnRpdHlBc3NvY2lhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0RW50aXR5QXNzb2NpYXRpb25SZXF1ZXN0PnIpIDogbmV3IEdldEVudGl0eUFzc29jaWF0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEVudGl0eUFzc29jaWF0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRFbnRpdHlBc3NvY2lhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRFbnRpdHlBc3NvY2lhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGhvc3RCb29rU2Vzc2lvbihyOiBIb3N0Qm9va1Nlc3Npb25SZXF1ZXN0IHwgSG9zdEJvb2tTZXNzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SG9zdEJvb2tTZXNzaW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEhvc3RCb29rU2Vzc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SG9zdEJvb2tTZXNzaW9uUmVxdWVzdD5yKSA6IG5ldyBIb3N0Qm9va1Nlc3Npb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SG9zdEJvb2tTZXNzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9Ib3N0Qm9va1Nlc3Npb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBIb3N0Qm9va1Nlc3Npb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBob3N0RGVsZXRlQXR0ZW5kZWVzKHI6IEhvc3REZWxldGVBdHRlbmRlZXNSZXF1ZXN0IHwgSG9zdERlbGV0ZUF0dGVuZGVlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SG9zdERlbGV0ZUF0dGVuZGVlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SG9zdERlbGV0ZUF0dGVuZGVlc1JlcXVlc3Q+cikgOiBuZXcgSG9zdERlbGV0ZUF0dGVuZGVlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvSG9zdERlbGV0ZUF0dGVuZGVlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdEF0dGVuZGVlcyhyOiBMaXN0QXR0ZW5kZWVzUmVxdWVzdCB8IExpc3RBdHRlbmRlZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0QXR0ZW5kZWVzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RBdHRlbmRlZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RBdHRlbmRlZXNSZXF1ZXN0PnIpIDogbmV3IExpc3RBdHRlbmRlZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEF0dGVuZGVlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvTGlzdEF0dGVuZGVlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RBdHRlbmRlZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjYW5jZWxTZXNzaW9uKHI6IENhbmNlbE1lZXRpbmdSZXF1ZXN0IHwgQ2FuY2VsTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q2FuY2VsTWVldGluZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2FuY2VsTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgQ2FuY2VsTWVldGluZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ2FuY2VsU2Vzc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgcmVzY2hlZHVsZVNlc3Npb24ocjogUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0IHwgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1Jlc2NoZWR1bGVTZXNzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvbihyOiBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlcXVlc3QgfCBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlcXVlc3Q+cikgOiBuZXcgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JTZXNzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvbihyOiBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlcXVlc3QgfCBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JSZWN1cnJpbmdTZXNzaW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JSZWN1cnJpbmdTZXNzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlcXVlc3Q+cikgOiBuZXcgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RBdmFpbGFibGVUaW1lc2xvdHNGb3JSZWN1cnJpbmdTZXNzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRFdmVudFR5cGVCeUlkKHI6IEdldEV2ZW50VHlwZUJ5SWRSZXF1ZXN0IHwgR2V0RXZlbnRUeXBlQnlJZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEV2ZW50VHlwZUJ5SWRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0RXZlbnRUeXBlQnlJZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0RXZlbnRUeXBlQnlJZFJlcXVlc3Q+cikgOiBuZXcgR2V0RXZlbnRUeXBlQnlJZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRFdmVudFR5cGVCeUlkUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRFdmVudFR5cGVCeUlkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0RXZlbnRUeXBlQnlJZFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufVxuIl19
|
|
@@ -14,8 +14,8 @@ export { EventGroupAndServiceAssociations, Group, Service, } from './groups-and-
|
|
|
14
14
|
export { BookMeetingRequest, BookMeetingResponse, CheckFeatureFlagRequest, CheckFeatureFlagResponse, GetCalendarRequest, GetCalendarResponse, GetGroupRequest, GetGroupResponse, GetHostRequest, GetHostResponse, GetMeetingCalendarInfoRequest, GetMeetingCalendarInfoResponse, GetMeetingTypeRequest, GetMeetingTypeResponse, GetServiceRequest, GetServiceResponse, GetSessionInviteeMeetingInfoRequest, GetSessionInviteeMeetingInfoResponse, GetSessionMeetingRequest, GetSessionMeetingResponse, GuestCancelMeetingRequest, GuestGetBookedMeetingRequest, GuestGetBookedMeetingRequestV2, GuestGetBookedMeetingResponse, GuestGetBookedMeetingResponseV2, GuestIsHostConfiguredRequest, GuestIsHostConfiguredResponse, GuestRescheduleMeetingRequest, InviteeDeregisterSessionMeetingRequest, InviteeRegisterSessionMeetingRequest, ListAvailableTimeSlotsRequest, ListAvailableTimeSlotsResponse, ListMeetingTypesRequest, ListMeetingTypesResponse, BookMeetingRequestMetadataEntry, RegisterSessionRequest, } from './meeting-guest';
|
|
15
15
|
export { AvailableTimeSlotsRequest, AvailableTimeSlotsResponse, BookMeetingExternalRequest, BookMeetingExternalResponse, EventType, ExternalCancelMeetingRequest, ExternalRescheduleMeetingRequest, ExternalRescheduleMeetingResponse, GetUsersRequest, GetUsersResponse, GroupResponse, GroupsRequest, GroupsResponse, HostUserDetails, ListTeamEventTypesRequest, ListTeamEventTypesResponse, ListUserEventTypesRequest, ListUserEventTypesResponse, ServiceResponse, ServicesRequest, ServicesResponse, UserResponse, } from './meeting-external';
|
|
16
16
|
export { FieldMask, } from './field-mask';
|
|
17
|
-
export { IsCalendarConfiguredRequestApplicationContextPropertiesEntry,
|
|
17
|
+
export { IsCalendarConfiguredRequestApplicationContextPropertiesEntry, BuildHostIdRequestApplicationContextPropertiesEntry, EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry, AvailabilityRule, AvailabilityRuleList, BuildHostIdRequest, BuildHostIdResponse, GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry, CalendarMigrationResponse, CancelMeetingRequest, CheckEventTypeSlugExistRequest, CheckEventTypeSlugExistResponse, CheckGroupOrServiceSlugExistRequest, CheckGroupOrServiceSlugExistResponse, CreateAvailabilityRequest, CreateAvailabilityResponse, CreateCalendarRequest, CreateCalendarResponse, CreateDefaultMeetingTypesRequest, CreateGroupRequest, CreateGroupResponse, CreateMeetingTypeRequest, CreateMeetingTypeResponse, CreateServiceRequest, CreateServiceResponse, DeleteAvailabilityRequest, DeleteGroupRequest, DeleteMeetingTypeRequest, DeleteServiceRequest, DoesCalendarExistRequest, DoesCalendarExistResponse, EnsureGroupCalendarsExistRequest, EnsureGroupCalendarsExistResponse, EnsurePersonalCalendarExistsRequest, EnsurePersonalCalendarExistsResponse, EnsureSessionEventCalendarsExistRequest, EnsureSessionEventCalendarsExistResponse, EventTypeSummary, ListAvailabilityRequestFilters, ListBookedMeetingsRequestFilters, GetEntityAssociationRequest, GetEntityAssociationResponse, GetEventTypeByIdRequest, GetEventTypeByIdResponse, GetHostMeetingRequest, GetHostMeetingResponse, GetHostPreferencesRequest, GetHostPreferencesResponse, GetHostsForCalendarRequest, GetHostsForCalendarResponse, GetMeetingTypesForCalendarsRequest, GetMeetingTypesForCalendarsResponse, HostBookMeetingRequest, HostBookMeetingResponse, HostBookSessionRequest, HostBookSessionResponse, HostDeleteAttendeesRequest, HostDetails, HostGetCalendarRequest, HostGetCalendarResponse, HostGetMeetingTypeRequest, HostGetMeetingTypeResponse, HostListMeetingTypesRequest, HostListMeetingTypesResponse, GetHostsForCalendarResponseHostUserAvailabilityRuleEntry, IsCalendarConfiguredRequest, IsCalendarConfiguredResponse, IsHostConfiguredRequest, IsHostConfiguredResponse, ListAttendeesRequest, ListAttendeesResponse, ListAvailabilityRequest, ListAvailabilityResponse, ListAvailableTimeslotsForRecurringSessionRequest, ListAvailableTimeslotsForRecurringSessionResponse, ListAvailableTimeslotsForSessionRequest, ListAvailableTimeslotsForSessionResponse, ListBookedMeetingsRequest, ListBookedMeetingsResponse, ListEventTypesForMultipleCalendarsRequest, ListEventTypesForMultipleCalendarsResponse, ListGroupsRequest, ListGroupsResponse, ListServicesRequest, ListServicesResponse, Meeting, MeetingTypeList, UpdateMeetingMetadataRequestMetadataEntry, MeetingMetadataEntry, RecurrenceConfig, RecurrenceEnd, RescheduleMeetingRequest, SendMeetingRequestEmailRequest, SessionAttendees, SetGeneralAvailabilityRequest, TimeSlotsByWeekDay, UpdateAvailabilityRequest, UpdateCalendarRequest, UpdateGroupRequest, UpdateHostPreferencesRequest, UpdateMeetingMetadataRequest, UpdateMeetingTypeRequest, UpdateServiceRequest, WeekdayAvailability, } from './meeting-host';
|
|
18
18
|
export { Access, MCPOptions, } from './annotations';
|
|
19
19
|
export { TimeOfDay, } from './timeofday';
|
|
20
20
|
export { DateTime, TimeZone, } from './datetime';
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tZWV0aW5nc19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsaUJBQWlCO0FBQ2pCLG9DQUFvQztBQUNwQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsa0JBQWtCLEdBQ3JCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUNILHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNqQixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGlDQUFpQyxFQUNqQyw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLG9CQUFvQixFQUNwQiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDBCQUEwQixHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsTUFBTSxFQUNOLE9BQU8sRUFDUCwrQkFBK0IsRUFDL0IsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsT0FBTyxFQUNQLGNBQWMsRUFDZCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gs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QUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLHdEQUF3RCxFQUN4RCwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLGdEQUFnRCxFQUNoRCxpREFBaUQsRUFDakQsdUNBQXVDLEVBQ3ZDLHdDQUF3QyxFQUN4Qyx5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLHlDQUF5QyxFQUN6QywwQ0FBMEMsRUFDMUMsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxlQUFlLEVBQ2YseUNBQXlDLEVBQ3pDLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLHdCQUF3QixFQUN4Qiw4QkFBOEIsRUFDOUIsZ0JBQWdCLEVBQ2hCLDZCQUE2QixFQUM3QixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1Qix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDSCxNQUFNLEVBQ04sVUFBVSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEdBQUcsTUFBTSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgTWVldGluZ1NvdXJjZUluZm8sXG4gICAgTWVldGluZ1NvdXJjZUxpc3RSZXF1ZXN0LFxuICAgIE1lZXRpbmdTb3VyY2VMaXN0UmVzcG9uc2UsXG4gICAgTWVldGluZ1NvdXJjZVF1ZXJ5LFxufSBmcm9tICcuL21lZXRpbmctc291cmNlJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVab29tTWVldGluZ1JlcXVlc3QsXG4gICAgQ3JlYXRlWm9vbU1lZXRpbmdSZXNwb25zZSxcbiAgICBab29tTWVldGluZ1JlY3VycmVuY2UsXG4gICAgWm9vbU1lZXRpbmdTZXR0aW5ncyxcbiAgICBab29tTWVldGluZ1RyYWNraW5nRmllbGQsXG4gICAgWm9vbU9jY3VycmVuY2UsXG59IGZyb20gJy4vem9vbSc7XG5cbmV4cG9ydCB7XG4gICAgR29vZ2xlTWVldENvbmZlcmVuY2VEYXRhLFxuICAgIEdvb2dsZU1lZXRDb25mZXJlbmNlUmVxdWVzdFN0YXR1cyxcbiAgICBHb29nbGVNZWV0Q29uZmVyZW5jZVNvbHV0aW9uLFxuICAgIEdvb2dsZU1lZXRDb25mZXJlbmNlU29sdXRpb25LZXksXG4gICAgR29vZ2xlTWVldENyZWF0ZUNvbmZlcmVuY2VSZXF1ZXN0LFxuICAgIEdvb2dsZU1lZXRDcmVhdGVNZWV0aW5nUmVxdWVzdCxcbiAgICBHb29nbGVNZWV0Q3JlYXRlTWVldGluZ1Jlc3BvbnNlLFxuICAgIEdvb2dsZU1lZXRFbnRyeVBvaW50LFxuICAgIEdvb2dsZU1lZXRMaXN0TWVldGluZ3NSZXF1ZXN0LFxuICAgIEdvb2dsZU1lZXRMaXN0TWVldGluZ3NSZXNwb25zZSxcbiAgICBHb29nbGVNZWV0TWVldGluZyxcbiAgICBHb29nbGVNZWV0TWVldGluZ0F0dGVuZGVlLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nQ3JlYXRvcixcbiAgICBHb29nbGVNZWV0TWVldGluZ0RhdGVUaW1lLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nT3JnYW5pemVyLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nUmVtaW5kZXIsXG4gICAgR29vZ2xlTWVldE1lZXRpbmdSZW1pbmRlcnMsXG59IGZyb20gJy4vZ29vZ2xlLW1lZXQnO1xuXG5leHBvcnQge1xuICAgIEFuc3dlcixcbiAgICBBbnN3ZXJzLFxuICAgIENhbGVuZGFyQXBwbGljYXRpb25Db250ZXh0RW50cnksXG4gICAgQXR0YWNobWVudCxcbiAgICBBdHRlbmRlZSxcbiAgICBDYWxlbmRhcixcbiAgICBDb250YWN0LFxuICAgIEVtYWlsc1RvRGVsZXRlLFxuICAgIEhvc3QsXG4gICAgSG9zdE9yZGVyRGV0YWlscyxcbiAgICBIb3N0VXNlcixcbiAgICBJc29EYXRlVGltZVJhbmdlLFxuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXNwb25zZU1ldGFkYXRhLFxuICAgIFBob25lRmllbGRzLFxuICAgIFByZWZlcmVuY2VzLFxuICAgIFRpbWVSYW5nZSxcbn0gZnJvbSAnLi9zaGFyZWQnO1xuXG5leHBvcnQge1xuICAgIERhdGVSYW5nZSxcbn0gZnJvbSAnLi9kYXRlLXJhbmdlJztcblxuZXhwb3J0IHtcbiAgICBFdmVudFR5cGVEYXRlUmFuZ2UsXG4gICAgRmllbGQsXG4gICAgRm9ybSxcbiAgICBNZWV0aW5nVHlwZSxcbiAgICBSZWdpc3RyYXRpb25DdXRPZmYsXG4gICAgUmVsYXRpdmVEYXRlUmFuZ2UsXG59IGZyb20gJy4vbWVldGluZy10eXBlJztcblxuZXhwb3J0IHtcbiAgICBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9ucyxcbiAgICBHcm91cCxcbiAgICBTZXJ2aWNlLFxufSBmcm9tICcuL2dyb3Vwcy1hbmQtc2VydmljZXMnO1xuXG5leHBvcnQge1xuICAgIEJvb2tNZWV0aW5nUmVxdWVzdCxcbiAgICBCb29rTWVldGluZ1Jlc3BvbnNlLFxuICAgIENoZWNrRmVhdHVyZUZsYWdSZXF1ZXN0LFxuICAgIENoZWNrRmVhdHVyZUZsYWdSZXNwb25zZSxcbiAgICBHZXRDYWxlbmRhclJlcXVlc3QsXG4gICAgR2V0Q2FsZW5kYXJSZXNwb25zZSxcbiAgICBHZXRHcm91cFJlcXVlc3QsXG4gICAgR2V0R3JvdXBSZXNwb25zZSxcbiAgICBHZXRIb3N0UmVxdWVzdCxcbiAgICBHZXRIb3N0UmVzcG9uc2UsXG4gICAgR2V0TWVldGluZ0NhbGVuZGFySW5mb1JlcXVlc3QsXG4gICAgR2V0TWVldGluZ0NhbGVuZGFySW5mb1Jlc3BvbnNlLFxuICAgIEdldE1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBHZXRNZWV0aW5nVHlwZVJlc3BvbnNlLFxuICAgIEdldFNlcnZpY2VSZXF1ZXN0LFxuICAgIEdldFNlcnZpY2VSZXNwb25zZSxcbiAgICBHZXRTZXNzaW9uSW52aXRlZU1lZXRpbmdJbmZvUmVxdWVzdCxcbiAgICBHZXRTZXNzaW9uSW52aXRlZU1lZXRpbmdJbmZvUmVzcG9uc2UsXG4gICAgR2V0U2Vzc2lvbk1lZXRpbmdSZXF1ZXN0LFxuICAgIEdldFNlc3Npb25NZWV0aW5nUmVzcG9uc2UsXG4gICAgR3Vlc3RDYW5jZWxNZWV0aW5nUmVxdWVzdCxcbiAgICBHdWVzdEdldEJvb2tlZE1lZXRpbmdSZXF1ZXN0LFxuICAgIEd1ZXN0R2V0Qm9va2VkTWVldGluZ1JlcXVlc3RWMixcbiAgICBHdWVzdEdldEJvb2tlZE1lZXRpbmdSZXNwb25zZSxcbiAgICBHdWVzdEdldEJvb2tlZE1lZXRpbmdSZXNwb25zZVYyLFxuICAgIEd1ZXN0SXNIb3N0Q29uZmlndXJlZFJlcXVlc3QsXG4gICAgR3Vlc3RJc0hvc3RDb25maWd1cmVkUmVzcG9uc2UsXG4gICAgR3Vlc3RSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3QsXG4gICAgSW52aXRlZURlcmVnaXN0ZXJTZXNzaW9uTWVldGluZ1JlcXVlc3QsXG4gICAgSW52aXRlZVJlZ2lzdGVyU2Vzc2lvbk1lZXRpbmdSZXF1ZXN0LFxuICAgIExpc3RBdmFpbGFibGVUaW1lU2xvdHNSZXF1ZXN0LFxuICAgIExpc3RBdmFpbGFibGVUaW1lU2xvdHNSZXNwb25zZSxcbiAgICBMaXN0TWVldGluZ1R5cGVzUmVxdWVzdCxcbiAgICBMaXN0TWVldGluZ1R5cGVzUmVzcG9uc2UsXG4gICAgQm9va01lZXRpbmdSZXF1ZXN0TWV0YWRhdGFFbnRyeSxcbiAgICBSZWdpc3RlclNlc3Npb25SZXF1ZXN0LFxufSBmcm9tICcuL21lZXRpbmctZ3Vlc3QnO1xuXG5leHBvcnQge1xuICAgIEF2YWlsYWJsZVRpbWVTbG90c1JlcXVlc3QsXG4gICAgQXZhaWxhYmxlVGltZVNsb3RzUmVzcG9uc2UsXG4gICAgQm9va01lZXRpbmdFeHRlcm5hbFJlcXVlc3QsXG4gICAgQm9va01lZXRpbmdFeHRlcm5hbFJlc3BvbnNlLFxuICAgIEV2ZW50VHlwZSxcbiAgICBFeHRlcm5hbENhbmNlbE1lZXRpbmdSZXF1ZXN0LFxuICAgIEV4dGVybmFsUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0LFxuICAgIEV4dGVybmFsUmVzY2hlZHVsZU1lZXRpbmdSZXNwb25zZSxcbiAgICBHZXRVc2Vyc1JlcXVlc3QsXG4gICAgR2V0VXNlcnNSZXNwb25zZSxcbiAgICBHcm91cFJlc3BvbnNlLFxuICAgIEdyb3Vwc1JlcXVlc3QsXG4gICAgR3JvdXBzUmVzcG9uc2UsXG4gICAgSG9zdFVzZXJEZXRhaWxzLFxuICAgIExpc3RUZWFtRXZlbnRUeXBlc1JlcXVlc3QsXG4gICAgTGlzdFRlYW1FdmVudFR5cGVzUmVzcG9uc2UsXG4gICAgTGlzdFVzZXJFdmVudFR5cGVzUmVxdWVzdCxcbiAgICBMaXN0VXNlckV2ZW50VHlwZXNSZXNwb25zZSxcbiAgICBTZXJ2aWNlUmVzcG9uc2UsXG4gICAgU2VydmljZXNSZXF1ZXN0LFxuICAgIFNlcnZpY2VzUmVzcG9uc2UsXG4gICAgVXNlclJlc3BvbnNlLFxufSBmcm9tICcuL21lZXRpbmctZXh0ZXJuYWwnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkTWFzayxcbn0gZnJvbSAnLi9maWVsZC1tYXNrJztcblxuZXhwb3J0IHtcbiAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3RBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzRW50cnksXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3RBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzRW50cnksXG4gICAgQnVpbGRIb3N0SWRSZXF1ZXN0QXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllc0VudHJ5LFxuICAgIEF2YWlsYWJpbGl0eVJ1bGUsXG4gICAgQXZhaWxhYmlsaXR5UnVsZUxpc3QsXG4gICAgQnVpbGRIb3N0SWRSZXF1ZXN0LFxuICAgIEJ1aWxkSG9zdElkUmVzcG9uc2UsXG4gICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2VDYWxlbmRhck1lZXRpbmdUeXBlc01hcEVudHJ5LFxuICAgIENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2UsXG4gICAgQ2FuY2VsTWVldGluZ1JlcXVlc3QsXG4gICAgQ2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXF1ZXN0LFxuICAgIENoZWNrRXZlbnRUeXBlU2x1Z0V4aXN0UmVzcG9uc2UsXG4gICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3QsXG4gICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlLFxuICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2UsXG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0LFxuICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UsXG4gICAgQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3QsXG4gICAgQ3JlYXRlR3JvdXBSZXF1ZXN0LFxuICAgIENyZWF0ZUdyb3VwUmVzcG9uc2UsXG4gICAgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2UsXG4gICAgQ3JlYXRlU2VydmljZVJlcXVlc3QsXG4gICAgQ3JlYXRlU2VydmljZVJlc3BvbnNlLFxuICAgIERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgRGVsZXRlR3JvdXBSZXF1ZXN0LFxuICAgIERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBEZWxldGVTZXJ2aWNlUmVxdWVzdCxcbiAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3QsXG4gICAgRG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZSxcbiAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdCxcbiAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2UsXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3QsXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlLFxuICAgIEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVxdWVzdCxcbiAgICBFbnN1cmVTZXNzaW9uRXZlbnRDYWxlbmRhcnNFeGlzdFJlc3BvbnNlLFxuICAgIEV2ZW50VHlwZVN1bW1hcnksXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3RGaWx0ZXJzLFxuICAgIEdldEVudGl0eUFzc29jaWF0aW9uUmVxdWVzdCxcbiAgICBHZXRFbnRpdHlBc3NvY2lhdGlvblJlc3BvbnNlLFxuICAgIEdldEhvc3RNZWV0aW5nUmVxdWVzdCxcbiAgICBHZXRIb3N0TWVldGluZ1Jlc3BvbnNlLFxuICAgIEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3QsXG4gICAgR2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2UsXG4gICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3QsXG4gICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlLFxuICAgIEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3QsXG4gICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2UsXG4gICAgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdCxcbiAgICBIb3N0Qm9va01lZXRpbmdSZXNwb25zZSxcbiAgICBIb3N0Qm9va1Nlc3Npb25SZXF1ZXN0LFxuICAgIEhvc3RCb29rU2Vzc2lvblJlc3BvbnNlLFxuICAgIEhvc3REZWxldGVBdHRlbmRlZXNSZXF1ZXN0LFxuICAgIEhvc3REZXRhaWxzLFxuICAgIEhvc3RHZXRDYWxlbmRhclJlcXVlc3QsXG4gICAgSG9zdEdldENhbGVuZGFyUmVzcG9uc2UsXG4gICAgSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXNwb25zZSxcbiAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3QsXG4gICAgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZSxcbiAgICBHZXRIb3N0c0ZvckNhbGVuZGFyUmVzcG9uc2VIb3N0VXNlckF2YWlsYWJpbGl0eVJ1bGVFbnRyeSxcbiAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3QsXG4gICAgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICBJc0hvc3RDb25maWd1cmVkUmVxdWVzdCxcbiAgICBJc0hvc3RDb25maWd1cmVkUmVzcG9uc2UsXG4gICAgTGlzdEF0dGVuZGVlc1JlcXVlc3QsXG4gICAgTGlzdEF0dGVuZGVlc1Jlc3BvbnNlLFxuICAgIExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIExpc3RBdmFpbGFiaWxpdHlSZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXNwb25zZSxcbiAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0LFxuICAgIExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlLFxuICAgIExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXF1ZXN0LFxuICAgIExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXNwb25zZSxcbiAgICBMaXN0R3JvdXBzUmVxdWVzdCxcbiAgICBMaXN0R3JvdXBzUmVzcG9uc2UsXG4gICAgTGlzdFNlcnZpY2VzUmVxdWVzdCxcbiAgICBMaXN0U2VydmljZXNSZXNwb25zZSxcbiAgICBNZWV0aW5nLFxuICAgIE1lZXRpbmdUeXBlTGlzdCxcbiAgICBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0TWV0YWRhdGFFbnRyeSxcbiAgICBNZWV0aW5nTWV0YWRhdGFFbnRyeSxcbiAgICBSZWN1cnJlbmNlQ29uZmlnLFxuICAgIFJlY3VycmVuY2VFbmQsXG4gICAgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0LFxuICAgIFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdCxcbiAgICBTZXNzaW9uQXR0ZW5kZWVzLFxuICAgIFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIFRpbWVTbG90c0J5V2Vla0RheSxcbiAgICBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIFVwZGF0ZUNhbGVuZGFyUmVxdWVzdCxcbiAgICBVcGRhdGVHcm91cFJlcXVlc3QsXG4gICAgVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdCxcbiAgICBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0LFxuICAgIFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBVcGRhdGVTZXJ2aWNlUmVxdWVzdCxcbiAgICBXZWVrZGF5QXZhaWxhYmlsaXR5LFxufSBmcm9tICcuL21lZXRpbmctaG9zdCc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxuICAgIE1DUE9wdGlvbnMsXG59IGZyb20gJy4vYW5ub3RhdGlvbnMnO1xuXG5leHBvcnQgeyBUaW1lT2ZEYXksIH0gZnJvbSAnLi90aW1lb2ZkYXknO1xuZXhwb3J0IHsgRGF0ZVRpbWUsIFRpbWVab25lLCB9IGZyb20gJy4vZGF0ZXRpbWUnO1xuIl19
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tZWV0aW5nc19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsaUJBQWlCO0FBQ2pCLG9DQUFvQztBQUNwQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsa0JBQWtCLEdBQ3JCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUNILHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNqQixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGlDQUFpQyxFQUNqQyw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLG9CQUFvQixFQUNwQiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDBCQUEwQixHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsTUFBTSxFQUNOLE9BQU8sRUFDUCwrQkFBK0IsRUFDL0IsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsT0FBTyxFQUNQLGNBQWMsRUFDZCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gs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QUF1QixFQUN2Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsd0RBQXdELEVBQ3hELDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsZ0RBQWdELEVBQ2hELGlEQUFpRCxFQUNqRCx1Q0FBdUMsRUFDdkMsd0NBQXdDLEVBQ3hDLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIseUNBQXlDLEVBQ3pDLDBDQUEwQyxFQUMxQyxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLGVBQWUsRUFDZix5Q0FBeUMsRUFDekMsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2Isd0JBQXdCLEVBQ3hCLDhCQUE4QixFQUM5QixnQkFBZ0IsRUFDaEIsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsbUJBQW1CLEdBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNILE1BQU0sRUFDTixVQUFVLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsR0FBRyxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBNZWV0aW5nU291cmNlSW5mbyxcbiAgICBNZWV0aW5nU291cmNlTGlzdFJlcXVlc3QsXG4gICAgTWVldGluZ1NvdXJjZUxpc3RSZXNwb25zZSxcbiAgICBNZWV0aW5nU291cmNlUXVlcnksXG59IGZyb20gJy4vbWVldGluZy1zb3VyY2UnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZVpvb21NZWV0aW5nUmVxdWVzdCxcbiAgICBDcmVhdGVab29tTWVldGluZ1Jlc3BvbnNlLFxuICAgIFpvb21NZWV0aW5nUmVjdXJyZW5jZSxcbiAgICBab29tTWVldGluZ1NldHRpbmdzLFxuICAgIFpvb21NZWV0aW5nVHJhY2tpbmdGaWVsZCxcbiAgICBab29tT2NjdXJyZW5jZSxcbn0gZnJvbSAnLi96b29tJztcblxuZXhwb3J0IHtcbiAgICBHb29nbGVNZWV0Q29uZmVyZW5jZURhdGEsXG4gICAgR29vZ2xlTWVldENvbmZlcmVuY2VSZXF1ZXN0U3RhdHVzLFxuICAgIEdvb2dsZU1lZXRDb25mZXJlbmNlU29sdXRpb24sXG4gICAgR29vZ2xlTWVldENvbmZlcmVuY2VTb2x1dGlvbktleSxcbiAgICBHb29nbGVNZWV0Q3JlYXRlQ29uZmVyZW5jZVJlcXVlc3QsXG4gICAgR29vZ2xlTWVldENyZWF0ZU1lZXRpbmdSZXF1ZXN0LFxuICAgIEdvb2dsZU1lZXRDcmVhdGVNZWV0aW5nUmVzcG9uc2UsXG4gICAgR29vZ2xlTWVldEVudHJ5UG9pbnQsXG4gICAgR29vZ2xlTWVldExpc3RNZWV0aW5nc1JlcXVlc3QsXG4gICAgR29vZ2xlTWVldExpc3RNZWV0aW5nc1Jlc3BvbnNlLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nQXR0ZW5kZWUsXG4gICAgR29vZ2xlTWVldE1lZXRpbmdDcmVhdG9yLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nRGF0ZVRpbWUsXG4gICAgR29vZ2xlTWVldE1lZXRpbmdPcmdhbml6ZXIsXG4gICAgR29vZ2xlTWVldE1lZXRpbmdSZW1pbmRlcixcbiAgICBHb29nbGVNZWV0TWVldGluZ1JlbWluZGVycyxcbn0gZnJvbSAnLi9nb29nbGUtbWVldCc7XG5cbmV4cG9ydCB7XG4gICAgQW5zd2VyLFxuICAgIEFuc3dlcnMsXG4gICAgQ2FsZW5kYXJBcHBsaWNhdGlvbkNvbnRleHRFbnRyeSxcbiAgICBBdHRhY2htZW50LFxuICAgIEF0dGVuZGVlLFxuICAgIENhbGVuZGFyLFxuICAgIENvbnRhY3QsXG4gICAgRW1haWxzVG9EZWxldGUsXG4gICAgSG9zdCxcbiAgICBIb3N0T3JkZXJEZXRhaWxzLFxuICAgIEhvc3RVc2VyLFxuICAgIElzb0RhdGVUaW1lUmFuZ2UsXG4gICAgUGFnZWRSZXF1ZXN0T3B0aW9ucyxcbiAgICBQYWdlZFJlc3BvbnNlTWV0YWRhdGEsXG4gICAgUGhvbmVGaWVsZHMsXG4gICAgUHJlZmVyZW5jZXMsXG4gICAgVGltZVJhbmdlLFxufSBmcm9tICcuL3NoYXJlZCc7XG5cbmV4cG9ydCB7XG4gICAgRGF0ZVJhbmdlLFxufSBmcm9tICcuL2RhdGUtcmFuZ2UnO1xuXG5leHBvcnQge1xuICAgIEV2ZW50VHlwZURhdGVSYW5nZSxcbiAgICBGaWVsZCxcbiAgICBGb3JtLFxuICAgIE1lZXRpbmdUeXBlLFxuICAgIFJlZ2lzdHJhdGlvbkN1dE9mZixcbiAgICBSZWxhdGl2ZURhdGVSYW5nZSxcbn0gZnJvbSAnLi9tZWV0aW5nLXR5cGUnO1xuXG5leHBvcnQge1xuICAgIEV2ZW50R3JvdXBBbmRTZXJ2aWNlQXNzb2NpYXRpb25zLFxuICAgIEdyb3VwLFxuICAgIFNlcnZpY2UsXG59IGZyb20gJy4vZ3JvdXBzLWFuZC1zZXJ2aWNlcyc7XG5cbmV4cG9ydCB7XG4gICAgQm9va01lZXRpbmdSZXF1ZXN0LFxuICAgIEJvb2tNZWV0aW5nUmVzcG9uc2UsXG4gICAgQ2hlY2tGZWF0dXJlRmxhZ1JlcXVlc3QsXG4gICAgQ2hlY2tGZWF0dXJlRmxhZ1Jlc3BvbnNlLFxuICAgIEdldENhbGVuZGFyUmVxdWVzdCxcbiAgICBHZXRDYWxlbmRhclJlc3BvbnNlLFxuICAgIEdldEdyb3VwUmVxdWVzdCxcbiAgICBHZXRHcm91cFJlc3BvbnNlLFxuICAgIEdldEhvc3RSZXF1ZXN0LFxuICAgIEdldEhvc3RSZXNwb25zZSxcbiAgICBHZXRNZWV0aW5nQ2FsZW5kYXJJbmZvUmVxdWVzdCxcbiAgICBHZXRNZWV0aW5nQ2FsZW5kYXJJbmZvUmVzcG9uc2UsXG4gICAgR2V0TWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIEdldE1lZXRpbmdUeXBlUmVzcG9uc2UsXG4gICAgR2V0U2VydmljZVJlcXVlc3QsXG4gICAgR2V0U2VydmljZVJlc3BvbnNlLFxuICAgIEdldFNlc3Npb25JbnZpdGVlTWVldGluZ0luZm9SZXF1ZXN0LFxuICAgIEdldFNlc3Npb25JbnZpdGVlTWVldGluZ0luZm9SZXNwb25zZSxcbiAgICBHZXRTZXNzaW9uTWVldGluZ1JlcXVlc3QsXG4gICAgR2V0U2Vzc2lvbk1lZXRpbmdSZXNwb25zZSxcbiAgICBHdWVzdENhbmNlbE1lZXRpbmdSZXF1ZXN0LFxuICAgIEd1ZXN0R2V0Qm9va2VkTWVldGluZ1JlcXVlc3QsXG4gICAgR3Vlc3RHZXRCb29rZWRNZWV0aW5nUmVxdWVzdFYyLFxuICAgIEd1ZXN0R2V0Qm9va2VkTWVldGluZ1Jlc3BvbnNlLFxuICAgIEd1ZXN0R2V0Qm9va2VkTWVldGluZ1Jlc3BvbnNlVjIsXG4gICAgR3Vlc3RJc0hvc3RDb25maWd1cmVkUmVxdWVzdCxcbiAgICBHdWVzdElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICBHdWVzdFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdCxcbiAgICBJbnZpdGVlRGVyZWdpc3RlclNlc3Npb25NZWV0aW5nUmVxdWVzdCxcbiAgICBJbnZpdGVlUmVnaXN0ZXJTZXNzaW9uTWVldGluZ1JlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZVRpbWVTbG90c1JlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZVRpbWVTbG90c1Jlc3BvbnNlLFxuICAgIExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0LFxuICAgIExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZSxcbiAgICBCb29rTWVldGluZ1JlcXVlc3RNZXRhZGF0YUVudHJ5LFxuICAgIFJlZ2lzdGVyU2Vzc2lvblJlcXVlc3QsXG59IGZyb20gJy4vbWVldGluZy1ndWVzdCc7XG5cbmV4cG9ydCB7XG4gICAgQXZhaWxhYmxlVGltZVNsb3RzUmVxdWVzdCxcbiAgICBBdmFpbGFibGVUaW1lU2xvdHNSZXNwb25zZSxcbiAgICBCb29rTWVldGluZ0V4dGVybmFsUmVxdWVzdCxcbiAgICBCb29rTWVldGluZ0V4dGVybmFsUmVzcG9uc2UsXG4gICAgRXZlbnRUeXBlLFxuICAgIEV4dGVybmFsQ2FuY2VsTWVldGluZ1JlcXVlc3QsXG4gICAgRXh0ZXJuYWxSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3QsXG4gICAgRXh0ZXJuYWxSZXNjaGVkdWxlTWVldGluZ1Jlc3BvbnNlLFxuICAgIEdldFVzZXJzUmVxdWVzdCxcbiAgICBHZXRVc2Vyc1Jlc3BvbnNlLFxuICAgIEdyb3VwUmVzcG9uc2UsXG4gICAgR3JvdXBzUmVxdWVzdCxcbiAgICBHcm91cHNSZXNwb25zZSxcbiAgICBIb3N0VXNlckRldGFpbHMsXG4gICAgTGlzdFRlYW1FdmVudFR5cGVzUmVxdWVzdCxcbiAgICBMaXN0VGVhbUV2ZW50VHlwZXNSZXNwb25zZSxcbiAgICBMaXN0VXNlckV2ZW50VHlwZXNSZXF1ZXN0LFxuICAgIExpc3RVc2VyRXZlbnRUeXBlc1Jlc3BvbnNlLFxuICAgIFNlcnZpY2VSZXNwb25zZSxcbiAgICBTZXJ2aWNlc1JlcXVlc3QsXG4gICAgU2VydmljZXNSZXNwb25zZSxcbiAgICBVc2VyUmVzcG9uc2UsXG59IGZyb20gJy4vbWVldGluZy1leHRlcm5hbCc7XG5cbmV4cG9ydCB7XG4gICAgRmllbGRNYXNrLFxufSBmcm9tICcuL2ZpZWxkLW1hc2snO1xuXG5leHBvcnQge1xuICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdEFwcGxpY2F0aW9uQ29udGV4dFByb3BlcnRpZXNFbnRyeSxcbiAgICBCdWlsZEhvc3RJZFJlcXVlc3RBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzRW50cnksXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3RBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzRW50cnksXG4gICAgQXZhaWxhYmlsaXR5UnVsZSxcbiAgICBBdmFpbGFiaWxpdHlSdWxlTGlzdCxcbiAgICBCdWlsZEhvc3RJZFJlcXVlc3QsXG4gICAgQnVpbGRIb3N0SWRSZXNwb25zZSxcbiAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZUNhbGVuZGFyTWVldGluZ1R5cGVzTWFwRW50cnksXG4gICAgQ2FsZW5kYXJNaWdyYXRpb25SZXNwb25zZSxcbiAgICBDYW5jZWxNZWV0aW5nUmVxdWVzdCxcbiAgICBDaGVja0V2ZW50VHlwZVNsdWdFeGlzdFJlcXVlc3QsXG4gICAgQ2hlY2tFdmVudFR5cGVTbHVnRXhpc3RSZXNwb25zZSxcbiAgICBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdCxcbiAgICBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVzcG9uc2UsXG4gICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICBDcmVhdGVBdmFpbGFiaWxpdHlSZXNwb25zZSxcbiAgICBDcmVhdGVDYWxlbmRhclJlcXVlc3QsXG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXNwb25zZSxcbiAgICBDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdCxcbiAgICBDcmVhdGVHcm91cFJlcXVlc3QsXG4gICAgQ3JlYXRlR3JvdXBSZXNwb25zZSxcbiAgICBDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3QsXG4gICAgQ3JlYXRlTWVldGluZ1R5cGVSZXNwb25zZSxcbiAgICBDcmVhdGVTZXJ2aWNlUmVxdWVzdCxcbiAgICBDcmVhdGVTZXJ2aWNlUmVzcG9uc2UsXG4gICAgRGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICBEZWxldGVHcm91cFJlcXVlc3QsXG4gICAgRGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIERlbGV0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgIERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdCxcbiAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlc3BvbnNlLFxuICAgIEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0LFxuICAgIEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXNwb25zZSxcbiAgICBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdCxcbiAgICBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVzcG9uc2UsXG4gICAgRW5zdXJlU2Vzc2lvbkV2ZW50Q2FsZW5kYXJzRXhpc3RSZXF1ZXN0LFxuICAgIEVuc3VyZVNlc3Npb25FdmVudENhbGVuZGFyc0V4aXN0UmVzcG9uc2UsXG4gICAgRXZlbnRUeXBlU3VtbWFyeSxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdEZpbHRlcnMsXG4gICAgR2V0RW50aXR5QXNzb2NpYXRpb25SZXF1ZXN0LFxuICAgIEdldEVudGl0eUFzc29jaWF0aW9uUmVzcG9uc2UsXG4gICAgR2V0RXZlbnRUeXBlQnlJZFJlcXVlc3QsXG4gICAgR2V0RXZlbnRUeXBlQnlJZFJlc3BvbnNlLFxuICAgIEdldEhvc3RNZWV0aW5nUmVxdWVzdCxcbiAgICBHZXRIb3N0TWVldGluZ1Jlc3BvbnNlLFxuICAgIEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3QsXG4gICAgR2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2UsXG4gICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3QsXG4gICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlLFxuICAgIEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3QsXG4gICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2UsXG4gICAgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdCxcbiAgICBIb3N0Qm9va01lZXRpbmdSZXNwb25zZSxcbiAgICBIb3N0Qm9va1Nlc3Npb25SZXF1ZXN0LFxuICAgIEhvc3RCb29rU2Vzc2lvblJlc3BvbnNlLFxuICAgIEhvc3REZWxldGVBdHRlbmRlZXNSZXF1ZXN0LFxuICAgIEhvc3REZXRhaWxzLFxuICAgIEhvc3RHZXRDYWxlbmRhclJlcXVlc3QsXG4gICAgSG9zdEdldENhbGVuZGFyUmVzcG9uc2UsXG4gICAgSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXNwb25zZSxcbiAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3QsXG4gICAgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZSxcbiAgICBHZXRIb3N0c0ZvckNhbGVuZGFyUmVzcG9uc2VIb3N0VXNlckF2YWlsYWJpbGl0eVJ1bGVFbnRyeSxcbiAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3QsXG4gICAgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICBJc0hvc3RDb25maWd1cmVkUmVxdWVzdCxcbiAgICBJc0hvc3RDb25maWd1cmVkUmVzcG9uc2UsXG4gICAgTGlzdEF0dGVuZGVlc1JlcXVlc3QsXG4gICAgTGlzdEF0dGVuZGVlc1Jlc3BvbnNlLFxuICAgIExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIExpc3RBdmFpbGFiaWxpdHlSZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yUmVjdXJyaW5nU2Vzc2lvblJlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclJlY3VycmluZ1Nlc3Npb25SZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmxlVGltZXNsb3RzRm9yU2Vzc2lvblJlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZVRpbWVzbG90c0ZvclNlc3Npb25SZXNwb25zZSxcbiAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0LFxuICAgIExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlLFxuICAgIExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXF1ZXN0LFxuICAgIExpc3RFdmVudFR5cGVzRm9yTXVsdGlwbGVDYWxlbmRhcnNSZXNwb25zZSxcbiAgICBMaXN0R3JvdXBzUmVxdWVzdCxcbiAgICBMaXN0R3JvdXBzUmVzcG9uc2UsXG4gICAgTGlzdFNlcnZpY2VzUmVxdWVzdCxcbiAgICBMaXN0U2VydmljZXNSZXNwb25zZSxcbiAgICBNZWV0aW5nLFxuICAgIE1lZXRpbmdUeXBlTGlzdCxcbiAgICBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0TWV0YWRhdGFFbnRyeSxcbiAgICBNZWV0aW5nTWV0YWRhdGFFbnRyeSxcbiAgICBSZWN1cnJlbmNlQ29uZmlnLFxuICAgIFJlY3VycmVuY2VFbmQsXG4gICAgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0LFxuICAgIFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdCxcbiAgICBTZXNzaW9uQXR0ZW5kZWVzLFxuICAgIFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIFRpbWVTbG90c0J5V2Vla0RheSxcbiAgICBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIFVwZGF0ZUNhbGVuZGFyUmVxdWVzdCxcbiAgICBVcGRhdGVHcm91cFJlcXVlc3QsXG4gICAgVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdCxcbiAgICBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0LFxuICAgIFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBVcGRhdGVTZXJ2aWNlUmVxdWVzdCxcbiAgICBXZWVrZGF5QXZhaWxhYmlsaXR5LFxufSBmcm9tICcuL21lZXRpbmctaG9zdCc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxuICAgIE1DUE9wdGlvbnMsXG59IGZyb20gJy4vYW5ub3RhdGlvbnMnO1xuXG5leHBvcnQgeyBUaW1lT2ZEYXksIH0gZnJvbSAnLi90aW1lb2ZkYXknO1xuZXhwb3J0IHsgRGF0ZVRpbWUsIFRpbWVab25lLCB9IGZyb20gJy4vZGF0ZXRpbWUnO1xuIl19
|