jconsumer-shared 1.1.8 → 1.2.0
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/README.md +24 -24
- package/esm2022/lib/account-service.mjs +1 -1
- package/esm2022/lib/auth-service.mjs +1 -1
- package/esm2022/lib/booking-service.mjs +1 -1
- package/esm2022/lib/calendar/date-time/datetime-processor.service.mjs +1 -1
- package/esm2022/lib/common.service.mjs +1 -1
- package/esm2022/lib/confirm/confirm-box.component.mjs +3 -3
- package/esm2022/lib/confirm/confirm-box.module.mjs +1 -1
- package/esm2022/lib/consumer-service.mjs +9 -1
- package/esm2022/lib/currency-service.mjs +1 -1
- package/esm2022/lib/environment.service.mjs +1 -1
- package/esm2022/lib/error-message.module.mjs +1 -1
- package/esm2022/lib/error-message.service.mjs +1 -1
- package/esm2022/lib/file-service.mjs +1 -1
- package/esm2022/lib/form-message/field-error-display/field-error-display.component.mjs +3 -3
- package/esm2022/lib/form-message/form-message-display.module.mjs +1 -1
- package/esm2022/lib/form-message/form-message-display.service.mjs +1 -1
- package/esm2022/lib/form-message/form-success-display/form-success-display.component.mjs +3 -3
- package/esm2022/lib/group-storage.service.mjs +1 -1
- package/esm2022/lib/i8n.module.mjs +1 -1
- package/esm2022/lib/injector-resolver.mjs +1 -1
- package/esm2022/lib/j-gallery/j-gallery.component.mjs +3 -3
- package/esm2022/lib/j-gallery/j-gallery.module.mjs +1 -1
- package/esm2022/lib/j-gallery/j-gallery.service.mjs +1 -1
- package/esm2022/lib/local-storage.service.mjs +1 -1
- package/esm2022/lib/media-service.mjs +1 -1
- package/esm2022/lib/order.service.mjs +11 -3
- package/esm2022/lib/payment/modes/payment-modes.component.mjs +3 -3
- package/esm2022/lib/payment/modes/payment-modes.module.mjs +1 -1
- package/esm2022/lib/payment/payment.module.mjs +1 -1
- package/esm2022/lib/paytm.service.mjs +1 -1
- package/esm2022/lib/phone-input/phone-input.component.mjs +3 -3
- package/esm2022/lib/phone-input/phone-input.module.mjs +1 -1
- package/esm2022/lib/pipes/autolink/autolink.module.mjs +1 -1
- package/esm2022/lib/pipes/autolink/autolink.pipe.mjs +1 -1
- package/esm2022/lib/pipes/capitalize/capitalize.module.mjs +1 -1
- package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +1 -1
- package/esm2022/lib/pipes/date-format/date-format.module.mjs +1 -1
- package/esm2022/lib/pipes/date-format/date-format.pipe.mjs +1 -1
- package/esm2022/lib/pipes/filter/filter.module.mjs +1 -1
- package/esm2022/lib/pipes/filter/filter.pipe.mjs +1 -1
- package/esm2022/lib/pipes/limit-to/limitTo.module.mjs +1 -1
- package/esm2022/lib/pipes/limit-to/limitTo.pipe.mjs +1 -1
- package/esm2022/lib/pipes/safe-html/safehtml.module.mjs +1 -1
- package/esm2022/lib/pipes/safe-html/safehtml.pipe.mjs +1 -1
- package/esm2022/lib/pipes/short-filename/short-file-name.module.mjs +1 -1
- package/esm2022/lib/pipes/short-filename/short-file-name.pipe.mjs +1 -1
- package/esm2022/lib/project-constants.mjs +1 -1
- package/esm2022/lib/project-messages.mjs +1 -1
- package/esm2022/lib/questionaire/edit/questionnaire.component.mjs +3 -3
- package/esm2022/lib/questionaire/edit/questionnaire.module.mjs +1 -1
- package/esm2022/lib/questionaire/questionaire-service.mjs +1 -1
- package/esm2022/lib/razorpay.service.mjs +1 -1
- package/esm2022/lib/request-dialog/request-dialog.component.mjs +3 -3
- package/esm2022/lib/request-dialog/request-dialog.module.mjs +1 -1
- package/esm2022/lib/service-meta.mjs +1 -1
- package/esm2022/lib/session-storage.service.mjs +1 -1
- package/esm2022/lib/shared-account.guard.mjs +1 -1
- package/esm2022/lib/shared-account.resolver.mjs +1 -1
- package/esm2022/lib/shared.service.mjs +1 -1
- package/esm2022/lib/showuploadfile/showuploadfile.component.mjs +3 -3
- package/esm2022/lib/showuploadfile/showuploadfile.module.mjs +1 -1
- package/esm2022/lib/skeleton/skeleton-loading.component.mjs +3 -3
- package/esm2022/lib/skeleton/skeleton-loading.module.mjs +1 -1
- package/esm2022/lib/spinner/loading-spinner.component.mjs +1 -1
- package/esm2022/lib/spinner/loading-spinner.module.mjs +1 -1
- package/esm2022/lib/storage.service.mjs +1 -1
- package/esm2022/lib/subscription.service.mjs +1 -1
- package/esm2022/lib/theme.service.mjs +1 -1
- package/esm2022/lib/timezone-converter.mjs +1 -1
- package/esm2022/lib/toast.service.mjs +1 -1
- package/esm2022/lib/twilio-service.mjs +1 -1
- package/esm2022/lib/utility/remote-loader.mjs +1 -1
- package/esm2022/lib/word-processor.service.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/jconsumer-shared.mjs +38 -22
- package/fesm2022/jconsumer-shared.mjs.map +1 -1
- package/jconsumer-shared-1.2.0.tgz +0 -0
- package/lib/consumer-service.d.ts +2 -0
- package/lib/order.service.d.ts +3 -1
- package/package.json +1 -1
- package/jconsumer-shared-1.1.8.tgz +0 -0
|
@@ -777,6 +777,14 @@ export class ConsumerService {
|
|
|
777
777
|
const url = 'consumer/communications/readMessages/' + providerId + '/' + messageIds + '?account=' + accountId;
|
|
778
778
|
return this.servicemeta.httpPut(url);
|
|
779
779
|
}
|
|
780
|
+
linkIpPayment_invoic(data) {
|
|
781
|
+
const url = 'consumer/ip/pay';
|
|
782
|
+
return this.servicemeta.httpPost(url, data);
|
|
783
|
+
}
|
|
784
|
+
getIpInvoiceDetailsById(accId, uuid) {
|
|
785
|
+
const url = 'consumer/ip/invoice/' + accId + '/' + uuid;
|
|
786
|
+
return this.servicemeta.httpGet(url);
|
|
787
|
+
}
|
|
780
788
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConsumerService, deps: [{ token: i1.ServiceMeta }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
781
789
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConsumerService, providedIn: 'root' });
|
|
782
790
|
}
|
|
@@ -786,4 +794,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
786
794
|
providedIn: 'root'
|
|
787
795
|
}]
|
|
788
796
|
}], ctorParameters: () => [{ type: i1.ServiceMeta }] });
|
|
789
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtZXItc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9jb25zdW1lci1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sZUFBZTtJQUdaO0lBRlosU0FBUyxDQUFNO0lBQ2YsWUFDWSxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUNoQyxDQUFDO0lBQ0wsZUFBZSxDQUFDLElBQUk7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELG1CQUFtQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELGdCQUFnQixDQUFDLFNBQWM7UUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELDJCQUEyQixDQUFDLFNBQVM7UUFDakMsTUFBTSxHQUFHLEdBQUcscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELG1CQUFtQixDQUFDLEdBQUcsRUFBRSxLQUFNO1FBQzNCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7aUJBQ3pCLElBQUksQ0FDRCxJQUFJLENBQUMsRUFBRTtnQkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFO2dCQUNKLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQ0osQ0FBQztRQUNWLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQUU7UUFDaEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDO2lCQUMvQixTQUFTLENBQ04sSUFBSSxDQUFDLEVBQUU7Z0JBQ0gsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFCLENBQUMsRUFDRCxLQUFLLENBQUMsRUFBRTtnQkFDSixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUNKLENBQUM7UUFDVixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxTQUFTO1FBQzVCLE1BQU0sR0FBRyxHQUFHLHFCQUFxQixHQUFHLFNBQVMsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsTUFBTztRQUMvQixNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsY0FBYyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsT0FBTztRQUNyQyxNQUFNLEdBQUcsR0FBRyxtQ0FBbUMsR0FBRyxXQUFXLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUM5RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsSUFBSTtRQUMvQixJQUFJLElBQUksQ0FBQztRQUNULElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLElBQUksR0FBRywwQkFBMEIsQ0FBQztRQUN0QyxDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssYUFBYSxFQUFFLENBQUM7WUFDaEMsSUFBSSxHQUFHLDZCQUE2QixDQUFDO1FBQ3pDLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLEdBQUcsd0JBQXdCLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QseUJBQXlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJO1FBQ3hDLElBQUksSUFBSSxDQUFDO1FBQ1QsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckIsSUFBSSxHQUFHLDBCQUEwQixDQUFDO1FBQ3RDLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUNoQyxJQUFJLEdBQUcsNkJBQTZCLENBQUM7UUFDekMsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzFCLElBQUksR0FBRyx3QkFBd0IsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsdUJBQXVCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJO1FBQ3RDLElBQUksSUFBSSxDQUFDO1FBQ1QsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckIsSUFBSSxHQUFHLDBCQUEwQixDQUFDO1FBQ3RDLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUNoQyxJQUFJLEdBQUcsNkJBQTZCLENBQUM7UUFDekMsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzFCLElBQUksR0FBRyx3QkFBd0IsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsZUFBZTtJQUNmLFdBQVcsQ0FBQyxNQUFNO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELGlCQUFpQixDQUFDLE1BQU87UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELDZCQUE2QixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSTtRQUMvQyxNQUFNLEdBQUcsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsYUFBYSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFBQSxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUk7UUFDdkMsTUFBTSxHQUFHLEdBQUcsc0NBQXNDLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFBQSxDQUFDO1FBQ3JGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxvQ0FBb0MsQ0FBQyxJQUFJLEVBQUUsU0FBUztRQUNoRCxNQUFNLEdBQUcsR0FBRywrQkFBK0IsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxnQkFBZ0I7UUFDWixNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsb0JBQW9CLENBQUMsTUFBTztRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLDZCQUE2QixFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQU07UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsTUFBTztRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBQ0QsZ0NBQWdDLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJO1FBQ2xELE1BQU0sR0FBRyxHQUFHLHVCQUF1QixHQUFHLElBQUksR0FBRyxhQUFhLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUFBLENBQUM7UUFDdEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELHdCQUF3QixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSTtRQUMxQyxNQUFNLEdBQUcsR0FBRyx5Q0FBeUMsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUFBLENBQUM7UUFDeEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELHVDQUF1QyxDQUFDLElBQUksRUFBRSxTQUFTO1FBQ25ELE1BQU0sR0FBRyxHQUFHLGtDQUFrQyxHQUFHLElBQUksR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ2hGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELFlBQVk7SUFDWixvQkFBb0I7UUFDaEIsTUFBTSxHQUFHLEdBQUcsd0JBQXdCLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsTUFBTTtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsZUFBZTtJQUNmLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxJQUFJO1FBQzlCLE1BQU0sR0FBRyxHQUFHLG1CQUFtQixDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsaUNBQWlDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTO1FBQ25ELE1BQU0sR0FBRyxHQUFHLG9CQUFvQixHQUFHLElBQUksR0FBRyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM5RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVM7UUFDL0MsTUFBTSxHQUFHLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxHQUFHLGtCQUFrQixHQUFHLElBQUksR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ2pHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELFVBQVUsQ0FBQyxVQUFVO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUNuQyxJQUFJLENBQUMsRUFBRTtnQkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFO2dCQUNKLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELGVBQWU7UUFDWCxNQUFNLEdBQUcsR0FBRyw0QkFBNEIsQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxNQUFNO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLDZCQUE2QixHQUFHLE1BQU0sQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxZQUFZLENBQUMsRUFBRTtRQUNYLElBQUksSUFBSSxHQUFHLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsTUFBTTtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsVUFBVSxDQUFDLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxVQUFVLENBQUMsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELG1CQUFtQixDQUFDLE1BQU87UUFDdkIsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsU0FBUztRQUNsQyxNQUFNLEdBQUcsR0FBRyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUNoRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsU0FBUztRQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQixNQUFNLEdBQUcsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsU0FBUztRQUN4QyxNQUFNLEdBQUcsR0FBRyx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxHQUFHO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxVQUFVLENBQUMsa0JBQWtCO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLHlCQUF5QixHQUFHLGtCQUFrQixDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUTtRQUMzQixNQUFNLElBQUksR0FBRyx5QkFBeUIsR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsRUFBRTtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRSwrREFBK0Q7SUFDbkUsQ0FBQztJQUNELHVCQUF1QixDQUFDLE1BQU0sR0FBRyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDRCxlQUFlLENBQUMsTUFBTSxFQUFFLElBQUk7UUFDeEIsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUk7UUFDekIsTUFBTSxHQUFHLEdBQUcsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QscUJBQXFCLENBQUMsTUFBTztRQUN6QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBQ0QsMEJBQTBCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsZUFBZSxDQUFDLE1BQU87UUFDbkIsTUFBTSxHQUFHLEdBQUcseUJBQXlCLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQVE7UUFDakQsTUFBTSxHQUFHLEdBQUcsaUNBQWlDLEdBQUcsTUFBTSxHQUFHLEdBQUcsR0FBRyxTQUFTLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxlQUFlLENBQUMsSUFBSTtRQUNoQixNQUFNLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsdUJBQXVCLENBQUMsSUFBSTtRQUN4QixNQUFNLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUztRQUN6QyxNQUFNLEdBQUcsR0FBRywwQkFBMEIsR0FBRyxXQUFXLEdBQUcsR0FBRyxHQUFHLFNBQVMsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ2pHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELHlCQUF5QixDQUFDLFdBQVc7UUFDakMsTUFBTSxHQUFHLEdBQUcsa0NBQWtDLEdBQUcsV0FBVyxDQUFDO1FBQzdELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELGdCQUFnQixDQUFDLElBQUksRUFBRSxTQUFTO1FBQzVCLE1BQU0sSUFBSSxHQUFHLDJCQUEyQixHQUFHLElBQUksR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzFFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELDZCQUE2QixDQUFDLEdBQUcsRUFBRSxTQUFTO1FBQ3hDLE1BQU0sR0FBRyxHQUFHLGtDQUFrQyxHQUFHLEdBQUcsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELGNBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUztRQUMxQixNQUFNLElBQUksR0FBRyw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM1RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsU0FBUztRQUNwQyxNQUFNLEdBQUcsR0FBRyxxQ0FBcUMsR0FBRyxHQUFHLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUNsRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTTtRQUM3QixNQUFNLElBQUksR0FBRyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCx1QkFBdUI7UUFDbkIsTUFBTSxHQUFHLEdBQUcscUNBQXFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsNEJBQTRCLENBQUMsS0FBTSxFQUFFLE9BQVEsRUFBRSxhQUFjO1FBQ3pELE1BQU0sR0FBRyxHQUFHLHNDQUFzQyxHQUFHLFlBQVksR0FBRyxLQUFLLEdBQUcsY0FBYyxHQUFHLE9BQU8sR0FBRyxvQkFBb0IsR0FBRyxhQUFhLENBQUM7UUFDNUksT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsTUFBTTtRQUMxQixNQUFNLElBQUksR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsSUFBSTtRQUNoQyxNQUFNLEdBQUcsR0FBRyw0Q0FBNEMsR0FBRyxTQUFTLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELG1CQUFtQixDQUFDLFFBQVEsRUFBRSxTQUFTO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLEdBQUcsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxJQUFJO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLG9DQUFvQyxHQUFHLElBQUksQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUk7UUFDekMsTUFBTSxHQUFHLEdBQUcsa0NBQWtDLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDaEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELHdCQUF3QixDQUFDLFNBQVMsRUFBRSxVQUFVO1FBQzFDLE1BQU0sR0FBRyxHQUFHLGtDQUFrQyxHQUFHLFNBQVMsR0FBRyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQ3RGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELDJCQUEyQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVTtRQUM5QyxNQUFNLEdBQUcsR0FBRyx5Q0FBeUMsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QscUNBQXFDLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJO1FBQ3BELE1BQU0sR0FBRyxHQUFHLGdEQUFnRCxHQUFHLEdBQUcsR0FBRyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsU0FBUztRQUN6QyxNQUFNLEdBQUcsR0FBRyxpQ0FBaUMsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxvQ0FBb0MsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQjtRQUNwRSxNQUFNLEdBQUcsR0FBRyx1REFBdUQsR0FBRyxrQkFBa0IsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ25ILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCw4QkFBOEIsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTO1FBQ3hELE1BQU0sR0FBRyxHQUFHLDRCQUE0QixHQUFHLGtCQUFrQixHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QseUJBQXlCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTO1FBQzdDLE1BQU0sR0FBRyxHQUFHLHlCQUF5QixHQUFHLE1BQU0sR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCwrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU87UUFDL0MsTUFBTSxHQUFHLEdBQUcscUNBQXFDLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDakYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELHlCQUF5QixDQUFDLFNBQVMsRUFBRSxRQUFRO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsMENBQTBDLEdBQUcsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsUUFBUTtRQUN0QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLG1DQUFtQyxHQUFHLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQ0QsMEJBQTBCLENBQUMsTUFBTSxFQUFFLElBQUs7UUFDcEMsTUFBTSxHQUFHLEdBQUcsd0NBQXdDLEdBQUcsTUFBTSxDQUFDO1FBQzlELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUM3QixNQUFNLEdBQUcsR0FBRyxxQ0FBcUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVM7UUFDckQsTUFBTSxHQUFHLEdBQUcsaUNBQWlDLEdBQUcsU0FBUyxHQUFHLFlBQVksR0FBRyxVQUFVLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUNoSCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsT0FBTztRQUNqQyxNQUFNLEdBQUcsR0FBRyx3Q0FBd0MsR0FBRyxNQUFNLEdBQUcsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxpQ0FBaUMsQ0FBQyxTQUFTO1FBQ3ZDLE1BQU0sR0FBRyxHQUFHLGdDQUFnQyxHQUFHLFNBQVMsR0FBRyxZQUFZLENBQUM7UUFDeEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsZ0NBQWdDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUztRQUM1RCxNQUFNLEdBQUcsR0FBRyxxQ0FBcUMsR0FBRyxLQUFLLEdBQUcsWUFBWSxHQUFHLEtBQUssR0FBRyxXQUFXLEdBQUcsTUFBTSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDbEksT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsbUNBQW1DLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFVO1FBQ3pELE1BQU0sR0FBRyxHQUFHLDZDQUE2QyxHQUFHLEtBQUssR0FBRyxXQUFXLEdBQUcsTUFBTSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDbkgsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsbUNBQW1DLENBQUMsS0FBSztRQUNyQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxHQUFHLEdBQUcsK0JBQStCLEdBQUcsS0FBSyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsUUFBUTtRQUMxQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLHVDQUF1QyxHQUFHLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBQ0QsNkNBQTZDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTO1FBQ2xFLE1BQU0sR0FBRyxHQUFHLHFDQUFxQyxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDbkcsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0NBQWdDLEdBQUcsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFDRCxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU87UUFDbkQsTUFBTSxHQUFHLEdBQUcsa0NBQWtDLEdBQUcsSUFBSSxHQUFHLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDL0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELG1CQUFtQixDQUFDLE1BQU0sRUFBRSxTQUFTO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLG1CQUFtQixHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELHlCQUF5QixDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLGtDQUFrQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELHlCQUF5QixDQUFDLE1BQU0sRUFBRSxPQUFPO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLHdDQUF3QyxHQUFHLE1BQU0sR0FBRyxhQUFhLEdBQUcsT0FBTyxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELCtCQUErQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBTSxFQUFFLFNBQVU7UUFDN0QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlFLE1BQU0sR0FBRyxHQUFHLDJCQUEyQixHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxLQUFLO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLDZCQUE2QixHQUFHLEtBQUssQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsU0FBUztRQUNyQyxNQUFNLEdBQUcsR0FBRyxnQ0FBZ0MsR0FBRyxHQUFHLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxlQUFlLENBQUMsU0FBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLDhDQUE4QyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxTQUFTO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLDJCQUEyQixHQUFHLFNBQVMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsU0FBVTtRQUMxQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxHQUFHLFNBQVMsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUNELDBCQUEwQixDQUFDLFNBQVMsRUFBRSxTQUFVO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsd0NBQXdDLEdBQUcsU0FBUyxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBQ0QscUJBQXFCLENBQUMsSUFBSTtRQUN0QixNQUFNLEdBQUcsR0FBRywwQkFBMEIsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFFBQVE7UUFDbkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsR0FBRyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUNELG1CQUFtQixDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUztRQUMxQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixHQUFHLElBQUksR0FBRyxpQkFBaUIsR0FBRyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUNELDZCQUE2QixDQUFDLFNBQVMsRUFBRSxTQUFTO1FBQzlDLE1BQU0sR0FBRyxHQUFHLCtCQUErQixHQUFHLFNBQVMsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELGtCQUFrQjtRQUNkLE1BQU0sR0FBRyxHQUFHLDBCQUEwQixDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSTtRQUMxQixNQUFNLEdBQUcsR0FBRyxpQ0FBaUMsR0FBRyxTQUFTLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELGVBQWUsQ0FBQyxRQUFRO1FBQ3BCLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksR0FBRyxzREFBc0QsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsMENBQTBDO0lBQzFDLG9CQUFvQjtJQUNwQixrREFBa0Q7SUFDbEQsNEJBQTRCO0lBQzVCLHFDQUFxQztJQUNyQyxZQUFZO0lBQ1osOEJBQThCO0lBQzlCLFFBQVE7SUFDUix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLFFBQVE7SUFFUiwwRUFBMEU7SUFDMUUsNkNBQTZDO0lBQzdDLElBQUk7SUFDSiwwQkFBMEI7SUFDMUIsK0NBQStDO0lBQy9DLG1EQUFtRDtJQUNuRCxJQUFJO0lBQ0osaUVBQWlFO0lBQ2pFLHdIQUF3SDtJQUN4SCw0Q0FBNEM7SUFDNUMsSUFBSTtJQUNKLGdCQUFnQixDQUFDLFNBQVM7UUFDdEIsTUFBTSxHQUFHLEdBQUcsMEJBQTBCLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsTUFBTTtRQUNyQyxNQUFNLEdBQUcsR0FBRyxpQ0FBaUMsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxZQUFZLENBQUMsV0FBVyxFQUFFLFFBQVE7UUFDOUIsSUFBSSxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDckIsTUFBTSxHQUFHLEdBQUcsc0NBQXNDLEdBQUcsUUFBUSxDQUFDO1lBQzlELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQzthQUNJLENBQUM7WUFDRixNQUFNLEdBQUcsR0FBRyxtQ0FBbUMsR0FBRyxXQUFXLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztZQUMvRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0lBQ0QsMkNBQTJDO0lBQzNDLDhEQUE4RDtJQUM5RCxtREFBbUQ7SUFDbkQsSUFBSTtJQUNKLHFDQUFxQztJQUNyQyx5REFBeUQ7SUFDekQsbURBQW1EO0lBQ25ELElBQUk7SUFDSix3Q0FBd0M7SUFDeEMsMkRBQTJEO0lBQzNELG1EQUFtRDtJQUNuRCxJQUFJO0lBQ0osd0NBQXdDO0lBQ3hDLDJEQUEyRDtJQUMzRCxtREFBbUQ7SUFDbkQsSUFBSTtJQUNKLGFBQWEsQ0FBQyxTQUFTO1FBQ25CLE1BQU0sR0FBRyxHQUFHLHVDQUF1QyxHQUFHLFNBQVMsQ0FBQztRQUNoRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUk7UUFDNUMsTUFBTSxHQUFHLEdBQUcsMkNBQTJDLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSTtRQUN0QyxNQUFNLEdBQUcsR0FBRyw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJO1FBQzFDLE1BQU0sR0FBRyxHQUFHLHNDQUFzQyxHQUFHLElBQUksR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUk7UUFDekMsTUFBTSxHQUFHLEdBQUcsZ0NBQWdDLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDOUUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFTO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxjQUFjLENBQUMsUUFBUSxFQUFFLFNBQVM7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUIsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksU0FBUyxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDMUMsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGFBQWE7UUFDckMsSUFBSSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLENBQUM7UUFDbEcsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0QyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLFNBQVMsS0FBSyxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM5RCxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxTQUFTO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsa0RBQWtELEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUNELHNCQUFzQixDQUFDLFNBQVMsRUFBRSxRQUFRO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsK0NBQStDLEdBQUcsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFDRCxnQkFBZ0I7UUFDWixNQUFNLEdBQUcsR0FBRyx1Q0FBdUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMscUNBQXFDLEdBQUcsTUFBTSxHQUFHLEdBQUcsR0FBRyxPQUFPLEdBQUcsV0FBVyxHQUFHLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6SSxDQUFDO0lBQ0Qsc0JBQXNCLENBQUMsTUFBTSxFQUFFLE9BQU87UUFDbEMsTUFBTSxHQUFHLEdBQUcsbURBQW1ELEdBQUcsTUFBTSxHQUFHLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDakcsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsVUFBVSxFQUFFLElBQUk7UUFDL0IsTUFBTSxJQUFJLEdBQUcsaUNBQWlDLEdBQUcsVUFBVSxDQUFDO1FBQzVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxlQUFlLENBQUMsVUFBa0IsRUFBRSxTQUFjO1FBQzlDLE1BQU0sR0FBRyxHQUFHLGlDQUFpQyxHQUFHLFVBQVUsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsV0FBVztRQUNQLE1BQU0sR0FBRyxHQUFHLHVDQUF1QyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELDJCQUEyQixDQUFDLFNBQVMsRUFBRSxPQUFPO1FBQzFDLE1BQU0sR0FBRyxHQUFHLDBEQUEwRCxHQUFHLFNBQVMsR0FBRyxrQkFBa0IsR0FBRyxPQUFPLENBQUM7UUFDbEgsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsR0FBRyxFQUFFLElBQUk7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLCtCQUErQixHQUFHLE1BQU0sR0FBRyxZQUFZLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsS0FBSztRQUMzQixNQUFNLEdBQUcsR0FBRyw0QkFBNEIsR0FBRyxNQUFNLEdBQUcsWUFBWSxHQUFHLEtBQUssR0FBRyxVQUFVLENBQUM7UUFDdEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsS0FBSztRQUNuQixNQUFNLEdBQUcsR0FBRyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsY0FBYyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxHQUFHLEdBQUcsMkJBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELGVBQWUsQ0FBQyxLQUFLO1FBQ2pCLE1BQU0sR0FBRyxHQUFHLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLHdCQUF3QixHQUFHLEtBQUssQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxHQUFHLEVBQUUsU0FBUztRQUNuQyxNQUFNLEdBQUcsR0FBRyw2QkFBNkIsR0FBRyxHQUFHLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUMxRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsU0FBUztRQUNoQyxNQUFNLEdBQUcsR0FBRyxlQUFlLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsUUFBUTtRQUN2QixNQUFNLEdBQUcsR0FBRyx1QkFBdUIsR0FBRyxRQUFRLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsMEJBQTBCLENBQUMsSUFBSTtRQUMzQixNQUFNLEdBQUcsR0FBRyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsNkJBQTZCLENBQUMsSUFBSTtRQUM5QixNQUFNLEdBQUcsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsSUFBSTtRQUNqQixNQUFNLEdBQUcsR0FBRyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsTUFBTSxFQUFFLFNBQVM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsd0JBQXdCLEdBQUcsTUFBTSxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQUk7UUFDWixNQUFNLEdBQUcsR0FBRyx1Q0FBdUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsSUFBSTtRQUNuQixNQUFNLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsNEJBQTRCLENBQUMsSUFBSTtRQUM3QixNQUFNLEdBQUcsR0FBRyx5QkFBeUIsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsK0JBQStCLENBQUMsSUFBSSxFQUFDLEtBQUs7UUFDdEMsTUFBTSxHQUFHLEdBQUcsMENBQTBDLEdBQUcsSUFBSSxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFBQSxDQUFDO1FBQ3JGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELG9CQUFvQixDQUFDLElBQUk7UUFDckIsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJO1FBQzdCLE1BQU0sR0FBRyxHQUFHLDhCQUE4QixHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELHVCQUF1QixDQUFDLEtBQUssRUFBRSxJQUFJO1FBQy9CLE1BQU0sR0FBRyxHQUFHLHNCQUFzQixHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFJLEVBQUUsU0FBUztRQUMzQixNQUFNLEdBQUcsR0FBRywyQkFBMkIsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLFNBQVM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsNEJBQTRCLEdBQUcsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUN2RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQUk7UUFDWixNQUFNLEdBQUcsR0FBRyx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBSTtRQUNaLE1BQU0sR0FBRyxHQUFHLG9CQUFvQixHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsYUFBYSxDQUFDO1FBQzlELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELHVCQUF1QixDQUFDLElBQUk7UUFDeEIsTUFBTSxHQUFHLEdBQUcsb0NBQW9DLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxVQUFVLENBQUMsU0FBUyxFQUFFLFVBQVU7UUFDNUIsTUFBTSxHQUFHLEdBQUcsNkJBQTZCLEdBQUcsR0FBRyxHQUFHLFNBQVMsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELGNBQWMsQ0FBQyxFQUFFO1FBQ2IsTUFBTSxHQUFHLEdBQUcsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxJQUFJO1FBQzNCLE1BQU0sR0FBRyxHQUFHLHFDQUFxQyxHQUFHLElBQUksQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSTtRQUMxQixNQUFNLEdBQUcsR0FBRyw0Q0FBNEMsR0FBRyxJQUFJLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSTtRQUNqQixNQUFNLEdBQUcsR0FBRyxrQ0FBa0MsR0FBRyxJQUFJLENBQUM7UUFDdEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELFNBQVMsQ0FBQyxJQUFJO1FBQ1YsTUFBTSxHQUFHLEdBQUcsb0NBQW9DLEdBQUcsSUFBSSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUFTO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFJO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLDJCQUEyQixDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVU7UUFDL0MsSUFBSSxJQUFJLEdBQUcscUNBQXFDLEdBQUcsVUFBVSxHQUFHLEdBQUcsR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQztRQUNsRyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxRQUFRLENBQUMsUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELG9CQUFvQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUztRQUNsRCxNQUFNLEdBQUcsR0FBRyx1Q0FBdUMsR0FBRyxVQUFVLEdBQUcsR0FBRyxHQUFHLFVBQVUsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzlHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQzt3R0F4d0JRLGVBQWU7NEdBQWYsZUFBZSxjQUhaLE1BQU07OzRGQUdULGVBQWU7a0JBSjNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlcnZpY2VNZXRhIH0gZnJvbSBcIi4vc2VydmljZS1tZXRhXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBDb25zdW1lclNlcnZpY2Uge1xyXG4gICAgb3JkZXJkYXRhOiBhbnk7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHNlcnZpY2VtZXRhOiBTZXJ2aWNlTWV0YVxyXG4gICAgKSB7IH1cclxuICAgIHNldE9yZGVyRGV0YWlscyhkYXRhKSB7XHJcbiAgICAgICAgdGhpcy5vcmRlcmRhdGEgPSBkYXRhO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMub3JkZXJkYXRhKTtcclxuICAgIH1cclxuICAgIGdldE9yZGVyRGV0YWlscygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcmRlcmRhdGE7XHJcbiAgICB9XHJcbiAgICBnZXRQcm92aWRlckNvbnN1bWVyKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ3NwY29uc3VtZXInKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZVNQQ29uc3VtZXIocG9zdF9kYXRhOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUHV0KCdzcGNvbnN1bWVyJywgcG9zdF9kYXRhKTtcclxuICAgIH1cclxuICAgIGdldEZhdlByb3ZpZGVyKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL3Byb3ZpZGVycycpO1xyXG4gICAgfVxyXG4gICAgcmVtb3ZlUHJvdmlkZXJmcm9tRmF2b3VyaXRlKGFjY291bnRpZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wcm92aWRlcnMvJyArIGFjY291bnRpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwRGVsZXRlKHVybCk7XHJcbiAgICB9XHJcbiAgICBkb0RlbGV0ZUZhdlByb3ZpZGVyKGZhdiwgY3RoaXM/KSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kZWxldGVGYXZQcm92aWRlcihmYXYuaWQpXHJcbiAgICAgICAgICAgICAgICAudGhlbihcclxuICAgICAgICAgICAgICAgICAgICBkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZGVsZXRlRmF2UHJvdmlkZXIoaWQpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZVByb3ZpZGVyZnJvbUZhdm91cml0ZShpZClcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoJ3JlbG9hZGxpc3QnKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgYWRkUHJvdmlkZXJ0b0Zhdm91cml0ZShhY2NvdW50aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcHJvdmlkZXJzLycgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsKTtcclxuICAgIH1cclxuICAgIGNoYW5nZVBhc3N3b3JkUHJvZmlsZShkYXRhLCBvcmlnaW4/KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gb3JpZ2luICsgJy9sb2dpbi9jaHB3ZCc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgY29uc3VtZXJ0ZWxlZ3JhbUNoYXQoY291bnRyeUNvZGUsIGxvZ2luSWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY2hhdGJvdC90ZWxlZ3JhbS9jb25zdW1lci9jaGF0SWQvJyArIGNvdW50cnlDb2RlICsgJy8nICsgbG9naW5JZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRDb25zdW1lclJhdGVTZXJ2aWNlKHBhcmFtcywgdHlwZSkge1xyXG4gICAgICAgIGxldCBwYXRoO1xyXG4gICAgICAgIGlmICh0eXBlID09PSAnY2hlY2tpbicpIHtcclxuICAgICAgICAgICAgcGF0aCA9ICdjb25zdW1lci93YWl0bGlzdC9yYXRpbmcnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2FwcG9pbnRtZW50Jykge1xyXG4gICAgICAgICAgICBwYXRoID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3JhdGluZyc7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnb3JkZXInKSB7XHJcbiAgICAgICAgICAgIHBhdGggPSAnY29uc3VtZXIvb3JkZXJzL3JhdGluZyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCwgbnVsbCwgcGFyYW1zKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZUNvbnN1bWVyUmF0ZVNlcnZpY2UocGFyYW1zLCBkYXRhLCB0eXBlKSB7XHJcbiAgICAgICAgbGV0IHBhdGg7XHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdjaGVja2luJykge1xyXG4gICAgICAgICAgICBwYXRoID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3JhdGluZyc7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnYXBwb2ludG1lbnQnKSB7XHJcbiAgICAgICAgICAgIHBhdGggPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvcmF0aW5nJztcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvcmRlcicpIHtcclxuICAgICAgICAgICAgcGF0aCA9ICdjb25zdW1lci9vcmRlcnMvcmF0aW5nJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dChwYXRoLCBkYXRhLCBudWxsLCBwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgcG9zdENvbnN1bWVyUmF0ZVNlcnZpY2UocGFyYW1zLCBkYXRhLCB0eXBlKSB7XHJcbiAgICAgICAgbGV0IHBhdGg7XHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdjaGVja2luJykge1xyXG4gICAgICAgICAgICBwYXRoID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3JhdGluZyc7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnYXBwb2ludG1lbnQnKSB7XHJcbiAgICAgICAgICAgIHBhdGggPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvcmF0aW5nJztcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvcmRlcicpIHtcclxuICAgICAgICAgICAgcGF0aCA9ICdjb25zdW1lci9vcmRlcnMvcmF0aW5nJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QocGF0aCwgZGF0YSwgbnVsbCwgcGFyYW1zKTtcclxuICAgIH1cclxuICAgIC8vV2FpdGxpc3QgVXJsc1xyXG4gICAgZ2V0V2FpdGxpc3QocGFyYW1zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvd2FpdGxpc3QnLCBudWxsLCBwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgZ2V0V2FpdGxpc3RGdXR1cmUocGFyYW1zPykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL3dhaXRsaXN0L2Z1dHVyZScsIG51bGwsIHBhcmFtcyk7XHJcbiAgICB9XHJcbiAgICBhZGRDb25zdW1lcldhaXRsaXN0QXR0YWNobWVudChhY2NvdW50aWQsIHV1aWQsIGJvZHkpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvJyArIHV1aWQgKyAnL2F0dGFjaG1lbnQnICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XHJcbiAgICB9XHJcbiAgICBhZGRXYWl0bGlzdEF0dGFjaG1lbnQoYWNjb3VudGlkLCB1dWlkLCBib2R5KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3NoYXJlL2F0dGFjaG1lbnRzLycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XHJcbiAgICB9XHJcbiAgICBnZXRDb25zdW1lcldhaXRsaXN0QXR0YWNobWVudHNCeVV1aWQodXVpZCwgYWNjb3VudGlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0L2F0dGFjaG1lbnQvJyArIHV1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRXYWl0bGlzdFRvZGF5KCkge1xyXG4gICAgICAgIGNvbnN0IHBhdGggPSAnY29uc3VtZXIvd2FpdGxpc3QvdG9kYXknO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCk7XHJcbiAgICB9XHJcbiAgICAvL0FwcG9pbnRtZW50IFVybHNcclxuICAgIGdldEFwcG9pbnRtZW50RnV0dXJlKHBhcmFtcz8pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KCdjb25zdW1lci9hcHBvaW50bWVudC9mdXR1cmUnLCBudWxsLCBwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgZ2V0QXBwdGxpc3QocGFyYW1zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvYXBwb2ludG1lbnQnLCBudWxsLCBwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgZ2V0QXBwb2ludG1lbnRUb2RheShwYXJhbXM/KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvYXBwb2ludG1lbnQvdG9kYXknLCBudWxsLCBwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgYWRkQ29uc3VtZXJBcHBvaW50bWVudEF0dGFjaG1lbnQoYWNjb3VudGlkLCB1dWlkLCBib2R5KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50LycgKyB1dWlkICsgJy9hdHRhY2htZW50JyArICc/YWNjb3VudD0nICsgYWNjb3VudGlkOztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgYWRkQXBwb2ludG1lbnRBdHRhY2htZW50KGFjY291bnRpZCwgdXVpZCwgYm9keSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9zaGFyZS9hdHRhY2htZW50cy8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkOztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29uc3VtZXJBcHBvaW50bWVudEF0dGFjaG1lbnRzQnlVdWlkKHV1aWQsIGFjY291bnRpZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9hdHRhY2htZW50LycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgLy9PcmRlciBVcmxzXHJcbiAgICBnZXRDb25zdW1lckZ1dE9yZGVycygpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvb3JkZXJzL2Z1dHVyZSc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29uc3VtZXJPcmRlcnMocGFyYW1zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvb3JkZXJzJywgbnVsbCwgcGFyYW1zKTtcclxuICAgIH1cclxuICAgIC8vRG9uYXRpb24gVXJsc1xyXG4gICAgZ2V0Q29uc3VtZXJEb25hdGlvbnMocGFyYW1zID0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9kb25hdGlvbic7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwsIG51bGwsIHBhcmFtcyk7XHJcbiAgICB9XHJcbiAgICBnZXRDb25zdW1lcldhaXRsaXN0TWVldGluZ0RldGFpbHModXVpZCwgbW9kZSwgYWNjb3VudElkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0LycgKyB1dWlkICsgJy9tZWV0aW5nRGV0YWlscy8nICsgbW9kZSArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldENvbnN1bWVyQXBwdE1lZXRpbmdEZXRhaWxzKHV1aWQsIG1vZGUsIGFjY291bnRJZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC8nICsgdXVpZCArICcvbWVldGluZ0RldGFpbHMvJyArIG1vZGUgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRQcm9maWxlKGNvbnN1bWVySWQpIHtcclxuICAgICAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdldE15UHJvZmlsZShjb25zdW1lcklkKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICBkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHByb21pc2U7XHJcbiAgICB9XHJcbiAgICBnZXRUZWxlZ3JhbXN0YXQoKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3RlbGVncmFtL3NldHRpbmdzJztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBlbmFibGVUZWxlZ3JhbU5vdGkoc3RhdHVzKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3RlbGVncmFtL3NldHRpbmdzLycgKyBzdGF0dXM7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0TXlQcm9maWxlKGlkKSB7XHJcbiAgICAgICAgbGV0IHBhdGggPSAnY29uc3VtZXIvJyArIGlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCk7XHJcbiAgICB9XHJcbiAgICB1cGRhdGVQcm9maWxlKGRhdGEsIG9yaWdpbikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQYXRjaChvcmlnaW4sIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgdXBkYXRlU1BDb25zdW1lclByb2ZpbGUoZGF0YSwgb3JpZ2luKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dChvcmlnaW4sIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgYWRkTWVtYmVycyhkYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QoJ2NvbnN1bWVyL2ZhbWlseS9tZW1iZXInLCBkYXRhKTtcclxuICAgIH1cclxuICAgIGVkaXRNZW1iZXIoZGF0YSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQoJ2NvbnN1bWVyL2ZhbWlseS9tZW1iZXInLCBkYXRhKTtcclxuICAgIH1cclxuICAgIGdldENvbnN1bWVyUGF5bWVudHMoZmlsdGVyPykge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wYXltZW50JztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCwgbnVsbCwgZmlsdGVyKTtcclxuICAgIH1cclxuICAgIGdldE9yZGVyQnlDb25zdW1lclVVSUQodXVpZCwgYWNjb3VudGlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL29yZGVycy8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldENoZWNraW5CeUNvbnN1bWVyVVVJRCh1dWlkLCBhY2NvdW50aWQpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlVVSUQ6XCIsIHV1aWQpO1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWl0bGlzdC8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldEFwcG9pbnRtZW50QnlDb25zdW1lclVVSUQodXVpZCwgYWNjb3VudGlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50LycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29uc3VtZXJEb25hdGlvbkJ5VWlkKHVpZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9kb25hdGlvbi8nICsgdWlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldENvbnN1bWVyUGF5bWVudEJ5SWQoaWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcGF5bWVudC8nICsgaWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0TWVtYmVycyhwcm92aWRlckN1c3RvbWVySUQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZmFtaWx5L21lbWJlci8nICsgcHJvdmlkZXJDdXN0b21lcklEO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZU1lbWJlcihtZW1iZXJJZCwgcGFyZW50SUQpIHtcclxuICAgICAgICBjb25zdCBwYXRoID0gJ2NvbnN1bWVyL2ZhbWlseS9tZW1iZXIvJyArIG1lbWJlcklkICsgJy8nICsgcGFyZW50SUQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cERlbGV0ZShwYXRoKTtcclxuICAgIH1cclxuICAgIGdldFdhaXRsaXN0SGlzdG9yeShwYXJhbXMgPSB7fSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL3dhaXRsaXN0L2hpc3RvcnknLCBudWxsLCBwYXJhbXMpO1xyXG4gICAgICAgIC8vIHNldCBub19yZWRpcmVjdF9wYXRoIGluIGludGVyY2VwdG9yIHRvIGF2b2lkIHJlZGlyZWN0IG9uIDQwMVxyXG4gICAgfVxyXG4gICAgZ2V0SGlzdG9yeVdhaXRsaXN0Q291bnQocGFyYW1zID0ge30pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KCdjb25zdW1lci93YWl0bGlzdC9oaXN0b3J5L2NvdW50JywgbnVsbCwgcGFyYW1zKTtcclxuICAgIH1cclxuICAgIGdldFdhaXRsaXN0QmlsbChwYXJhbXMsIHV1aWQpIHtcclxuICAgICAgICBjb25zdCBwYXRoID0gJ2NvbnN1bWVyL2JpbGwvJyArIHV1aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldChwYXRoLCBudWxsLCBwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgZ2V0UGF5bWVudERldGFpbChwYXJhbXMsIHV1aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcGF5bWVudC9kZXRhaWxzLycgKyB1dWlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsLCBudWxsLCBwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgZ2V0QXBwb2ludG1lbnRIaXN0b3J5KHBhcmFtcz8pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KCdjb25zdW1lci9hcHBvaW50bWVudC9oaXN0b3J5JywgbnVsbCwgcGFyYW1zKTtcclxuICAgIH1cclxuICAgIGdldEFwcG9pbnRtZW50SGlzdG9yeUNvdW50KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL2FwcG9pbnRtZW50L2hpc3RvcnkvY291bnQnKTtcclxuICAgIH1cclxuICAgIGdldE9yZGVySGlzdG9yeShwYXJhbXM/KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL29yZGVycy9oaXN0b3J5JztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCwgbnVsbCwgcGFyYW1zKTtcclxuICAgIH1cclxuICAgIGdldFBheW1lbnRNb2Rlc29mUHJvdmlkZXIocHJvdmlkLCBzZXJ2aWNlSWQsIHB1cnBvc2U/KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3BheW1lbnQvbW9kZXMvc2VydmljZS8nICsgcHJvdmlkICsgJy8nICsgc2VydmljZUlkICsgJy8nICsgcHVycG9zZTtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBjb25zdW1lclBheW1lbnQoZGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wYXltZW50JztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgY29uc3VtZXJQYXltZW50X2ludm9jaWUoZGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9qcC9maW5hbmNlL3BheSc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseUNvdXBvbihqQ291cG9uQ29kZSwgY2hlY2tpbklkLCBhY2NvdW50aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvamFsZGVlL2NvdXBvbnMvJyArIGpDb3Vwb25Db2RlICsgJy8nICsgY2hlY2tpbklkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsKTtcclxuICAgIH1cclxuICAgIGdldENvbnN1bWVyQ29tbXVuaWNhdGlvbnMocHJvdmlkZXJfaWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvY29tbXVuaWNhdGlvbnM/YWNjb3VudD0nICsgcHJvdmlkZXJfaWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0V3RsaXN0SGlzdG9yeSh1dWlkLCBhY2NvdW50aWQpIHtcclxuICAgICAgICBjb25zdCBwYXRoID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3N0YXRlcy8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCk7XHJcbiAgICB9XHJcbiAgICBnZXRXYWl0bGlzdFF1ZXN0aW9ubmFpcmVCeVVpZCh1aWQsIGFjY291bnRJZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWl0bGlzdC9xdWVzdGlvbm5haXJlLycgKyB1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRBcHB0SGlzdG9yeSh1dWlkLCBhY2NvdW50aWQpIHtcclxuICAgICAgICBjb25zdCBwYXRoID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3N0YXRlLycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldChwYXRoKTtcclxuICAgIH1cclxuICAgIGdldEFwcHRRdWVzdGlvbm5haXJlQnlVaWQodWlkLCBhY2NvdW50SWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvcXVlc3Rpb25uYWlyZS8nICsgdWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50SWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0QXBwb2ludG1lbnREZXRhaWwodXVpZCwgcGFyYW1zKSB7XHJcbiAgICAgICAgY29uc3QgcGF0aCA9ICdjb25zdW1lci9hcHBvaW50bWVudC8nICsgdXVpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHBhdGgsIG51bGwsIHBhcmFtcyk7XHJcbiAgICB9XHJcbiAgICBnZXRKYWxkZWVDYXNoYW5kSmNyZWRpdCgpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FsbGV0L3JlZGVlbS9lbGlnaWJsZS9hbXQnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldFJlbWFpbmluZ1ByZXBheW1lbnRBbW91bnQoamNhc2g/LCBqY3JlZGl0PywgYWR2YW5jZWFtb3VudD8pIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FsbGV0L3JlZGVlbS9yZW1haW5pbmcvYW10JyArICc/dXNlSmNhc2g9JyArIGpjYXNoICsgJyZ1c2VKY3JlZGl0PScgKyBqY3JlZGl0ICsgJyZhZHZhbmNlUGF5QW1vdW50PScgKyBhZHZhbmNlYW1vdW50O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIFBheUJ5SmFsZGVld2FsbGV0KHBvc3REYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QoJ2NvbnN1bWVyL3BheW1lbnQvd2FsbGV0JywgcG9zdERhdGEpO1xyXG4gICAgfVxyXG4gICAgZ2V0V2FpdGxpc3REZXRhaWwodXVpZCwgcGFyYW1zKSB7XHJcbiAgICAgICAgY29uc3QgcGF0aCA9ICdjb25zdW1lci93YWl0bGlzdC8nICsgdXVpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHBhdGgsIG51bGwsIHBhcmFtcyk7XHJcbiAgICB9XHJcbiAgICBnZW5lcmF0ZURvbmF0aW9uTGluayhhY2NvdW50aWQsIGRhdGEpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcGF5bWVudC9nZW5lcmF0ZS9wYXlsaW5rP2FjY291bnQ9JyArIGFjY291bnRpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgYWRkQ3VzdG9tZXJEb25hdGlvbihwb3N0RGF0YSwgYWNjb3VudGlkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QoJ2NvbnN1bWVyL2RvbmF0aW9uP2FjY291bnQ9JyArIGFjY291bnRpZCwgcG9zdERhdGEpO1xyXG4gICAgfVxyXG4gICAgZ2V0RG9uYXRpb25MaW5rVXVpZCh1dWlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3BheW1lbnQvcGF5bGluay9kb25hdGlvbi8nICsgdXVpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBhZGRDb25zdW1lcldhaXRsaXN0Tm90ZShhY2NvdW50aWQsIHV1aWQsIGJvZHkpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvY29tbXVuaWNhdGlvbi8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XHJcbiAgICB9XHJcbiAgICBnZXREb25hdGlvblF1ZXN0aW9ubmFpcmUoc2VydmljZUlkLCBhY2NvdW50X2lkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvZG9uYXRpb24vJyArIHNlcnZpY2VJZCArICc/YWNjb3VudD0nICsgYWNjb3VudF9pZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBzdWJtaXREb25hdGlvblF1ZXN0aW9ubmFpcmUodXVpZCwgYm9keSwgYWNjb3VudF9pZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9kb25hdGlvbi9xdWVzdGlvbm5haXJlL3N1Ym1pdC8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudF9pZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgY29uc3VtZXJEb25hdGlvblFuclVwbG9hZFN0YXR1c1VwZGF0ZSh1aWQsIGFjY291bnQsIGRhdGEpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZG9uYXRpb24vcXVlc3Rpb25uYWlyZS91cGxvYWQvc3RhdHVzLycgKyB1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgdmFsaWRhdGVDb25zdW1lclF1ZXN0aW9ubmFpcmUoYm9keSwgYWNjb3VudElkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGUnICsgJz9hY2NvdW50PScgKyBhY2NvdW50SWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgdmFsaWRhdGVDb25zdW1lck9uZVRpbWVRdWVzdGlvbm5haXJlKGJvZHksIGFjY291bnRJZCwgcHJvdmlkZXJDb25zdW1lcklkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGUvb25ldGltZXF1ZXN0aW9ubmFpcmUvJyArIHByb3ZpZGVyQ29uc3VtZXJJZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XHJcbiAgICB9XHJcbiAgICBnZXRQcm92aWRlckN1c3RvbWVyT25ldGltZUluZm8ocHJvdmlkZXJDb25zdW1lcklELCBhY2NvdW50SWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcHJvdmlkZXJDdXN0b21lci8nICsgcHJvdmlkZXJDb25zdW1lcklEICsgXCI/YWNjb3VudD1cIiArIGFjY291bnRJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBzdWJtaXRDdXN0b21lck9uZXRpbWVJbmZvKGJvZHksIHVzZXJJZCwgYWNjb3VudElkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvJyArIHVzZXJJZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XHJcbiAgICB9XHJcbiAgICBzdWJtaXRDb25zdW1lckFwcHRTZXJ2aWNlT3B0aW9uKGJvZHksIHV1aWQsIGFjY291bnQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvc2VydmljZW9wdGlvbi8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgcmVzY2hlZHVsZUNvbnN1bWVyQXBwdG1udChhY2NvdW50aWQsIHBvc3REYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCgnY29uc3VtZXIvYXBwb2ludG1lbnQvcmVzY2hlZHVsZT9hY2NvdW50PScgKyBhY2NvdW50aWQsIHBvc3REYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDdXN0b21lckFwcG9pbnRtZW50KGFjY291bnRpZCwgcG9zdERhdGEpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCgnY29uc3VtZXIvYXBwb2ludG1lbnQvYWRkP2FjY291bnQ9JyArIGFjY291bnRpZCwgcG9zdERhdGEpO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29udmVuaWVudEZlZU9mUHJvdmlkZXIocHJvdmlkLCBkYXRhPykge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wYXltZW50L21vZGVzL2NvbnZlbmllbmNlRmVlLycgKyBwcm92aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgYWRkQXBwdEFkdmFuY2VQYXltZW50KHBhcmFtLCBib2R5KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L2FkdmFuY2VQYXltZW50JztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUHV0KHVybCwgYm9keSwgbnVsbCwgcGFyYW0pO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29uc3VtZXJRdWVzdGlvbm5haXJlKHNlcnZpY2VJZCwgY29uc3VtZXJJZCwgYWNjb3VudElkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvc2VydmljZS8nICsgc2VydmljZUlkICsgJy9jb25zdW1lci8nICsgY29uc3VtZXJJZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldFNlcnZpY2VvcHRpb25zQXBwdChzZXJ2aWQsIGFjY291bnQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcXVlc3Rpb25uYWlyZS9zZXJ2aWNlb3B0aW9ucy8nICsgc2VydmlkICsgJy8wP2FjY291bnQ9JyArIGFjY291bnQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0QXBwb2ludG1lbnRSZXNjaGVkdWxlUHJpY2VsaXN0KHNlcnZpY2VpZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9zY2hlZHVsZS8nICsgc2VydmljZWlkICsgJy9wcmljZWxpc3QnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldFNsb3RzQnlMb2NhdGlvblNlcnZpY2VhbmREYXRlKGxvY2lkLCBzZXJ2aWQsIHBkYXRlLCBhY2NvdW50aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvc2NoZWR1bGUvZGF0ZS8nICsgcGRhdGUgKyAnL2xvY2F0aW9uLycgKyBsb2NpZCArICcvc2VydmljZS8nICsgc2VydmlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0QXZhaWxhYmxlRGF0ZXNzQnlMb2NhdGlvblNlcnZpY2UobG9jaWQsIHNlcnZpZCwgYWNjb3VudGlkPykge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9hdmFpbGFiaWxpdHkvbG9jYXRpb24vJyArIGxvY2lkICsgJy9zZXJ2aWNlLycgKyBzZXJ2aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRTZXJ2aWNlc2ZvckFwcG9udG1udEJ5TG9jYXRpb25JZChsb2NpZCkge1xyXG4gICAgICAgIGlmIChsb2NpZCkge1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvc2VydmljZS8nICsgbG9jaWQ7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXNjaGVkdWxlQ29uc3VtZXJXYWl0bGlzdChhY2NvdW50aWQsIHBvc3REYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCgnY29uc3VtZXIvd2FpdGxpc3QvcmVzY2hlZHVsZT9hY2NvdW50PScgKyBhY2NvdW50aWQsIHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIGdldFF1ZXVlc2J5TG9jYXRpb25hbmRTZXJ2aWNlSWRBdmFpbGFibGVEYXRlcyhsb2NpZCwgc2VydmlkLCBhY2NvdW50aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvcXVldWVzL2F2YWlsYWJsZS8nICsgbG9jaWQgKyAnLycgKyBzZXJ2aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBhZGRDaGVja2luKGFjY291bnRpZCwgcG9zdERhdGEpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCgnY29uc3VtZXIvd2FpdGxpc3QvYWRkP2FjY291bnQ9JyArIGFjY291bnRpZCwgcG9zdERhdGEpO1xyXG4gICAgfVxyXG4gICAgc3VibWl0Q29uc3VtZXJXYWl0bGlzdFNlcnZpY2VPcHRpb24oYm9keSwgdXVpZCwgYWNjb3VudCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWl0bGlzdC9zZXJ2aWNlb3B0aW9uLycgKyB1dWlkICsgJy8/YWNjb3VudD0nICsgYWNjb3VudDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgZ2V0UGFydHlzaXplRGV0YWlscyhkb21haW4sIHN1YmRvbWFpbikge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICd5bndDb25mL3NldHRpbmdzLycgKyBkb21haW4gKyAnLycgKyBzdWJkb21haW47XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgYWRkV2FpdGxpc3RBZHZhbmNlUGF5bWVudChwYXJhbSwgYm9keSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWl0bGlzdC9hZHZhbmNlUGF5bWVudCc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGJvZHksIG51bGwsIHBhcmFtKTtcclxuICAgIH1cclxuICAgIGdldFNlcnZpY2VvcHRpb25zV2FpdGxpc3Qoc2VydmlkLCBhY2NvdW50KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvc2VydmljZW9wdGlvbnMvJyArIHNlcnZpZCArICcvMD9hY2NvdW50PScgKyBhY2NvdW50O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldFF1ZXVlc2J5TG9jYXRpb25hbmRTZXJ2aWNlSWQobG9jaWQsIHNlcnZpZCwgcGRhdGU/LCBhY2NvdW50aWQ/KSB7XHJcbiAgICAgICAgY29uc3QgZGQgPSAocGRhdGUgIT09IHVuZGVmaW5lZCkgPyAnLycgKyBwZGF0ZSArICc/YWNjb3VudD0nICsgYWNjb3VudGlkIDogJyc7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3F1ZXVlcy8nICsgbG9jaWQgKyAnLycgKyBzZXJ2aWQgKyBkZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRTZXJ2aWNlc0J5TG9jYXRpb25JZChsb2NpZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWl0bGlzdC9zZXJ2aWNlcy8nICsgbG9jaWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0T3JkZXJRdWVzdGlvbm5haXJlQnlVaWQodWlkLCBhY2NvdW50SWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvb3JkZXJzL3F1ZXN0aW9ubmFpcmUvJyArIHVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldFN0b3JlQ29udGFjdChhY2NvdW50aWQ/KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvb3JkZXJzL3NldHRpbmdzL3N0b3JlL2NvbnRhY3QvaW5mby8nICsgYWNjb3VudGlkKTtcclxuICAgIH1cclxuICAgIGdldENvbnN1bWVyQ2F0YWxvZ3MoYWNjb3VudGlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL29yZGVycy9jYXRhbG9ncy8nICsgYWNjb3VudGlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldEF2YWlsYWJsZURhdGVzRm9ySG9tZShjYXRhbG9naWQsIGFjY291bnRpZD8pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KCdjb25zdW1lci9vcmRlcnMvY2F0YWxvZ3MvZGVsaXZlcnkvZGF0ZXMvJyArIGNhdGFsb2dpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkKTtcclxuICAgIH1cclxuICAgIGdldEF2YWlsYWJsZURhdGVzRm9yUGlja3VwKGNhdGFsb2dpZCwgYWNjb3VudGlkPykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL29yZGVycy9jYXRhbG9ncy9waWNrVXAvZGF0ZXMvJyArIGNhdGFsb2dpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZUNvbnN1bWVyYWRkcmVzcyhkYXRhKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2RlbGl2ZXJ5QWRkcmVzcyc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgQ3JlYXRlQ29uc3VtZXJPcmRlcihhY2NvdW50aWQsIHBvc3REYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QoJ2NvbnN1bWVyL29yZGVycz9hY2NvdW50PScgKyBhY2NvdW50aWQsIHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIENyZWF0ZUNvbnN1bWVyRW1haWwodXVpZCwgYWNjb3VudGlkLCBwb3N0X0RhdGEpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUHV0KCdjb25zdW1lci9vcmRlcnMvJyArIHV1aWQgKyAnL2VtYWlsP2FjY291bnQ9JyArIGFjY291bnRpZCwgcG9zdF9EYXRhKTtcclxuICAgIH1cclxuICAgIGdldENvbnN1bWVyT3JkZXJRdWVzdGlvbm5haXJlKGNhdGVsb2dJZCwgYWNjb3VudElkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvb3JkZXIvJyArIGNhdGVsb2dJZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldENvbnN1bWVyYWRkcmVzcygpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZGVsaXZlcnlBZGRyZXNzJztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRDYXJ0ZGV0YWlscyhhY2NvdW50aWQsIGRhdGEpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvb3JkZXJzL2Ftb3VudD9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgZ2V0VXNlckFwcHRUaW1lKHByb3ZfYXJyKSB7XHJcbiAgICAgICAgaWYgKHByb3ZfYXJyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgcGF0aCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9zY2hlZHVsZS9uZXh0QXZhaWxhYmxlU2NoZWR1bGUvJyArIHByb3ZfYXJyLmpvaW4oJywnKTtcclxuICAgICAgICAgICAgY29uc3QgZW5jb2RlZFBhdGggPSBlbmNvZGVVUkkocGF0aCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoZW5jb2RlZFBhdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIC8vIGdldFVzZXJFc3RpbWF0ZWRXYWl0aW5nVGltZShwcm92X2Fycikge1xyXG4gICAgLy8gICAgIGxldCBzdHIgPSAnJztcclxuICAgIC8vICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3ZfYXJyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAvLyAgICAgICAgIGlmIChzdHIgIT09ICcnKSB7XHJcbiAgICAvLyAgICAgICAgICAgICBzdHIgKz0gJyUyQyc7IC8vIGNvbW1hXHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgc3RyICs9IHByb3ZfYXJyW2ldO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICBpZiAoc3RyID09PSAnJykge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIGNvbnN0IHBhdGggPSAncHJvdmlkZXIvd2FpdGxpc3QvcXVldWVzL3Byb3ZpZGVyV2FpdGluZ1RpbWUvJyArIHN0cjtcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHBhdGgpO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gdXBkYXRlQW5hbHl0aWNzKGJvZHkpIHtcclxuICAgIC8vICAgICBjb25zdCB1cmwgPSAncHJvdmlkZXIvYW5hbHl0aWNzL3VwZGF0ZSc7XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcclxuICAgIC8vIH1cclxuICAgIC8vIGdldFNlYXJjaENhdGFsb2dJdGVtKGFjY291bnQ6IGFueSwgdGVtcE5hbWU6IGFueSwgbmFtZTogYW55KSB7XHJcbiAgICAvLyAgICAgY29uc3QgdXJsID0gcHJvamVjdENvbnN0YW50cy5TQVBBVEggKyAnc2VhcmNoZGV0YWlscy8nICsgYWNjb3VudCArICcvSXRlbS9zZWFyY2g/JyArIHRlbXBOYW1lICsgJz0nICsgbmFtZSArICcqJztcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICAvLyB9XHJcbiAgICBnZXRPcmRlclNldHRpbmdzKGFjY291bnRpZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9vcmRlcnMvc2V0dGluZ3MnICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgYWRkQ29uc3VtZXJ0b1Byb3ZpZGVyTm90ZShtZXNzYWdlLCBmaWx0ZXIpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvbWVzc2FnZS9jb21tdW5pY2F0aW9ucyc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBtZXNzYWdlLCBudWxsLCBmaWx0ZXIpO1xyXG4gICAgfVxyXG4gICAgdGVsZWdyYW1DaGF0KGNvdW50cnlDb2RlLCBwaE51bWJlcikge1xyXG4gICAgICAgIGlmIChjb3VudHJ5Q29kZSA9PT0gJycpIHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gJ2NoYXRib3QvdGVsZWdyYW0vcHJvdmlkZXIvY2hhdElkLzkxLycgKyBwaE51bWJlcjtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gJ2NoYXRib3QvdGVsZWdyYW0vcHJvdmlkZXIvY2hhdElkLycgKyBjb3VudHJ5Q29kZSArICcvJyArIHBoTnVtYmVyO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gYWRkUHJvdmlkZXJBcHBvaW50bWVudE5vdGUodXVpZCwgYm9keSkge1xyXG4gICAgLy8gICAgIGNvbnN0IHVybCA9ICdwcm92aWRlci9hcHBvaW50bWVudC9jb21tdW5pY2F0ZS8nICsgdXVpZDtcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gYWRkUHJvdmlkZXJPcmRlck5vdGUodXVpZCwgYm9keSkge1xyXG4gICAgLy8gICAgIGNvbnN0IHVybCA9ICdwcm92aWRlci9vcmRlcnMvY29tbXVuaWNhdGUvJyArIHV1aWQ7XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcclxuICAgIC8vIH1cclxuICAgIC8vIGFkZFByb3ZpZGVyRG9uYXRpb25Ob3RlKHV1aWQsIGJvZHkpIHtcclxuICAgIC8vICAgICBjb25zdCB1cmwgPSAncHJvdmlkZXIvZG9uYXRpb24vY29tbXVuaWNhdGUvJyArIHV1aWQ7XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcclxuICAgIC8vIH1cclxuICAgIC8vIGFkZFByb3ZpZGVyV2FpdGxpc3ROb3RlKHV1aWQsIGJvZHkpIHtcclxuICAgIC8vICAgICBjb25zdCB1cmwgPSAncHJvdmlkZXIvd2FpdGxpc3QvY29tbXVuaWNhdGUvJyArIHV1aWQ7XHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcclxuICAgIC8vIH1cclxuICAgIGdldE1lbWJlcnNoaXAoYWNjb3VudElkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL21lbWJlcnNoaXAvc2VydmljZXM/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGFkZENvbnN1bWVyQXBwb2ludG1lbnROb3RlKGFjY291bnRpZCwgdXVpZCwgYm9keSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9jb21tdW5pY2F0ZS9tZXNzYWdlLycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDb25zdW1lck9yZGVyTm90ZShhY2NvdW50aWQsIHV1aWQsIGJvZHkpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvb3JkZXIvY29tbXVuaWNhdGUvJyArIHV1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgYWRkQ29uc3VtZXJPcmRlck5vdGVjb21tKGFjY291bnRpZCwgdXVpZCwgYm9keSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9vcmRlcnMvY29tbXVuaWNhdGUvbWVzc2FnZS8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XHJcbiAgICB9XHJcbiAgICBhZGRDb25zdW1lckRvbmF0aW9uTm90ZShhY2NvdW50aWQsIHV1aWQsIGJvZHkpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZG9uYXRpb24vY29tbXVuaWNhdGUvJyArIHV1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgZGVhY3RpdmVBY2NvdW50KHVzZXI6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IHVzZXIgKyAnL2xvZ2luL2RlQWN0aXZhdGUnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBEZWxldGUodXJsKTtcclxuICAgIH1cclxuICAgIGdldENhdGFsb2dCeUlkKGNhdGFsb2dzLCBjYXRhbG9nSWQpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkNBdGFsb2dzOlwiLCBjYXRhbG9ncyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJJRDpcIiwgY2F0YWxvZ0lkKTtcclxuICAgICAgICBsZXQgY2F0YWxvZ0FycmF5ID0gY2F0YWxvZ3MuZmlsdGVyKGNhdGFsb2cgPT4gY2F0YWxvZy5pZCA9PSBjYXRhbG9nSWQpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiQ2F0YWxvZ0FycmF5XCIsIGNhdGFsb2dBcnJheSk7XHJcbiAgICAgICAgaWYgKGNhdGFsb2dBcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYXRhbG9nQXJyYXlbMF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgZ2V0Q2F0YWxvZ0l0ZW1CeUlkKGNhdGFsb2csIGNhdGFsb2dJdGVtSWQpIHtcclxuICAgICAgICBsZXQgY2F0YWxvZ0l0ZW1BcnJheSA9IGNhdGFsb2cuY2F0YWxvZ0l0ZW0uZmlsdGVyKGNhdGFsb2dJdGVtID0+IGNhdGFsb2dJdGVtLmlkID09IGNhdGFsb2dJdGVtSWQpO1xyXG4gICAgICAgIGlmIChjYXRhbG9nSXRlbUFycmF5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNhdGFsb2dJdGVtQXJyYXlbMF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gb3JkZXJzIFxyXG4gICAgICogQHBhcmFtIGl0ZW0gXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgZ2V0SXRlbVF0eShvcmRlcnMsIGl0ZW1JZCkge1xyXG4gICAgICAgIGNvbnN0IG9yZGVyTGlzdCA9IG9yZGVycztcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkNhcnQgSXRlbXM6XCIsIG9yZGVyTGlzdCk7XHJcbiAgICAgICAgbGV0IHF0eSA9IDA7XHJcbiAgICAgICAgaWYgKG9yZGVyTGlzdCAhPT0gbnVsbCAmJiBvcmRlckxpc3QuZmlsdGVyKGkgPT4gaS5pZCA9PSBpdGVtSWQpKSB7XHJcbiAgICAgICAgICAgIHF0eSA9IG9yZGVyTGlzdC5maWx0ZXIoaSA9PiBpLmlkID09IGl0ZW1JZCkubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcXR5O1xyXG4gICAgfVxyXG4gICAgZ2V0QXBwdFJlcXVlc3RMaXN0KGFjY291bnRJZCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3NlcnZpY2UvcmVxdWVzdD9hY2NvdW50LWVxPScgKyBhY2NvdW50SWQpO1xyXG4gICAgfVxyXG4gICAgcG9zdEFwcG9pbnRtZW50UmVxdWVzdChhY2NvdW50aWQsIHBvc3REYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QoJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3NlcnZpY2UvcmVxdWVzdD9hY2NvdW50PScgKyBhY2NvdW50aWQsIHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIGdldFByZXNjcmlwdGlvbnMoKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ3NwY29uc3VtZXIvbWVkaWNhbHJlY29yZC9wcmVzY3JpcHRpb24nO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIHN1Ym1pdEl0ZW1PcHRpb25zKGl0ZW1JZCwgb3JkZXJJZCwgYWNjb3VudElkLCBwb3N0RGF0YSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KCdjb25zdW1lci9vcmRlcnMvaXRlbS9zZXJ2aWNlb3B0aW9uLycgKyBpdGVtSWQgKyAnLycgKyBvcmRlcklkICsgJz9hY2NvdW50PScgKyBhY2NvdW50SWQsIHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIGdldFNlcnZpY2VvcHRpb25zT3JkZXIoaXRlbUlkLCBhY2NvdW50KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvc2VydmljZW9wdGlvbnMvb3JkZXIvaXRlbS8nICsgaXRlbUlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIHJlbW92ZVByb2ZpbGVQaG90byhjb25zdW1lcklkLCBib2R5KSB7XHJcbiAgICAgICAgY29uc3QgcGF0aCA9ICdzcGNvbnN1bWVyL3JlbW92ZS9wcm9maWxlUGhvdG8vJyArIGNvbnN1bWVySWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cERlbGV0ZShwYXRoLCBib2R5KTtcclxuICAgIH1cclxuICAgIGFkZFByb2ZpbGVQaG90byhjdXN0b21lcklkOiBudW1iZXIsIHBvc3RfZGF0YTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ3NwY29uc3VtZXIvdXBsb2FkL3Byb2ZpbGVQaG90by8nICsgY3VzdG9tZXJJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIHBvc3RfZGF0YSk7XHJcbiAgICB9XHJcbiAgICBnZXREb2N1bWVudCgpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnc3Bjb25zdW1lci9tZWRpY2FscmVjb3JkL3ByZXNjcmlwdGlvbic7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0SXRlbXNMaXN0V2l0aEl0ZW1PcHRpb25zKGNhdGFsb2dJZCwgYWNjb3VudCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9xdWVzdGlvbm5haXJlL3NlcnZpY2VvcHRpb24vb3JkZXIvY2F0YWxvZy9pdGVtLycgKyBjYXRhbG9nSWQgKyAnL09OTElORT9hY2NvdW50PScgKyBhY2NvdW50O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIHZpZGVvYXVkaW9TM1VwbG9hZCh1cmwsIGZpbGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlZpZGVvQXVkaW8gVXBsb2FkXCIsIHVybCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGZpbGUpO1xyXG4gICAgfVxyXG4gICAgZ2V0QXBwdENvdXBvbnMoc2VydklkLCBsb2NJZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9zZXJ2aWNlLycgKyBzZXJ2SWQgKyAnL2xvY2F0aW9uLycgKyBsb2NJZCArICcvY291cG9ucyc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0Q2hlY2tpbkNvdXBvbnMoc2VydklkLCBsb2NJZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWl0bGlzdC9zZXJ2aWNlLycgKyBzZXJ2SWQgKyAnL2xvY2F0aW9uLycgKyBsb2NJZCArICcvY291cG9ucyc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0Q2hlY2tpbmJ5RW5jSWQoZW5jSWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvZW5jLycgKyBlbmNJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRBcHB0YnlFbmNJZChlbmNJZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9lbmMvJyArIGVuY0lkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldE9yZGVyYnlFbmNJZChlbmNJZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9vcmRlcnMvZW5jLycgKyBlbmNJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRTb3JkZXJieUVuY0lkKGVuY0lkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3NvcmRlci9lbmNJZC8nICsgZW5jSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0SXZyUXVlc3Rpb25uYWlyZUJ5VWlkKHVpZCwgYWNjb3VudElkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2l2ci9xdWVzdGlvbm5haXJlLycgKyB1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRpdnJCeUNvbnN1bWVyVVVJRCh1dWlkLCBhY2NvdW50aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvaXZyLycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0QXBwb2ludG1lbnRCeUlkKGFwcG1udElkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ3Byb3ZpZGVyL2FwcG9pbnRtZW50LycgKyBhcHBtbnRJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRQcm92aWRlck9yZGVyRGV0YWlsQnlJZCh1dWlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ3Byb3ZpZGVyL29yZGVycy8nICsgdXVpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRQcm92aWRlcldhaXRsaXN0RGV0YWlsQnlJZCh1dWlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ3Byb3ZpZGVyL3dhaXRsaXN0LycgKyB1dWlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIFBheW1lbnRsaW5rY2hlY2sodXVpZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wYXltZW50L3BheS8nICsgdXVpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBnZXRJZFRlcm1pbm9sb2dpZXMoZG9tYWluLCBzdWJEb21haW4pIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAneW53Q29uZi90ZXJtaW5vbG9naWVzLycgKyBkb21haW4gKyAnLycgKyBzdWJEb21haW47XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgbGlua1BheW1lbnQoZGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdwcm92aWRlci9wYXltZW50L3BheWxpbmsvb3JkZXIvY3JlYXRlJztcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgbGlua1BheW1lbnRfaW52b2ljKGRhdGEpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvanAvZmluYW5jZS9wYXknO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgZGF0YSk7XHJcbiAgICB9XHJcbiAgICBsaW5rTWVtYmVyc2hpcFBheW1lbnRfaW52b2ljKGRhdGEpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvbWVtYmVyc2hpcC9wYXknO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgZGF0YSk7XHJcbiAgICB9XHJcbiAgICBnZXRtZW1iZXJzaGlwSW52b2NpZURldGFpbHNCeUlkKHV1aWQsYWNjSWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvbWVtYmVyc2hpcC9tZW1iZXIvc3Vic2NyaXB0aW9uLycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NJZDs7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgbGlua1NvUGF5bWVudF9pbnZvaWMoZGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9zby9wYXknO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgZGF0YSk7XHJcbiAgICB9XHJcbiAgICBnZXRJbnZvaWNlRGV0YWlsc0J5SWQoYWNjSWQsIHV1aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvanAvZmluYW5jZS9pbnZvaWNlLycgKyBhY2NJZCArICcvJyArIHV1aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgZ2V0U29JbnZvaWNlRGV0YWlsc0J5SWQoYWNjSWQsIHV1aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvc28vaW52b2ljZS8nICsgYWNjSWQgKyAnLycgKyB1dWlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIHVwbG9hZEZpbGVzVG9TMyhkYXRhLCBhY2NvdW50SWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZmlsZVNoYXJlL3VwbG9hZCcgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG4gICAgdmlkZW9hdWRpb1MzVXBsb2FkU3RhdHVzVXBkYXRlKHN0YXR1cywgaWQsIGFjY291bnRJZCkge1xyXG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9maWxlU2hhcmUvdXBsb2FkLycgKyBzdGF0dXMgKyAnLycgKyBpZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQodXJsLCBudWxsKTtcclxuICAgIH1cclxuICAgIGdldEFwcHRCaWxsKHV1aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvJyArIHV1aWQgKyAnLycgKyAnYmlsbGRldGFpbHMnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldFdhaXRCaWxsKHV1aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvJyArIHV1aWQgKyAnLycgKyAnYmlsbGRldGFpbHMnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldEludm9pY2VEZXRhaWxzQnl1dWlkKHV1aWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvanAvZmluYW5jZS9pbnZvaWNlL3lud3VpZCcgKyAnLycgKyB1dWlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldEludm9pY2UoYWNjb3VudElkLCBpbnZvaWNlVWlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2pwL2ZpbmFuY2UvaW52b2ljZScgKyAnLycgKyBhY2NvdW50SWQgKyAnLycgKyBpbnZvaWNlVWlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcclxuICAgIH1cclxuICAgIGdldENvbnNlbnRGb3JtKGlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2NvbnNlbnRmb3JtLycgKyBpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgICBnZXRjb25zZW50Rm9ybVF1ZXN0aW9uYWlyZSh1dWlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2NvbnNlbnRmb3JtL3F1ZXN0aW9ubmFpcmUvJyArIHV1aWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xyXG4gICAgfVxyXG4gICAgc3VibWl0UXVlc3Rpb25uYWlyZShib2R5LCB1dWlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2NvbnNlbnRmb3JtL3F1ZXN0aW9ubmFpcmUvc3VibWl0LycgKyB1dWlkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XHJcbiAgICB9XHJcbiAgICB2ZXJpZnlTaWduKHV1aWQsIGJvZHkpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvY29uc2VudGZvcm0vdmVyaWZ5c2lnbi8nICsgdXVpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUGF0Y2godXJsLCBib2R5KTtcclxuICAgIH1cclxuICAgIHZlcmlmeVFucih1dWlkKSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2NvbnNlbnRmb3JtL3ZlcmlmeVN0YXR1cy8nICsgdXVpZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XHJcbiAgICB9XHJcbiAgICBpc1Byb3ZpZGVyUmVhZHkocG9zdF9kYXRhKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCgnY29uc3VtZXIvYXBwb2ludG1lbnQvdmlkZW9jYWxsL3JlYWR5JywgcG9zdF9kYXRhKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZUFuYWx5dGljcyhib2R5KSB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FuYWx5dGljcy91cGRhdGUnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XHJcbiAgICB9XHJcbiAgICBnZXRVc2Vyc0J5TG9jYXRpb24obG9jYXRpb25JZCwgdW5pcXVlSWQsIGxpc3RPZlVybHMpIHtcclxuICAgICAgICBsZXQgcGF0aCA9ICdwcm92aWRlci9hY2NvdW50L3NldHRpbmdzL2xvY2F0aW9uLycgKyBsb2NhdGlvbklkICsgJy8nICsgdW5pcXVlSWQgKyAnLycgKyBsaXN0T2ZVcmxzO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCk7XHJcbiAgICB9XHJcbiAgICBnZXRJbmJveCh1c2VydHlwZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXNlcnR5cGUgKyAnL2NvbW11bmljYXRpb25zJyk7XHJcbiAgICB9XHJcbiAgICByZWFkUHJvdmlkZXJNZXNzYWdlcyhwcm92aWRlcklkLCBtZXNzYWdlSWRzLCBhY2NvdW50SWQpIHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvY29tbXVuaWNhdGlvbnMvcmVhZE1lc3NhZ2VzLycgKyBwcm92aWRlcklkICsgJy8nICsgbWVzc2FnZUlkcyArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQodXJsKTtcclxuICAgIH1cclxufSJdfQ==
|
|
797
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtZXItc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9jb25zdW1lci1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sZUFBZTtJQUdaO0lBRlosU0FBUyxDQUFNO0lBQ2YsWUFDWSxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUNoQyxDQUFDO0lBQ0wsZUFBZSxDQUFDLElBQUk7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELG1CQUFtQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELGdCQUFnQixDQUFDLFNBQWM7UUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELDJCQUEyQixDQUFDLFNBQVM7UUFDakMsTUFBTSxHQUFHLEdBQUcscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELG1CQUFtQixDQUFDLEdBQUcsRUFBRSxLQUFNO1FBQzNCLE9BQU8sSUFB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VyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELHVCQUF1QixDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLHNCQUFzQixHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQzt3R0FoeEJRLGVBQWU7NEdBQWYsZUFBZSxjQUhaLE1BQU07OzRGQUdULGVBQWU7a0JBSjNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTZXJ2aWNlTWV0YSB9IGZyb20gXCIuL3NlcnZpY2UtbWV0YVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5leHBvcnQgY2xhc3MgQ29uc3VtZXJTZXJ2aWNlIHtcbiAgICBvcmRlcmRhdGE6IGFueTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlbWV0YTogU2VydmljZU1ldGFcbiAgICApIHsgfVxuICAgIHNldE9yZGVyRGV0YWlscyhkYXRhKSB7XG4gICAgICAgIHRoaXMub3JkZXJkYXRhID0gZGF0YTtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5vcmRlcmRhdGEpO1xuICAgIH1cbiAgICBnZXRPcmRlckRldGFpbHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9yZGVyZGF0YTtcbiAgICB9XG4gICAgZ2V0UHJvdmlkZXJDb25zdW1lcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnc3Bjb25zdW1lcicpO1xuICAgIH1cbiAgICB1cGRhdGVTUENvbnN1bWVyKHBvc3RfZGF0YTogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQoJ3NwY29uc3VtZXInLCBwb3N0X2RhdGEpO1xuICAgIH1cbiAgICBnZXRGYXZQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvcHJvdmlkZXJzJyk7XG4gICAgfVxuICAgIHJlbW92ZVByb3ZpZGVyZnJvbUZhdm91cml0ZShhY2NvdW50aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3Byb3ZpZGVycy8nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwRGVsZXRlKHVybCk7XG4gICAgfVxuICAgIGRvRGVsZXRlRmF2UHJvdmlkZXIoZmF2LCBjdGhpcz8pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlRmF2UHJvdmlkZXIoZmF2LmlkKVxuICAgICAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgICAgICBkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZGVsZXRlRmF2UHJvdmlkZXIoaWQpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlUHJvdmlkZXJmcm9tRmF2b3VyaXRlKGlkKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgIGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgncmVsb2FkbGlzdCcpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFkZFByb3ZpZGVydG9GYXZvdXJpdGUoYWNjb3VudGlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wcm92aWRlcnMvJyArIGFjY291bnRpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsKTtcbiAgICB9XG4gICAgY2hhbmdlUGFzc3dvcmRQcm9maWxlKGRhdGEsIG9yaWdpbj8pIHtcbiAgICAgICAgY29uc3QgdXJsID0gb3JpZ2luICsgJy9sb2dpbi9jaHB3ZCc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQodXJsLCBkYXRhKTtcbiAgICB9XG4gICAgY29uc3VtZXJ0ZWxlZ3JhbUNoYXQoY291bnRyeUNvZGUsIGxvZ2luSWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NoYXRib3QvdGVsZWdyYW0vY29uc3VtZXIvY2hhdElkLycgKyBjb3VudHJ5Q29kZSArICcvJyArIGxvZ2luSWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0Q29uc3VtZXJSYXRlU2VydmljZShwYXJhbXMsIHR5cGUpIHtcbiAgICAgICAgbGV0IHBhdGg7XG4gICAgICAgIGlmICh0eXBlID09PSAnY2hlY2tpbicpIHtcbiAgICAgICAgICAgIHBhdGggPSAnY29uc3VtZXIvd2FpdGxpc3QvcmF0aW5nJztcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnYXBwb2ludG1lbnQnKSB7XG4gICAgICAgICAgICBwYXRoID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3JhdGluZyc7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29yZGVyJykge1xuICAgICAgICAgICAgcGF0aCA9ICdjb25zdW1lci9vcmRlcnMvcmF0aW5nJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHBhdGgsIG51bGwsIHBhcmFtcyk7XG4gICAgfVxuICAgIHVwZGF0ZUNvbnN1bWVyUmF0ZVNlcnZpY2UocGFyYW1zLCBkYXRhLCB0eXBlKSB7XG4gICAgICAgIGxldCBwYXRoO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ2NoZWNraW4nKSB7XG4gICAgICAgICAgICBwYXRoID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3JhdGluZyc7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2FwcG9pbnRtZW50Jykge1xuICAgICAgICAgICAgcGF0aCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9yYXRpbmcnO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvcmRlcicpIHtcbiAgICAgICAgICAgIHBhdGggPSAnY29uc3VtZXIvb3JkZXJzL3JhdGluZyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dChwYXRoLCBkYXRhLCBudWxsLCBwYXJhbXMpO1xuICAgIH1cbiAgICBwb3N0Q29uc3VtZXJSYXRlU2VydmljZShwYXJhbXMsIGRhdGEsIHR5cGUpIHtcbiAgICAgICAgbGV0IHBhdGg7XG4gICAgICAgIGlmICh0eXBlID09PSAnY2hlY2tpbicpIHtcbiAgICAgICAgICAgIHBhdGggPSAnY29uc3VtZXIvd2FpdGxpc3QvcmF0aW5nJztcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnYXBwb2ludG1lbnQnKSB7XG4gICAgICAgICAgICBwYXRoID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3JhdGluZyc7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29yZGVyJykge1xuICAgICAgICAgICAgcGF0aCA9ICdjb25zdW1lci9vcmRlcnMvcmF0aW5nJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdChwYXRoLCBkYXRhLCBudWxsLCBwYXJhbXMpO1xuICAgIH1cbiAgICAvL1dhaXRsaXN0IFVybHNcbiAgICBnZXRXYWl0bGlzdChwYXJhbXMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvd2FpdGxpc3QnLCBudWxsLCBwYXJhbXMpO1xuICAgIH1cbiAgICBnZXRXYWl0bGlzdEZ1dHVyZShwYXJhbXM/KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL3dhaXRsaXN0L2Z1dHVyZScsIG51bGwsIHBhcmFtcyk7XG4gICAgfVxuICAgIGFkZENvbnN1bWVyV2FpdGxpc3RBdHRhY2htZW50KGFjY291bnRpZCwgdXVpZCwgYm9keSkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvJyArIHV1aWQgKyAnL2F0dGFjaG1lbnQnICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7O1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xuICAgIH1cbiAgICBhZGRXYWl0bGlzdEF0dGFjaG1lbnQoYWNjb3VudGlkLCB1dWlkLCBib2R5KSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWl0bGlzdC9zaGFyZS9hdHRhY2htZW50cy8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkOztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcbiAgICB9XG4gICAgZ2V0Q29uc3VtZXJXYWl0bGlzdEF0dGFjaG1lbnRzQnlVdWlkKHV1aWQsIGFjY291bnRpZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvYXR0YWNobWVudC8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldFdhaXRsaXN0VG9kYXkoKSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSAnY29uc3VtZXIvd2FpdGxpc3QvdG9kYXknO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHBhdGgpO1xuICAgIH1cbiAgICAvL0FwcG9pbnRtZW50IFVybHNcbiAgICBnZXRBcHBvaW50bWVudEZ1dHVyZShwYXJhbXM/KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL2FwcG9pbnRtZW50L2Z1dHVyZScsIG51bGwsIHBhcmFtcyk7XG4gICAgfVxuICAgIGdldEFwcHRsaXN0KHBhcmFtcykge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KCdjb25zdW1lci9hcHBvaW50bWVudCcsIG51bGwsIHBhcmFtcyk7XG4gICAgfVxuICAgIGdldEFwcG9pbnRtZW50VG9kYXkocGFyYW1zPykge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KCdjb25zdW1lci9hcHBvaW50bWVudC90b2RheScsIG51bGwsIHBhcmFtcyk7XG4gICAgfVxuICAgIGFkZENvbnN1bWVyQXBwb2ludG1lbnRBdHRhY2htZW50KGFjY291bnRpZCwgdXVpZCwgYm9keSkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvJyArIHV1aWQgKyAnL2F0dGFjaG1lbnQnICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7O1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xuICAgIH1cbiAgICBhZGRBcHBvaW50bWVudEF0dGFjaG1lbnQoYWNjb3VudGlkLCB1dWlkLCBib2R5KSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9zaGFyZS9hdHRhY2htZW50cy8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkOztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcbiAgICB9XG4gICAgZ2V0Q29uc3VtZXJBcHBvaW50bWVudEF0dGFjaG1lbnRzQnlVdWlkKHV1aWQsIGFjY291bnRpZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvYXR0YWNobWVudC8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIC8vT3JkZXIgVXJsc1xuICAgIGdldENvbnN1bWVyRnV0T3JkZXJzKCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvb3JkZXJzL2Z1dHVyZSc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0Q29uc3VtZXJPcmRlcnMocGFyYW1zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL29yZGVycycsIG51bGwsIHBhcmFtcyk7XG4gICAgfVxuICAgIC8vRG9uYXRpb24gVXJsc1xuICAgIGdldENvbnN1bWVyRG9uYXRpb25zKHBhcmFtcyA9IG51bGwpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2RvbmF0aW9uJztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwsIG51bGwsIHBhcmFtcyk7XG4gICAgfVxuICAgIGdldENvbnN1bWVyV2FpdGxpc3RNZWV0aW5nRGV0YWlscyh1dWlkLCBtb2RlLCBhY2NvdW50SWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0LycgKyB1dWlkICsgJy9tZWV0aW5nRGV0YWlscy8nICsgbW9kZSArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldENvbnN1bWVyQXBwdE1lZXRpbmdEZXRhaWxzKHV1aWQsIG1vZGUsIGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvJyArIHV1aWQgKyAnL21lZXRpbmdEZXRhaWxzLycgKyBtb2RlICsgJz9hY2NvdW50PScgKyBhY2NvdW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0UHJvZmlsZShjb25zdW1lcklkKSB7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdldE15UHJvZmlsZShjb25zdW1lcklkKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9XG4gICAgZ2V0VGVsZWdyYW1zdGF0KCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvdGVsZWdyYW0vc2V0dGluZ3MnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGVuYWJsZVRlbGVncmFtTm90aShzdGF0dXMpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3RlbGVncmFtL3NldHRpbmdzLycgKyBzdGF0dXM7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQodXJsKTtcbiAgICB9XG4gICAgZ2V0TXlQcm9maWxlKGlkKSB7XG4gICAgICAgIGxldCBwYXRoID0gJ2NvbnN1bWVyLycgKyBpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldChwYXRoKTtcbiAgICB9XG4gICAgdXBkYXRlUHJvZmlsZShkYXRhLCBvcmlnaW4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBhdGNoKG9yaWdpbiwgZGF0YSk7XG4gICAgfVxuICAgIHVwZGF0ZVNQQ29uc3VtZXJQcm9maWxlKGRhdGEsIG9yaWdpbikge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUHV0KG9yaWdpbiwgZGF0YSk7XG4gICAgfVxuICAgIGFkZE1lbWJlcnMoZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCgnY29uc3VtZXIvZmFtaWx5L21lbWJlcicsIGRhdGEpO1xuICAgIH1cbiAgICBlZGl0TWVtYmVyKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCgnY29uc3VtZXIvZmFtaWx5L21lbWJlcicsIGRhdGEpO1xuICAgIH1cbiAgICBnZXRDb25zdW1lclBheW1lbnRzKGZpbHRlcj8pIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3BheW1lbnQnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCwgbnVsbCwgZmlsdGVyKTtcbiAgICB9XG4gICAgZ2V0T3JkZXJCeUNvbnN1bWVyVVVJRCh1dWlkLCBhY2NvdW50aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL29yZGVycy8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldENoZWNraW5CeUNvbnN1bWVyVVVJRCh1dWlkLCBhY2NvdW50aWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJVVUlEOlwiLCB1dWlkKTtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0LycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0QXBwb2ludG1lbnRCeUNvbnN1bWVyVVVJRCh1dWlkLCBhY2NvdW50aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50LycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0Q29uc3VtZXJEb25hdGlvbkJ5VWlkKHVpZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZG9uYXRpb24vJyArIHVpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRDb25zdW1lclBheW1lbnRCeUlkKGlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wYXltZW50LycgKyBpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRNZW1iZXJzKHByb3ZpZGVyQ3VzdG9tZXJJRCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZmFtaWx5L21lbWJlci8nICsgcHJvdmlkZXJDdXN0b21lcklEO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGRlbGV0ZU1lbWJlcihtZW1iZXJJZCwgcGFyZW50SUQpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9ICdjb25zdW1lci9mYW1pbHkvbWVtYmVyLycgKyBtZW1iZXJJZCArICcvJyArIHBhcmVudElEO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwRGVsZXRlKHBhdGgpO1xuICAgIH1cbiAgICBnZXRXYWl0bGlzdEhpc3RvcnkocGFyYW1zID0ge30pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvd2FpdGxpc3QvaGlzdG9yeScsIG51bGwsIHBhcmFtcyk7XG4gICAgICAgIC8vIHNldCBub19yZWRpcmVjdF9wYXRoIGluIGludGVyY2VwdG9yIHRvIGF2b2lkIHJlZGlyZWN0IG9uIDQwMVxuICAgIH1cbiAgICBnZXRIaXN0b3J5V2FpdGxpc3RDb3VudChwYXJhbXMgPSB7fSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KCdjb25zdW1lci93YWl0bGlzdC9oaXN0b3J5L2NvdW50JywgbnVsbCwgcGFyYW1zKTtcbiAgICB9XG4gICAgZ2V0V2FpdGxpc3RCaWxsKHBhcmFtcywgdXVpZCkge1xuICAgICAgICBjb25zdCBwYXRoID0gJ2NvbnN1bWVyL2JpbGwvJyArIHV1aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCwgbnVsbCwgcGFyYW1zKTtcbiAgICB9XG4gICAgZ2V0UGF5bWVudERldGFpbChwYXJhbXMsIHV1aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3BheW1lbnQvZGV0YWlscy8nICsgdXVpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwsIG51bGwsIHBhcmFtcyk7XG4gICAgfVxuICAgIGdldEFwcG9pbnRtZW50SGlzdG9yeShwYXJhbXM/KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL2FwcG9pbnRtZW50L2hpc3RvcnknLCBudWxsLCBwYXJhbXMpO1xuICAgIH1cbiAgICBnZXRBcHBvaW50bWVudEhpc3RvcnlDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvYXBwb2ludG1lbnQvaGlzdG9yeS9jb3VudCcpO1xuICAgIH1cbiAgICBnZXRPcmRlckhpc3RvcnkocGFyYW1zPykge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvb3JkZXJzL2hpc3RvcnknO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCwgbnVsbCwgcGFyYW1zKTtcbiAgICB9XG4gICAgZ2V0UGF5bWVudE1vZGVzb2ZQcm92aWRlcihwcm92aWQsIHNlcnZpY2VJZCwgcHVycG9zZT8pIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3BheW1lbnQvbW9kZXMvc2VydmljZS8nICsgcHJvdmlkICsgJy8nICsgc2VydmljZUlkICsgJy8nICsgcHVycG9zZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBjb25zdW1lclBheW1lbnQoZGF0YSkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcGF5bWVudCc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgZGF0YSk7XG4gICAgfVxuICAgIGNvbnN1bWVyUGF5bWVudF9pbnZvY2llKGRhdGEpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2pwL2ZpbmFuY2UvcGF5JztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBkYXRhKTtcbiAgICB9XG5cbiAgICBhcHBseUNvdXBvbihqQ291cG9uQ29kZSwgY2hlY2tpbklkLCBhY2NvdW50aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2phbGRlZS9jb3Vwb25zLycgKyBqQ291cG9uQ29kZSArICcvJyArIGNoZWNraW5JZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwpO1xuICAgIH1cbiAgICBnZXRDb25zdW1lckNvbW11bmljYXRpb25zKHByb3ZpZGVyX2lkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9jb21tdW5pY2F0aW9ucz9hY2NvdW50PScgKyBwcm92aWRlcl9pZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRXdGxpc3RIaXN0b3J5KHV1aWQsIGFjY291bnRpZCkge1xuICAgICAgICBjb25zdCBwYXRoID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3N0YXRlcy8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHBhdGgpO1xuICAgIH1cbiAgICBnZXRXYWl0bGlzdFF1ZXN0aW9ubmFpcmVCeVVpZCh1aWQsIGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvcXVlc3Rpb25uYWlyZS8nICsgdWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0QXBwdEhpc3RvcnkodXVpZCwgYWNjb3VudGlkKSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvc3RhdGUvJyArIHV1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldChwYXRoKTtcbiAgICB9XG4gICAgZ2V0QXBwdFF1ZXN0aW9ubmFpcmVCeVVpZCh1aWQsIGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvcXVlc3Rpb25uYWlyZS8nICsgdWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0QXBwb2ludG1lbnREZXRhaWwodXVpZCwgcGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvJyArIHV1aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCwgbnVsbCwgcGFyYW1zKTtcbiAgICB9XG4gICAgZ2V0SmFsZGVlQ2FzaGFuZEpjcmVkaXQoKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWxsZXQvcmVkZWVtL2VsaWdpYmxlL2FtdCc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0UmVtYWluaW5nUHJlcGF5bWVudEFtb3VudChqY2FzaD8sIGpjcmVkaXQ/LCBhZHZhbmNlYW1vdW50Pykge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FsbGV0L3JlZGVlbS9yZW1haW5pbmcvYW10JyArICc/dXNlSmNhc2g9JyArIGpjYXNoICsgJyZ1c2VKY3JlZGl0PScgKyBqY3JlZGl0ICsgJyZhZHZhbmNlUGF5QW1vdW50PScgKyBhZHZhbmNlYW1vdW50O1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIFBheUJ5SmFsZGVld2FsbGV0KHBvc3REYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KCdjb25zdW1lci9wYXltZW50L3dhbGxldCcsIHBvc3REYXRhKTtcbiAgICB9XG4gICAgZ2V0V2FpdGxpc3REZXRhaWwodXVpZCwgcGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSAnY29uc3VtZXIvd2FpdGxpc3QvJyArIHV1aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCwgbnVsbCwgcGFyYW1zKTtcbiAgICB9XG4gICAgZ2VuZXJhdGVEb25hdGlvbkxpbmsoYWNjb3VudGlkLCBkYXRhKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wYXltZW50L2dlbmVyYXRlL3BheWxpbms/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xuICAgIH1cbiAgICBhZGRDdXN0b21lckRvbmF0aW9uKHBvc3REYXRhLCBhY2NvdW50aWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QoJ2NvbnN1bWVyL2RvbmF0aW9uP2FjY291bnQ9JyArIGFjY291bnRpZCwgcG9zdERhdGEpO1xuICAgIH1cbiAgICBnZXREb25hdGlvbkxpbmtVdWlkKHV1aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3BheW1lbnQvcGF5bGluay9kb25hdGlvbi8nICsgdXVpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBhZGRDb25zdW1lcldhaXRsaXN0Tm90ZShhY2NvdW50aWQsIHV1aWQsIGJvZHkpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0L2NvbW11bmljYXRpb24vJyArIHV1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcbiAgICB9XG4gICAgZ2V0RG9uYXRpb25RdWVzdGlvbm5haXJlKHNlcnZpY2VJZCwgYWNjb3VudF9pZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcXVlc3Rpb25uYWlyZS9kb25hdGlvbi8nICsgc2VydmljZUlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50X2lkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIHN1Ym1pdERvbmF0aW9uUXVlc3Rpb25uYWlyZSh1dWlkLCBib2R5LCBhY2NvdW50X2lkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9kb25hdGlvbi9xdWVzdGlvbm5haXJlL3N1Ym1pdC8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudF9pZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcbiAgICB9XG4gICAgY29uc3VtZXJEb25hdGlvblFuclVwbG9hZFN0YXR1c1VwZGF0ZSh1aWQsIGFjY291bnQsIGRhdGEpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2RvbmF0aW9uL3F1ZXN0aW9ubmFpcmUvdXBsb2FkL3N0YXR1cy8nICsgdWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50O1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUHV0KHVybCwgZGF0YSk7XG4gICAgfVxuICAgIHZhbGlkYXRlQ29uc3VtZXJRdWVzdGlvbm5haXJlKGJvZHksIGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcXVlc3Rpb25uYWlyZS92YWxpZGF0ZScgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGJvZHkpO1xuICAgIH1cbiAgICB2YWxpZGF0ZUNvbnN1bWVyT25lVGltZVF1ZXN0aW9ubmFpcmUoYm9keSwgYWNjb3VudElkLCBwcm92aWRlckNvbnN1bWVySWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGUvb25ldGltZXF1ZXN0aW9ubmFpcmUvJyArIHByb3ZpZGVyQ29uc3VtZXJJZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xuICAgIH1cbiAgICBnZXRQcm92aWRlckN1c3RvbWVyT25ldGltZUluZm8ocHJvdmlkZXJDb25zdW1lcklELCBhY2NvdW50SWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3Byb3ZpZGVyQ3VzdG9tZXIvJyArIHByb3ZpZGVyQ29uc3VtZXJJRCArIFwiP2FjY291bnQ9XCIgKyBhY2NvdW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgc3VibWl0Q3VzdG9tZXJPbmV0aW1lSW5mbyhib2R5LCB1c2VySWQsIGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcXVlc3Rpb25uYWlyZS8nICsgdXNlcklkICsgJz9hY2NvdW50PScgKyBhY2NvdW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XG4gICAgfVxuICAgIHN1Ym1pdENvbnN1bWVyQXBwdFNlcnZpY2VPcHRpb24oYm9keSwgdXVpZCwgYWNjb3VudCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvc2VydmljZW9wdGlvbi8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcbiAgICB9XG4gICAgcmVzY2hlZHVsZUNvbnN1bWVyQXBwdG1udChhY2NvdW50aWQsIHBvc3REYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQoJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3Jlc2NoZWR1bGU/YWNjb3VudD0nICsgYWNjb3VudGlkLCBwb3N0RGF0YSk7XG4gICAgfVxuXG4gICAgYWRkQ3VzdG9tZXJBcHBvaW50bWVudChhY2NvdW50aWQsIHBvc3REYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KCdjb25zdW1lci9hcHBvaW50bWVudC9hZGQ/YWNjb3VudD0nICsgYWNjb3VudGlkLCBwb3N0RGF0YSk7XG4gICAgfVxuICAgIGdldENvbnZlbmllbnRGZWVPZlByb3ZpZGVyKHByb3ZpZCwgZGF0YT8pIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3BheW1lbnQvbW9kZXMvY29udmVuaWVuY2VGZWUvJyArIHByb3ZpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGRhdGEpO1xuICAgIH1cbiAgICBhZGRBcHB0QWR2YW5jZVBheW1lbnQocGFyYW0sIGJvZHkpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L2FkdmFuY2VQYXltZW50JztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGJvZHksIG51bGwsIHBhcmFtKTtcbiAgICB9XG4gICAgZ2V0Q29uc3VtZXJRdWVzdGlvbm5haXJlKHNlcnZpY2VJZCwgY29uc3VtZXJJZCwgYWNjb3VudElkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9xdWVzdGlvbm5haXJlL3NlcnZpY2UvJyArIHNlcnZpY2VJZCArICcvY29uc3VtZXIvJyArIGNvbnN1bWVySWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRTZXJ2aWNlb3B0aW9uc0FwcHQoc2VydmlkLCBhY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9xdWVzdGlvbm5haXJlL3NlcnZpY2VvcHRpb25zLycgKyBzZXJ2aWQgKyAnLzA/YWNjb3VudD0nICsgYWNjb3VudDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRBcHBvaW50bWVudFJlc2NoZWR1bGVQcmljZWxpc3Qoc2VydmljZWlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9zY2hlZHVsZS8nICsgc2VydmljZWlkICsgJy9wcmljZWxpc3QnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldFNsb3RzQnlMb2NhdGlvblNlcnZpY2VhbmREYXRlKGxvY2lkLCBzZXJ2aWQsIHBkYXRlLCBhY2NvdW50aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3NjaGVkdWxlL2RhdGUvJyArIHBkYXRlICsgJy9sb2NhdGlvbi8nICsgbG9jaWQgKyAnL3NlcnZpY2UvJyArIHNlcnZpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldEF2YWlsYWJsZURhdGVzc0J5TG9jYXRpb25TZXJ2aWNlKGxvY2lkLCBzZXJ2aWQsIGFjY291bnRpZD8pIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L2F2YWlsYWJpbGl0eS9sb2NhdGlvbi8nICsgbG9jaWQgKyAnL3NlcnZpY2UvJyArIHNlcnZpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldFNlcnZpY2VzZm9yQXBwb250bW50QnlMb2NhdGlvbklkKGxvY2lkKSB7XG4gICAgICAgIGlmIChsb2NpZCkge1xuICAgICAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3NlcnZpY2UvJyArIGxvY2lkO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXNjaGVkdWxlQ29uc3VtZXJXYWl0bGlzdChhY2NvdW50aWQsIHBvc3REYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQoJ2NvbnN1bWVyL3dhaXRsaXN0L3Jlc2NoZWR1bGU/YWNjb3VudD0nICsgYWNjb3VudGlkLCBwb3N0RGF0YSk7XG4gICAgfVxuICAgIGdldFF1ZXVlc2J5TG9jYXRpb25hbmRTZXJ2aWNlSWRBdmFpbGFibGVEYXRlcyhsb2NpZCwgc2VydmlkLCBhY2NvdW50aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3F1ZXVlcy9hdmFpbGFibGUvJyArIGxvY2lkICsgJy8nICsgc2VydmlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgYWRkQ2hlY2tpbihhY2NvdW50aWQsIHBvc3REYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KCdjb25zdW1lci93YWl0bGlzdC9hZGQ/YWNjb3VudD0nICsgYWNjb3VudGlkLCBwb3N0RGF0YSk7XG4gICAgfVxuICAgIHN1Ym1pdENvbnN1bWVyV2FpdGxpc3RTZXJ2aWNlT3B0aW9uKGJvZHksIHV1aWQsIGFjY291bnQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3NlcnZpY2VvcHRpb24vJyArIHV1aWQgKyAnLz9hY2NvdW50PScgKyBhY2NvdW50O1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xuICAgIH1cbiAgICBnZXRQYXJ0eXNpemVEZXRhaWxzKGRvbWFpbiwgc3ViZG9tYWluKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICd5bndDb25mL3NldHRpbmdzLycgKyBkb21haW4gKyAnLycgKyBzdWJkb21haW47XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgYWRkV2FpdGxpc3RBZHZhbmNlUGF5bWVudChwYXJhbSwgYm9keSkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvYWR2YW5jZVBheW1lbnQnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUHV0KHVybCwgYm9keSwgbnVsbCwgcGFyYW0pO1xuICAgIH1cbiAgICBnZXRTZXJ2aWNlb3B0aW9uc1dhaXRsaXN0KHNlcnZpZCwgYWNjb3VudCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvcXVlc3Rpb25uYWlyZS9zZXJ2aWNlb3B0aW9ucy8nICsgc2VydmlkICsgJy8wP2FjY291bnQ9JyArIGFjY291bnQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0UXVldWVzYnlMb2NhdGlvbmFuZFNlcnZpY2VJZChsb2NpZCwgc2VydmlkLCBwZGF0ZT8sIGFjY291bnRpZD8pIHtcbiAgICAgICAgY29uc3QgZGQgPSAocGRhdGUgIT09IHVuZGVmaW5lZCkgPyAnLycgKyBwZGF0ZSArICc/YWNjb3VudD0nICsgYWNjb3VudGlkIDogJyc7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci93YWl0bGlzdC9xdWV1ZXMvJyArIGxvY2lkICsgJy8nICsgc2VydmlkICsgZGQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0U2VydmljZXNCeUxvY2F0aW9uSWQobG9jaWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3NlcnZpY2VzLycgKyBsb2NpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRPcmRlclF1ZXN0aW9ubmFpcmVCeVVpZCh1aWQsIGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvb3JkZXJzL3F1ZXN0aW9ubmFpcmUvJyArIHVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldFN0b3JlQ29udGFjdChhY2NvdW50aWQ/KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL29yZGVycy9zZXR0aW5ncy9zdG9yZS9jb250YWN0L2luZm8vJyArIGFjY291bnRpZCk7XG4gICAgfVxuICAgIGdldENvbnN1bWVyQ2F0YWxvZ3MoYWNjb3VudGlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9vcmRlcnMvY2F0YWxvZ3MvJyArIGFjY291bnRpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRBdmFpbGFibGVEYXRlc0ZvckhvbWUoY2F0YWxvZ2lkLCBhY2NvdW50aWQ/KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL29yZGVycy9jYXRhbG9ncy9kZWxpdmVyeS9kYXRlcy8nICsgY2F0YWxvZ2lkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQpO1xuICAgIH1cbiAgICBnZXRBdmFpbGFibGVEYXRlc0ZvclBpY2t1cChjYXRhbG9naWQsIGFjY291bnRpZD8pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCgnY29uc3VtZXIvb3JkZXJzL2NhdGFsb2dzL3BpY2tVcC9kYXRlcy8nICsgY2F0YWxvZ2lkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQpO1xuICAgIH1cbiAgICB1cGRhdGVDb25zdW1lcmFkZHJlc3MoZGF0YSkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZGVsaXZlcnlBZGRyZXNzJztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGRhdGEpO1xuICAgIH1cbiAgICBDcmVhdGVDb25zdW1lck9yZGVyKGFjY291bnRpZCwgcG9zdERhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QoJ2NvbnN1bWVyL29yZGVycz9hY2NvdW50PScgKyBhY2NvdW50aWQsIHBvc3REYXRhKTtcbiAgICB9XG4gICAgQ3JlYXRlQ29uc3VtZXJFbWFpbCh1dWlkLCBhY2NvdW50aWQsIHBvc3RfRGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUHV0KCdjb25zdW1lci9vcmRlcnMvJyArIHV1aWQgKyAnL2VtYWlsP2FjY291bnQ9JyArIGFjY291bnRpZCwgcG9zdF9EYXRhKTtcbiAgICB9XG4gICAgZ2V0Q29uc3VtZXJPcmRlclF1ZXN0aW9ubmFpcmUoY2F0ZWxvZ0lkLCBhY2NvdW50SWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvb3JkZXIvJyArIGNhdGVsb2dJZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldENvbnN1bWVyYWRkcmVzcygpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2RlbGl2ZXJ5QWRkcmVzcyc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0Q2FydGRldGFpbHMoYWNjb3VudGlkLCBkYXRhKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9vcmRlcnMvYW1vdW50P2FjY291bnQ9JyArIGFjY291bnRpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIGRhdGEpO1xuICAgIH1cbiAgICBnZXRVc2VyQXBwdFRpbWUocHJvdl9hcnIpIHtcbiAgICAgICAgaWYgKHByb3ZfYXJyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvc2NoZWR1bGUvbmV4dEF2YWlsYWJsZVNjaGVkdWxlLycgKyBwcm92X2Fyci5qb2luKCcsJyk7XG4gICAgICAgICAgICBjb25zdCBlbmNvZGVkUGF0aCA9IGVuY29kZVVSSShwYXRoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoZW5jb2RlZFBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyBnZXRVc2VyRXN0aW1hdGVkV2FpdGluZ1RpbWUocHJvdl9hcnIpIHtcbiAgICAvLyAgICAgbGV0IHN0ciA9ICcnO1xuICAgIC8vICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3ZfYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgLy8gICAgICAgICBpZiAoc3RyICE9PSAnJykge1xuICAgIC8vICAgICAgICAgICAgIHN0ciArPSAnJTJDJzsgLy8gY29tbWFcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgICAgIHN0ciArPSBwcm92X2FycltpXTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBpZiAoc3RyID09PSAnJykge1xuICAgIC8vICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICBjb25zdCBwYXRoID0gJ3Byb3ZpZGVyL3dhaXRsaXN0L3F1ZXVlcy9wcm92aWRlcldhaXRpbmdUaW1lLycgKyBzdHI7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQocGF0aCk7XG4gICAgLy8gfVxuICAgIC8vIHVwZGF0ZUFuYWx5dGljcyhib2R5KSB7XG4gICAgLy8gICAgIGNvbnN0IHVybCA9ICdwcm92aWRlci9hbmFseXRpY3MvdXBkYXRlJztcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcbiAgICAvLyB9XG4gICAgLy8gZ2V0U2VhcmNoQ2F0YWxvZ0l0ZW0oYWNjb3VudDogYW55LCB0ZW1wTmFtZTogYW55LCBuYW1lOiBhbnkpIHtcbiAgICAvLyAgICAgY29uc3QgdXJsID0gcHJvamVjdENvbnN0YW50cy5TQVBBVEggKyAnc2VhcmNoZGV0YWlscy8nICsgYWNjb3VudCArICcvSXRlbS9zZWFyY2g/JyArIHRlbXBOYW1lICsgJz0nICsgbmFtZSArICcqJztcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIC8vIH1cbiAgICBnZXRPcmRlclNldHRpbmdzKGFjY291bnRpZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvb3JkZXJzL3NldHRpbmdzJyArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGFkZENvbnN1bWVydG9Qcm92aWRlck5vdGUobWVzc2FnZSwgZmlsdGVyKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9tZXNzYWdlL2NvbW11bmljYXRpb25zJztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBtZXNzYWdlLCBudWxsLCBmaWx0ZXIpO1xuICAgIH1cbiAgICB0ZWxlZ3JhbUNoYXQoY291bnRyeUNvZGUsIHBoTnVtYmVyKSB7XG4gICAgICAgIGlmIChjb3VudHJ5Q29kZSA9PT0gJycpIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9ICdjaGF0Ym90L3RlbGVncmFtL3Byb3ZpZGVyL2NoYXRJZC85MS8nICsgcGhOdW1iZXI7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSAnY2hhdGJvdC90ZWxlZ3JhbS9wcm92aWRlci9jaGF0SWQvJyArIGNvdW50cnlDb2RlICsgJy8nICsgcGhOdW1iZXI7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gYWRkUHJvdmlkZXJBcHBvaW50bWVudE5vdGUodXVpZCwgYm9keSkge1xuICAgIC8vICAgICBjb25zdCB1cmwgPSAncHJvdmlkZXIvYXBwb2ludG1lbnQvY29tbXVuaWNhdGUvJyArIHV1aWQ7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XG4gICAgLy8gfVxuICAgIC8vIGFkZFByb3ZpZGVyT3JkZXJOb3RlKHV1aWQsIGJvZHkpIHtcbiAgICAvLyAgICAgY29uc3QgdXJsID0gJ3Byb3ZpZGVyL29yZGVycy9jb21tdW5pY2F0ZS8nICsgdXVpZDtcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBib2R5KTtcbiAgICAvLyB9XG4gICAgLy8gYWRkUHJvdmlkZXJEb25hdGlvbk5vdGUodXVpZCwgYm9keSkge1xuICAgIC8vICAgICBjb25zdCB1cmwgPSAncHJvdmlkZXIvZG9uYXRpb24vY29tbXVuaWNhdGUvJyArIHV1aWQ7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XG4gICAgLy8gfVxuICAgIC8vIGFkZFByb3ZpZGVyV2FpdGxpc3ROb3RlKHV1aWQsIGJvZHkpIHtcbiAgICAvLyAgICAgY29uc3QgdXJsID0gJ3Byb3ZpZGVyL3dhaXRsaXN0L2NvbW11bmljYXRlLycgKyB1dWlkO1xuICAgIC8vICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xuICAgIC8vIH1cbiAgICBnZXRNZW1iZXJzaGlwKGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvbWVtYmVyc2hpcC9zZXJ2aWNlcz9hY2NvdW50PScgKyBhY2NvdW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgYWRkQ29uc3VtZXJBcHBvaW50bWVudE5vdGUoYWNjb3VudGlkLCB1dWlkLCBib2R5KSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC9jb21tdW5pY2F0ZS9tZXNzYWdlLycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XG4gICAgfVxuXG4gICAgYWRkQ29uc3VtZXJPcmRlck5vdGUoYWNjb3VudGlkLCB1dWlkLCBib2R5KSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9vcmRlci9jb21tdW5pY2F0ZS8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xuICAgIH1cbiAgICBhZGRDb25zdW1lck9yZGVyTm90ZWNvbW0oYWNjb3VudGlkLCB1dWlkLCBib2R5KSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9vcmRlcnMvY29tbXVuaWNhdGUvbWVzc2FnZS8nICsgdXVpZCArICc/YWNjb3VudD0nICsgYWNjb3VudGlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGJvZHkpO1xuICAgIH1cbiAgICBhZGRDb25zdW1lckRvbmF0aW9uTm90ZShhY2NvdW50aWQsIHV1aWQsIGJvZHkpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2RvbmF0aW9uL2NvbW11bmljYXRlLycgKyB1dWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XG4gICAgfVxuICAgIGRlYWN0aXZlQWNjb3VudCh1c2VyOiBhbnkpIHtcbiAgICAgICAgY29uc3QgdXJsID0gdXNlciArICcvbG9naW4vZGVBY3RpdmF0ZSc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBEZWxldGUodXJsKTtcbiAgICB9XG4gICAgZ2V0Q2F0YWxvZ0J5SWQoY2F0YWxvZ3MsIGNhdGFsb2dJZCkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkNBdGFsb2dzOlwiLCBjYXRhbG9ncyk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiSUQ6XCIsIGNhdGFsb2dJZCk7XG4gICAgICAgIGxldCBjYXRhbG9nQXJyYXkgPSBjYXRhbG9ncy5maWx0ZXIoY2F0YWxvZyA9PiBjYXRhbG9nLmlkID09IGNhdGFsb2dJZCk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiQ2F0YWxvZ0FycmF5XCIsIGNhdGFsb2dBcnJheSk7XG4gICAgICAgIGlmIChjYXRhbG9nQXJyYXkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGNhdGFsb2dBcnJheVswXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZ2V0Q2F0YWxvZ0l0ZW1CeUlkKGNhdGFsb2csIGNhdGFsb2dJdGVtSWQpIHtcbiAgICAgICAgbGV0IGNhdGFsb2dJdGVtQXJyYXkgPSBjYXRhbG9nLmNhdGFsb2dJdGVtLmZpbHRlcihjYXRhbG9nSXRlbSA9PiBjYXRhbG9nSXRlbS5pZCA9PSBjYXRhbG9nSXRlbUlkKTtcbiAgICAgICAgaWYgKGNhdGFsb2dJdGVtQXJyYXkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGNhdGFsb2dJdGVtQXJyYXlbMF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogQHBhcmFtIG9yZGVycyBcbiAgICAgKiBAcGFyYW0gaXRlbSBcbiAgICAgKiBAcmV0dXJucyBcbiAgICAgKi9cbiAgICBnZXRJdGVtUXR5KG9yZGVycywgaXRlbUlkKSB7XG4gICAgICAgIGNvbnN0IG9yZGVyTGlzdCA9IG9yZGVycztcbiAgICAgICAgY29uc29sZS5sb2coXCJDYXJ0IEl0ZW1zOlwiLCBvcmRlckxpc3QpO1xuICAgICAgICBsZXQgcXR5ID0gMDtcbiAgICAgICAgaWYgKG9yZGVyTGlzdCAhPT0gbnVsbCAmJiBvcmRlckxpc3QuZmlsdGVyKGkgPT4gaS5pZCA9PSBpdGVtSWQpKSB7XG4gICAgICAgICAgICBxdHkgPSBvcmRlckxpc3QuZmlsdGVyKGkgPT4gaS5pZCA9PSBpdGVtSWQpLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXR5O1xuICAgIH1cbiAgICBnZXRBcHB0UmVxdWVzdExpc3QoYWNjb3VudElkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQoJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3NlcnZpY2UvcmVxdWVzdD9hY2NvdW50LWVxPScgKyBhY2NvdW50SWQpO1xuICAgIH1cbiAgICBwb3N0QXBwb2ludG1lbnRSZXF1ZXN0KGFjY291bnRpZCwgcG9zdERhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QoJ2NvbnN1bWVyL2FwcG9pbnRtZW50L3NlcnZpY2UvcmVxdWVzdD9hY2NvdW50PScgKyBhY2NvdW50aWQsIHBvc3REYXRhKTtcbiAgICB9XG4gICAgZ2V0UHJlc2NyaXB0aW9ucygpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ3NwY29uc3VtZXIvbWVkaWNhbHJlY29yZC9wcmVzY3JpcHRpb24nO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIHN1Ym1pdEl0ZW1PcHRpb25zKGl0ZW1JZCwgb3JkZXJJZCwgYWNjb3VudElkLCBwb3N0RGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCgnY29uc3VtZXIvb3JkZXJzL2l0ZW0vc2VydmljZW9wdGlvbi8nICsgaXRlbUlkICsgJy8nICsgb3JkZXJJZCArICc/YWNjb3VudD0nICsgYWNjb3VudElkLCBwb3N0RGF0YSk7XG4gICAgfVxuICAgIGdldFNlcnZpY2VvcHRpb25zT3JkZXIoaXRlbUlkLCBhY2NvdW50KSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9xdWVzdGlvbm5haXJlL3NlcnZpY2VvcHRpb25zL29yZGVyL2l0ZW0vJyArIGl0ZW1JZCArICc/YWNjb3VudD0nICsgYWNjb3VudDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICByZW1vdmVQcm9maWxlUGhvdG8oY29uc3VtZXJJZCwgYm9keSkge1xuICAgICAgICBjb25zdCBwYXRoID0gJ3NwY29uc3VtZXIvcmVtb3ZlL3Byb2ZpbGVQaG90by8nICsgY29uc3VtZXJJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cERlbGV0ZShwYXRoLCBib2R5KTtcbiAgICB9XG4gICAgYWRkUHJvZmlsZVBob3RvKGN1c3RvbWVySWQ6IG51bWJlciwgcG9zdF9kYXRhOiBhbnkpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ3NwY29uc3VtZXIvdXBsb2FkL3Byb2ZpbGVQaG90by8nICsgY3VzdG9tZXJJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBwb3N0X2RhdGEpO1xuICAgIH1cbiAgICBnZXREb2N1bWVudCgpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ3NwY29uc3VtZXIvbWVkaWNhbHJlY29yZC9wcmVzY3JpcHRpb24nO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldEl0ZW1zTGlzdFdpdGhJdGVtT3B0aW9ucyhjYXRhbG9nSWQsIGFjY291bnQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3F1ZXN0aW9ubmFpcmUvc2VydmljZW9wdGlvbi9vcmRlci9jYXRhbG9nL2l0ZW0vJyArIGNhdGFsb2dJZCArICcvT05MSU5FP2FjY291bnQ9JyArIGFjY291bnQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgdmlkZW9hdWRpb1MzVXBsb2FkKHVybCwgZmlsZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIlZpZGVvQXVkaW8gVXBsb2FkXCIsIHVybCk7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQdXQodXJsLCBmaWxlKTtcbiAgICB9XG4gICAgZ2V0QXBwdENvdXBvbnMoc2VydklkLCBsb2NJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvc2VydmljZS8nICsgc2VydklkICsgJy9sb2NhdGlvbi8nICsgbG9jSWQgKyAnL2NvdXBvbnMnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldENoZWNraW5Db3Vwb25zKHNlcnZJZCwgbG9jSWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3dhaXRsaXN0L3NlcnZpY2UvJyArIHNlcnZJZCArICcvbG9jYXRpb24vJyArIGxvY0lkICsgJy9jb3Vwb25zJztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRDaGVja2luYnlFbmNJZChlbmNJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvZW5jLycgKyBlbmNJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRBcHB0YnlFbmNJZChlbmNJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYXBwb2ludG1lbnQvZW5jLycgKyBlbmNJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRPcmRlcmJ5RW5jSWQoZW5jSWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL29yZGVycy9lbmMvJyArIGVuY0lkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldFNvcmRlcmJ5RW5jSWQoZW5jSWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL3NvcmRlci9lbmNJZC8nICsgZW5jSWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0SXZyUXVlc3Rpb25uYWlyZUJ5VWlkKHVpZCwgYWNjb3VudElkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9pdnIvcXVlc3Rpb25uYWlyZS8nICsgdWlkICsgJz9hY2NvdW50PScgKyBhY2NvdW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0aXZyQnlDb25zdW1lclVVSUQodXVpZCwgYWNjb3VudGlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9pdnIvJyArIHV1aWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRBcHBvaW50bWVudEJ5SWQoYXBwbW50SWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ3Byb3ZpZGVyL2FwcG9pbnRtZW50LycgKyBhcHBtbnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRQcm92aWRlck9yZGVyRGV0YWlsQnlJZCh1dWlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdwcm92aWRlci9vcmRlcnMvJyArIHV1aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0UHJvdmlkZXJXYWl0bGlzdERldGFpbEJ5SWQodXVpZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAncHJvdmlkZXIvd2FpdGxpc3QvJyArIHV1aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgUGF5bWVudGxpbmtjaGVjayh1dWlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9wYXltZW50L3BheS8nICsgdXVpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRJZFRlcm1pbm9sb2dpZXMoZG9tYWluLCBzdWJEb21haW4pIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ3lud0NvbmYvdGVybWlub2xvZ2llcy8nICsgZG9tYWluICsgJy8nICsgc3ViRG9tYWluO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGxpbmtQYXltZW50KGRhdGEpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ3Byb3ZpZGVyL3BheW1lbnQvcGF5bGluay9vcmRlci9jcmVhdGUnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xuICAgIH1cbiAgICBsaW5rUGF5bWVudF9pbnZvaWMoZGF0YSkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvanAvZmluYW5jZS9wYXknO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xuICAgIH1cbiAgICBsaW5rTWVtYmVyc2hpcFBheW1lbnRfaW52b2ljKGRhdGEpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL21lbWJlcnNoaXAvcGF5JztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBkYXRhKTtcbiAgICB9XG4gICAgZ2V0bWVtYmVyc2hpcEludm9jaWVEZXRhaWxzQnlJZCh1dWlkLGFjY0lkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9tZW1iZXJzaGlwL21lbWJlci9zdWJzY3JpcHRpb24vJyArIHV1aWQgKyAnP2FjY291bnQ9JyArIGFjY0lkOztcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBsaW5rU29QYXltZW50X2ludm9pYyhkYXRhKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9zby9wYXknO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xuICAgIH1cbiAgICBnZXRJbnZvaWNlRGV0YWlsc0J5SWQoYWNjSWQsIHV1aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2pwL2ZpbmFuY2UvaW52b2ljZS8nICsgYWNjSWQgKyAnLycgKyB1dWlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldFNvSW52b2ljZURldGFpbHNCeUlkKGFjY0lkLCB1dWlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9zby9pbnZvaWNlLycgKyBhY2NJZCArICcvJyArIHV1aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgdXBsb2FkRmlsZXNUb1MzKGRhdGEsIGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZmlsZVNoYXJlL3VwbG9hZCcgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBvc3QodXJsLCBkYXRhKTtcbiAgICB9XG4gICAgdmlkZW9hdWRpb1MzVXBsb2FkU3RhdHVzVXBkYXRlKHN0YXR1cywgaWQsIGFjY291bnRJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvZmlsZVNoYXJlL3VwbG9hZC8nICsgc3RhdHVzICsgJy8nICsgaWQgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwsIG51bGwpO1xuICAgIH1cbiAgICBnZXRBcHB0QmlsbCh1dWlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9hcHBvaW50bWVudC8nICsgdXVpZCArICcvJyArICdiaWxsZGV0YWlscyc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0V2FpdEJpbGwodXVpZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvd2FpdGxpc3QvJyArIHV1aWQgKyAnLycgKyAnYmlsbGRldGFpbHMnO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIGdldEludm9pY2VEZXRhaWxzQnl1dWlkKHV1aWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2pwL2ZpbmFuY2UvaW52b2ljZS95bnd1aWQnICsgJy8nICsgdXVpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwpO1xuICAgIH1cbiAgICBnZXRJbnZvaWNlKGFjY291bnRJZCwgaW52b2ljZVVpZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvanAvZmluYW5jZS9pbnZvaWNlJyArICcvJyArIGFjY291bnRJZCArICcvJyArIGludm9pY2VVaWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgZ2V0Q29uc2VudEZvcm0oaWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2NvbnNlbnRmb3JtLycgKyBpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cEdldCh1cmwsIG51bGwpO1xuICAgIH1cbiAgICBnZXRjb25zZW50Rm9ybVF1ZXN0aW9uYWlyZSh1dWlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9jb25zZW50Zm9ybS9xdWVzdGlvbm5haXJlLycgKyB1dWlkO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVybCk7XG4gICAgfVxuICAgIHN1Ym1pdFF1ZXN0aW9ubmFpcmUoYm9keSwgdXVpZCkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvY29uc2VudGZvcm0vcXVlc3Rpb25uYWlyZS9zdWJtaXQvJyArIHV1aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XG4gICAgfVxuICAgIHZlcmlmeVNpZ24odXVpZCwgYm9keSkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvY29uc2VudGZvcm0vdmVyaWZ5c2lnbi8nICsgdXVpZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFBhdGNoKHVybCwgYm9keSk7XG4gICAgfVxuICAgIHZlcmlmeVFucih1dWlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9jb25zZW50Zm9ybS92ZXJpZnlTdGF0dXMvJyArIHV1aWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG4gICAgaXNQcm92aWRlclJlYWR5KHBvc3RfZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUHV0KCdjb25zdW1lci9hcHBvaW50bWVudC92aWRlb2NhbGwvcmVhZHknLCBwb3N0X2RhdGEpO1xuICAgIH1cbiAgICB1cGRhdGVBbmFseXRpY3MoYm9keSkge1xuICAgICAgICBjb25zdCB1cmwgPSAnY29uc3VtZXIvYW5hbHl0aWNzL3VwZGF0ZSc7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBQb3N0KHVybCwgYm9keSk7XG4gICAgfVxuICAgIGdldFVzZXJzQnlMb2NhdGlvbihsb2NhdGlvbklkLCB1bmlxdWVJZCwgbGlzdE9mVXJscykge1xuICAgICAgICBsZXQgcGF0aCA9ICdwcm92aWRlci9hY2NvdW50L3NldHRpbmdzL2xvY2F0aW9uLycgKyBsb2NhdGlvbklkICsgJy8nICsgdW5pcXVlSWQgKyAnLycgKyBsaXN0T2ZVcmxzO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHBhdGgpO1xuICAgIH1cbiAgICBnZXRJbmJveCh1c2VydHlwZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwR2V0KHVzZXJ0eXBlICsgJy9jb21tdW5pY2F0aW9ucycpO1xuICAgIH1cbiAgICByZWFkUHJvdmlkZXJNZXNzYWdlcyhwcm92aWRlcklkLCBtZXNzYWdlSWRzLCBhY2NvdW50SWQpIHtcbiAgICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2NvbW11bmljYXRpb25zL3JlYWRNZXNzYWdlcy8nICsgcHJvdmlkZXJJZCArICcvJyArIG1lc3NhZ2VJZHMgKyAnP2FjY291bnQ9JyArIGFjY291bnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZW1ldGEuaHR0cFB1dCh1cmwpO1xuICAgIH1cbiAgICBsaW5rSXBQYXltZW50X2ludm9pYyhkYXRhKSB7XG4gICAgICAgIGNvbnN0IHVybCA9ICdjb25zdW1lci9pcC9wYXknO1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlbWV0YS5odHRwUG9zdCh1cmwsIGRhdGEpO1xuICAgIH1cbiAgICBnZXRJcEludm9pY2VEZXRhaWxzQnlJZChhY2NJZCwgdXVpZCkge1xuICAgICAgY29uc3QgdXJsID0gJ2NvbnN1bWVyL2lwL2ludm9pY2UvJyArIGFjY0lkICsgJy8nICsgdXVpZDtcbiAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VtZXRhLmh0dHBHZXQodXJsKTtcbiAgICB9XG59Il19
|
|
@@ -9,4 +9,4 @@ export class CurrencyService {
|
|
|
9
9
|
return '₹' + ' ' + price.toFixed(2);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9jdXJyZW5jeS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsVUFBVSxDQUFDO0lBQ1AsVUFBVSxFQUFFLE1BQU07Q0FDckIsQ0FBQyxDQUFBO0FBRUYsTUFBTSxPQUFPLGVBQWU7SUFFeEI7SUFDQSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBVTtRQUM5QixPQUFPLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuSW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cblxuICAgIHByaW50X1ByaWNld2l0aEN1cnJlbmN5KHByaWNlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuICfDouKAmsK5JyArICcgJyArIHByaWNlLnRvRml4ZWQoMik7XG4gICAgfVxufVxuIl19
|
|
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
20
20
|
providedIn: 'root'
|
|
21
21
|
}]
|
|
22
22
|
}], ctorParameters: () => [] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9lbnZpcm9ubWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsZ0JBQWdCLENBQUM7SUFFVCxXQUFXLEdBQVEsRUFBRSxDQUFDO0lBRTlCLHdDQUF3QztJQUN4QyxjQUFjLENBQUMsV0FBZ0I7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztJQUVDLGtDQUFrQztJQUNsQyxjQUFjLENBQUMsR0FBVztRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzt3R0FkVSxrQkFBa0I7NEdBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbnZpcm9ubWVudFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55ID0ge307XG5cbiAgLy8gU2V0IGVudmlyb25tZW50IHZhcmlhYmxlcyBkeW5hbWljYWxseVxuICBzZXRFbnZpcm9ubWVudChlbnZpcm9ubWVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IGVudmlyb25tZW50O1xufVxuXG4gIC8vIEdldCBlbnZpcm9ubWVudCB2YXJpYWJsZSBieSBrZXlcbiAgZ2V0RW52aXJvbm1lbnQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50W2tleV07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
20
20
|
]
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvZXJyb3ItbWVzc2FnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBWWhFLE1BQU0sT0FBTyxtQkFBbUI7d0dBQW5CLG1CQUFtQjt5R0FBbkIsbUJBQW1CLFlBTm5CLFlBQVk7eUdBTVosbUJBQW1CLGFBSm5CO1lBQ1QscUJBQXFCO1NBQ3RCLFlBSlUsWUFBWTs7NEZBTVosbUJBQW1CO2tCQVIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBRSxZQUFZLENBQUU7b0JBQ3pCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVCxxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2luZ1NlcnZpY2UgfSBmcm9tICcuL2Vycm9yLW1lc3NhZ2Uuc2VydmljZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbIENvbW1vbk1vZHVsZSBdLFxuICBleHBvcnRzOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRXJyb3JNZXNzYWdpbmdTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRXJycm9yTWVzc2FnZU1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -19,4 +19,4 @@ export class ErrorMessagingService {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2Vycm9yLW1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLFVBQVUsQ0FBQztJQUNQLFVBQVUsRUFBRSxNQUFNO0NBQ3JCLENBQUMsQ0FBQTtBQUVGLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsU0FBUyxHQUFHLHVFQUF1RSxDQUFDO0lBRXBGO0lBQ0EsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFVO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDdkIsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5JbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBFcnJvck1lc3NhZ2luZ1NlcnZpY2Uge1xuXG4gICAgQVBJX0VSUk9SID0gJ1RoZXJlIHdhcyBhIHByb2JsZW0gd2hpbGUgY29ubmVjdGluZyB0byBvdXIgc2VydmVyLiBQbGVhc2UgdHJ5IGFnYWluLic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG4gICAgZ2V0QXBpRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkdldCBBcGkgRXJyb3I6XCIsIGVycm9yKTtcbiAgICAgICAgaWYgKGVycm9yLmVycm9yICYmIHR5cGVvZiBlcnJvci5lcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBlcnJvci5lcnJvcjtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5BUElfRVJST1I7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
232
232
|
providedIn: 'root'
|
|
233
233
|
}]
|
|
234
234
|
}], ctorParameters: () => [{ type: i1.SharedService }] });
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2ZpbGUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQWtDRjtJQWpDcEIseUJBQXlCO0lBQ3pCLGFBQWEsR0FBRztRQUNkLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO0tBQ2IsQ0FBQztJQUVGLGdCQUFnQixHQUFHO1FBQ2pCLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsMEJBQTBCO1FBQzFCLG1FQUFtRTtRQUNuRSxpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQix5RUFBeUU7UUFDekUsTUFBTTtRQUNOLEtBQUs7S0FDTixDQUFDO0lBQ0YsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQ3JCLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDekIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsTUFBVztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FB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d0JBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTs0QkFDekIsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDOzRCQUNoRCxLQUFLLEVBQUUsQ0FBQzs0QkFDUixJQUFJLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztnQ0FDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUNoQixDQUFDO3dCQUNILENBQUMsQ0FBQzt3QkFDRixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM3QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO3dHQTFNVSxXQUFXOzRHQUFYLFdBQVcsY0FOVixNQUFNOzs0RkFNUCxXQUFXO2tCQVB2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJy4vc2hhcmVkLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuLyoqXHJcbiAqIFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZpbGVTZXJ2aWNlIHtcclxuICAvLyBTdXBwb3J0ZWQgaW1hZ2VzIHR5cGVzXHJcbiAgSU1BR0VfRk9STUFUUyA9IFtcclxuICAgICdpbWFnZS9naWYnLFxyXG4gICAgJ2ltYWdlL3BuZycsXHJcbiAgICAnaW1hZ2UvanBlZycsXHJcbiAgICAnaW1hZ2UvYm1wJyxcclxuICAgICdpbWFnZS93ZWJwJ1xyXG4gIF07XHJcblxyXG4gIEZJTEVUWVBFU19VUExPQUQgPSBbXHJcbiAgICAnaW1hZ2UvanBnJyxcclxuICAgICdpbWFnZS9wbmcnLFxyXG4gICAgJ2ltYWdlL2pwZWcnLFxyXG4gICAgJ2ltYWdlL2JtcCcsXHJcbiAgICAnYXBwbGljYXRpb24vcGRmJyxcclxuICAgICdhcHBsaWNhdGlvbi9qZmlmJyxcclxuICAgICd2aWRlby9tcDQnLFxyXG4gICAgJ3ZpZGVvL21wZWcnLFxyXG4gICAgJ2F1ZGlvL21wZWcnLFxyXG4gICAgJ2F1ZGlvL21wMycsXHJcbiAgICAnYXVkaW8vb2dnJyxcclxuICAgICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcclxuICAgICdhcHBsaWNhdGlvbi9kb2MnLFxyXG4gICAgJ2FwcGxpY2F0aW9uL21zLWRvYycsXHJcbiAgICAnYXBwbGljYXRpb24vbXN3b3JkJyxcclxuICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsXHJcbiAgICAnZG9jeCcsXHJcbiAgICAnZG9jJ1xyXG4gIF07XHJcbiAgY2RuUGF0aDogc3RyaW5nID0gJyc7XHJcbiAgaW1hZ2VTaXplID0gMTUwMDAwMDA7XHJcbiAgRklMRV9NQVhfU0laRSA9IDEwMDAwMDAwO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSkgeyBcclxuICAgIHRoaXMuY2RuUGF0aCA9IHRoaXMuc2hhcmVkU2VydmljZS5nZXRDRE5QYXRoKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgcmV0dXJucyBzdXBwb3J0ZWQgZm9ybWF0cyBvZiBmaWxlcyB3aGljaCBoYXMgdG8gYmUgdXBsb2FkZWRcclxuICAgKiBAcGFyYW0gc291cmNlIGltYWdlL2ZpbGVcclxuICAgKiBAcmV0dXJucyBhdmFpbGFibGUgZm9ybWF0c1xyXG4gICAqL1xyXG4gIGdldFN1cHBvcnRlZEZvcm1hdHMoc291cmNlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKHNvdXJjZSk7XHJcbiAgICBsZXQgZm9ybWF0cyA9IFtdO1xyXG4gICAgaWYgKHNvdXJjZSA9PSAnaW1hZ2UnKSB7XHJcbiAgICAgIGZvcm1hdHMgPSB0aGlzLklNQUdFX0ZPUk1BVFM7XHJcbiAgICAgIC8vcmV0dXJuIHRoaXMuSU1BR0VfRk9STUFUUztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvcm1hdHMgPSB0aGlzLkZJTEVUWVBFU19VUExPQUQ7XHJcbiAgICAgIC8vcmV0dXJuIHRoaXMuRklMRVRZUEVTX1VQTE9BRDtcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKGZvcm1hdHMpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2Qgd2lsbCByZXR1cm4gdGhlIG1heGltdW0gdXBsb2FkYWJsZSBzaXplIG9mIGEgZmlsZS9pbWFnZVxyXG4gICAqIEByZXR1cm5zIE1heGltdW0gc2l6ZSBvZiB0aGUgaW1hZ2UgdG8gdXBsb2FkXHJcbiAgICovXHJcbiAgZ2V0TWF4aW11bUltYWdlU2l6ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmltYWdlU2l6ZTtcclxuICB9XHJcblxyXG4gIGltYWdlVmFsaWRhdGlvbihmaWxlOiBhbnksIHNvdXJjZT86IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJJbiBJbWFnZSBWYWxpZGF0aW9uOlwiLCBzb3VyY2UpO1xyXG4gICAgbGV0IGZpbGVfdHlwZXMgPSBbXTtcclxuICAgIGlmIChzb3VyY2UgPT09ICdhdHRhY2htZW50JyB8fCBzb3VyY2UgPT09ICdjb25zdW1lcmltYWdlcycpIHtcclxuICAgICAgZmlsZV90eXBlcyA9IHRoaXMuZ2V0U3VwcG9ydGVkRm9ybWF0cygnZmlsZScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZmlsZV90eXBlcyA9IHRoaXMuZ2V0U3VwcG9ydGVkRm9ybWF0cygnaW1hZ2UnKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGltYWdlX21heF9zaXplID0gdGhpcy5nZXRNYXhpbXVtSW1hZ2VTaXplKCk7XHJcbiAgICBjb25zdCBlcnJvcjogYW55ID0gW107XHJcbiAgICBjb25zb2xlLmxvZyhmaWxlX3R5cGVzKTtcclxuICAgIGNvbnNvbGUubG9nKGZpbGUudHlwZSk7XHJcbiAgICBsZXQgaXNfZXJyb3IgPSBmYWxzZTtcclxuICAgIGlmICghZmlsZS50eXBlIHx8IChmaWxlLnR5cGUgJiYgZmlsZV90eXBlcy5pbmRleE9mKGZpbGUudHlwZSkgPT09IC0xKSkge1xyXG4gICAgICBlcnJvclsndHlwZSddID0gdHJ1ZTtcclxuICAgICAgaXNfZXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKGZpbGUuc2l6ZSAmJiBmaWxlLnNpemUgPiBpbWFnZV9tYXhfc2l6ZSkge1xyXG4gICAgICBlcnJvclsnc2l6ZSddID0gdHJ1ZTtcclxuICAgICAgaXNfZXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzX2Vycm9yID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBlcnJvcjtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0SW1hZ2UodXJsOiBhbnksIGZpbGVPYmo6IGFueSkge1xyXG4gICAgbGV0IGZpbGUgPSBmaWxlT2JqO1xyXG4gICAgaWYgKGZpbGVPYmogJiYgZmlsZU9ialsnbWltZVR5cGUnXSkge1xyXG4gICAgICBmaWxlWyd0eXBlJ10gPSBmaWxlT2JqWydtaW1lVHlwZSddO1xyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS5sb2coXCJGaWxlIDpcIiwgZmlsZSk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcIkZpbGUgVHlwZSA6XCIsIGZpbGUudHlwZSlcclxuICAgIC8vIGNvbnNvbGUubG9nKFwiRmlsZSBOYW1lIDpcIiwgZmlsZS5uYW1lLmluY2x1ZGVzKCdkb2N4JykpXHJcbiAgICBpZiAoZmlsZS50eXBlKSB7XHJcbiAgICAgIGlmIChmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL3BkZicpIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL3BkZi5wbmcnKTtcclxuICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcgfHwgZmlsZS50eXBlID09ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcpIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL3hscy5wbmcnKTtcclxuICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUgPT0gJ2F1ZGlvL21wMycgfHwgZmlsZS50eXBlID09ICdhdWRpby9tcGVnJyB8fCBmaWxlLnR5cGUgPT0gJ2F1ZGlvL29nZycpIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL2F1ZGlvLnBuZycpO1xyXG4gICAgICB9IGVsc2UgaWYgKGZpbGUudHlwZSA9PSAndmlkZW8vbXA0JyB8fCBmaWxlLnR5cGUgPT0gJ3ZpZGVvL21wZWcnKSB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy92aWRlby5wbmcnKTtcclxuICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL21zd29yZCcgfHwgZmlsZS50eXBlID09ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcgfHwgZmlsZS50eXBlLmluY2x1ZGVzKCdkb2N4JykgfHwgZmlsZS50eXBlLmluY2x1ZGVzKCdkb2MnKSkge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5jZG5QYXRoICsgJ2Fzc2V0cy9pbWFnZXMvSW1nZUZpbGVJY29uL3dvcmREb2NzQmdXaGl0ZS5qcGcnKTtcclxuICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUuaW5jbHVkZXMoJ3R4dCcpKSB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9JbWdlRmlsZUljb24vZG9jVHh0LnBuZycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB1cmw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG4gIGdldEltYWdlQnlUeXBlKHR5cGU6IGFueSkge1xyXG4gICAgaWYgKHR5cGUgPT0gJ3BkZicpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9wZGYucG5nJyk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ3ZuZC5tcy1leGNlbCcgfHwgdHlwZSA9PSAndm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnIHx8IHR5cGUgPT0gJ3hscycgfHwgdHlwZSA9PSAneGxzeCcpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy94bHMucG5nJyk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ21wMycgfHwgdHlwZSA9PSAnbXBlZycgfHwgdHlwZSA9PSAnb2dnJykge1xyXG4gICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL2F1ZGlvLnBuZycpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09ICdtcDQnIHx8IHR5cGUgPT0gJ21wZWcnKSB7XHJcbiAgICAgIHJldHVybiAodGhpcy5jZG5QYXRoICsgJ2Fzc2V0cy9pbWFnZXMvdmlkZW8ucG5nJyk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ2FwcGxpY2F0aW9uL21zd29yZCcgfHwgdHlwZSA9PSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnIHx8IHR5cGUgPT0gJ2RvY3gnIHx8IHR5cGUgPT0gJ2RvYycgfHwgdHlwZSA9PSAnbXN3b3JkJykge1xyXG4gICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL0ltZ2VGaWxlSWNvbi93b3JkRG9jc0JnV2hpdGUuanBnJyk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ3R4dCcpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9JbWdlRmlsZUljb24vZG9jVHh0LnBuZycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9pbWdfdXBsb2QucG5nJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWxlc1NlbGVjdGVkKGV2ZW50OiBhbnksIHNlbGVjdGVkTWVzc2FnZTogYW55KSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAvLyBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldC5maWxlcztcclxuICAgICAgbGV0IGlucHV0ID0gZXZlbnQuZmlsZXM7XHJcbiAgICAgIGlmIChldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0LmZpbGVzKSB7XHJcbiAgICAgICAgaW5wdXQgPSBldmVudC50YXJnZXQuZmlsZXM7XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2coXCJGaWxlIFNlbGVjdGVkIDpcIiwgaW5wdXQpO1xyXG4gICAgICBpZiAoaW5wdXQpIHtcclxuICAgICAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgICAgIGxldCBmaWxlc0NvdW50ID0gaW5wdXQubGVuZ3RoO1xyXG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBpbnB1dCkge1xyXG4gICAgICAgICAgaWYgKF90aGlzLkZJTEVUWVBFU19VUExPQUQuaW5kZXhPZihmaWxlLnR5cGUpID09PSAtMSkge1xyXG4gICAgICAgICAgICByZWplY3QoXCJTZWxlY3RlZCBmaWxlIHR5cGUgbm90IHN1cHBvcnRlZFwiKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoZmlsZS5zaXplID4gX3RoaXMuRklMRV9NQVhfU0laRSkge1xyXG4gICAgICAgICAgICByZWplY3QoXCJQbGVhc2UgdXBsb2FkIGZpbGVzIHdpdGggc2l6ZSA8IDEwbWJcIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZWxlY3RlZE1lc3NhZ2UuZmlsZXMucHVzaChmaWxlKTtcclxuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBzZWxlY3RlZE1lc3NhZ2UuYmFzZTY0LnB1c2goZS50YXJnZXRbXCJyZXN1bHRcIl0pO1xyXG4gICAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSBmaWxlc0NvdW50KSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBmaWxlc3NTZWxlY3RlZChldmVudDogYW55LCBzZWxlY3RlZE1lc3NhZ2U6IGFueSkge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgLy8gY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQuZmlsZXM7XHJcbiAgICAgIGxldCBpbnB1dCA9IGV2ZW50LmZpbGVzO1xyXG4gICAgICBpZiAoZXZlbnQudGFyZ2V0ICYmIGV2ZW50LnRhcmdldC5maWxlcykge1xyXG4gICAgICAgIGlucHV0ID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiRmlsZSBTZWxlY3RlZCA6XCIsIGlucHV0KTtcclxuICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcclxuICAgICAgICBsZXQgZmlsZXNDb3VudCA9IGlucHV0Lmxlbmd0aDtcclxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgaW5wdXQpIHtcclxuICAgICAgICAgIGlmIChfdGhpcy5JTUFHRV9GT1JNQVRTLmluZGV4T2YoZmlsZS50eXBlKSA9PT0gLTEpIHtcclxuICAgICAgICAgICAgcmVqZWN0KFwiU2VsZWN0ZWQgZmlsZSB0eXBlIG5vdCBzdXBwb3J0ZWRcIik7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGZpbGUuc2l6ZSA+IF90aGlzLkZJTEVfTUFYX1NJWkUpIHtcclxuICAgICAgICAgICAgcmVqZWN0KFwiUGxlYXNlIHVwbG9hZCBmaWxlcyB3aXRoIHNpemUgPCAxMG1iXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc2VsZWN0ZWRNZXNzYWdlLmZpbGVzLnB1c2goZmlsZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRNZXNzYWdlLmJhc2U2NC5wdXNoKGUudGFyZ2V0W1wicmVzdWx0XCJdKTtcclxuICAgICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgICAgICAgIGlmIChjb3VudCA9PT0gZmlsZXNDb3VudCkge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2ZpbGUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQWtDRjtJQWpDcEIseUJBQXlCO0lBQ3pCLGFBQWEsR0FBRztRQUNkLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO0tBQ2IsQ0FBQztJQUVGLGdCQUFnQixHQUFHO1FBQ2pCLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsMEJBQTBCO1FBQzFCLG1FQUFtRTtRQUNuRSxpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQix5RUFBeUU7UUFDekUsTUFBTTtRQUNOLEtBQUs7S0FDTixDQUFDO0lBQ0YsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQ3JCLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDekIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsTUFBVztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FB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d0JBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTs0QkFDekIsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDOzRCQUNoRCxLQUFLLEVBQUUsQ0FBQzs0QkFDUixJQUFJLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztnQ0FDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUNoQixDQUFDO3dCQUNILENBQUMsQ0FBQzt3QkFDRixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM3QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO3dHQTFNVSxXQUFXOzRHQUFYLFdBQVcsY0FOVixNQUFNOzs0RkFNUCxXQUFXO2tCQVB2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8qKlxuICogXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlU2VydmljZSB7XG4gIC8vIFN1cHBvcnRlZCBpbWFnZXMgdHlwZXNcbiAgSU1BR0VfRk9STUFUUyA9IFtcbiAgICAnaW1hZ2UvZ2lmJyxcbiAgICAnaW1hZ2UvcG5nJyxcbiAgICAnaW1hZ2UvanBlZycsXG4gICAgJ2ltYWdlL2JtcCcsXG4gICAgJ2ltYWdlL3dlYnAnXG4gIF07XG5cbiAgRklMRVRZUEVTX1VQTE9BRCA9IFtcbiAgICAnaW1hZ2UvanBnJyxcbiAgICAnaW1hZ2UvcG5nJyxcbiAgICAnaW1hZ2UvanBlZycsXG4gICAgJ2ltYWdlL2JtcCcsXG4gICAgJ2FwcGxpY2F0aW9uL3BkZicsXG4gICAgJ2FwcGxpY2F0aW9uL2pmaWYnLFxuICAgICd2aWRlby9tcDQnLFxuICAgICd2aWRlby9tcGVnJyxcbiAgICAnYXVkaW8vbXBlZycsXG4gICAgJ2F1ZGlvL21wMycsXG4gICAgJ2F1ZGlvL29nZycsXG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAnYXBwbGljYXRpb24vZG9jJyxcbiAgICAnYXBwbGljYXRpb24vbXMtZG9jJyxcbiAgICAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICdkb2N4JyxcbiAgICAnZG9jJ1xuICBdO1xuICBjZG5QYXRoOiBzdHJpbmcgPSAnJztcbiAgaW1hZ2VTaXplID0gMTUwMDAwMDA7XG4gIEZJTEVfTUFYX1NJWkUgPSAxMDAwMDAwMDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlKSB7IFxuICAgIHRoaXMuY2RuUGF0aCA9IHRoaXMuc2hhcmVkU2VydmljZS5nZXRDRE5QYXRoKCk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHJldHVybnMgc3VwcG9ydGVkIGZvcm1hdHMgb2YgZmlsZXMgd2hpY2ggaGFzIHRvIGJlIHVwbG9hZGVkXG4gICAqIEBwYXJhbSBzb3VyY2UgaW1hZ2UvZmlsZVxuICAgKiBAcmV0dXJucyBhdmFpbGFibGUgZm9ybWF0c1xuICAgKi9cbiAgZ2V0U3VwcG9ydGVkRm9ybWF0cyhzb3VyY2U6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKHNvdXJjZSk7XG4gICAgbGV0IGZvcm1hdHMgPSBbXTtcbiAgICBpZiAoc291cmNlID09ICdpbWFnZScpIHtcbiAgICAgIGZvcm1hdHMgPSB0aGlzLklNQUdFX0ZPUk1BVFM7XG4gICAgICAvL3JldHVybiB0aGlzLklNQUdFX0ZPUk1BVFM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdHMgPSB0aGlzLkZJTEVUWVBFU19VUExPQUQ7XG4gICAgICAvL3JldHVybiB0aGlzLkZJTEVUWVBFU19VUExPQUQ7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKGZvcm1hdHMpO1xuICAgIHJldHVybiBmb3JtYXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB3aWxsIHJldHVybiB0aGUgbWF4aW11bSB1cGxvYWRhYmxlIHNpemUgb2YgYSBmaWxlL2ltYWdlXG4gICAqIEByZXR1cm5zIE1heGltdW0gc2l6ZSBvZiB0aGUgaW1hZ2UgdG8gdXBsb2FkXG4gICAqL1xuICBnZXRNYXhpbXVtSW1hZ2VTaXplKCkge1xuICAgIHJldHVybiB0aGlzLmltYWdlU2l6ZTtcbiAgfVxuXG4gIGltYWdlVmFsaWRhdGlvbihmaWxlOiBhbnksIHNvdXJjZT86IGFueSkge1xuICAgIGNvbnNvbGUubG9nKFwiSW4gSW1hZ2UgVmFsaWRhdGlvbjpcIiwgc291cmNlKTtcbiAgICBsZXQgZmlsZV90eXBlcyA9IFtdO1xuICAgIGlmIChzb3VyY2UgPT09ICdhdHRhY2htZW50JyB8fCBzb3VyY2UgPT09ICdjb25zdW1lcmltYWdlcycpIHtcbiAgICAgIGZpbGVfdHlwZXMgPSB0aGlzLmdldFN1cHBvcnRlZEZvcm1hdHMoJ2ZpbGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZV90eXBlcyA9IHRoaXMuZ2V0U3VwcG9ydGVkRm9ybWF0cygnaW1hZ2UnKTtcbiAgICB9XG4gICAgY29uc3QgaW1hZ2VfbWF4X3NpemUgPSB0aGlzLmdldE1heGltdW1JbWFnZVNpemUoKTtcbiAgICBjb25zdCBlcnJvcjogYW55ID0gW107XG4gICAgY29uc29sZS5sb2coZmlsZV90eXBlcyk7XG4gICAgY29uc29sZS5sb2coZmlsZS50eXBlKTtcbiAgICBsZXQgaXNfZXJyb3IgPSBmYWxzZTtcbiAgICBpZiAoIWZpbGUudHlwZSB8fCAoZmlsZS50eXBlICYmIGZpbGVfdHlwZXMuaW5kZXhPZihmaWxlLnR5cGUpID09PSAtMSkpIHtcbiAgICAgIGVycm9yWyd0eXBlJ10gPSB0cnVlO1xuICAgICAgaXNfZXJyb3IgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoZmlsZS5zaXplICYmIGZpbGUuc2l6ZSA+IGltYWdlX21heF9zaXplKSB7XG4gICAgICBlcnJvclsnc2l6ZSddID0gdHJ1ZTtcbiAgICAgIGlzX2Vycm9yID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzX2Vycm9yID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG4gIH1cbiAgZ2V0SW1hZ2UodXJsOiBhbnksIGZpbGVPYmo6IGFueSkge1xuICAgIGxldCBmaWxlID0gZmlsZU9iajtcbiAgICBpZiAoZmlsZU9iaiAmJiBmaWxlT2JqWydtaW1lVHlwZSddKSB7XG4gICAgICBmaWxlWyd0eXBlJ10gPSBmaWxlT2JqWydtaW1lVHlwZSddO1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZyhcIkZpbGUgOlwiLCBmaWxlKTtcbiAgICAvLyBjb25zb2xlLmxvZyhcIkZpbGUgVHlwZSA6XCIsIGZpbGUudHlwZSlcbiAgICAvLyBjb25zb2xlLmxvZyhcIkZpbGUgTmFtZSA6XCIsIGZpbGUubmFtZS5pbmNsdWRlcygnZG9jeCcpKVxuICAgIGlmIChmaWxlLnR5cGUpIHtcbiAgICAgIGlmIChmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL3BkZicpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9wZGYucG5nJyk7XG4gICAgICB9IGVsc2UgaWYgKGZpbGUudHlwZSA9PSAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyB8fCBmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0Jykge1xuICAgICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL3hscy5wbmcnKTtcbiAgICAgIH0gZWxzZSBpZiAoZmlsZS50eXBlID09ICdhdWRpby9tcDMnIHx8IGZpbGUudHlwZSA9PSAnYXVkaW8vbXBlZycgfHwgZmlsZS50eXBlID09ICdhdWRpby9vZ2cnKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5jZG5QYXRoICsgJ2Fzc2V0cy9pbWFnZXMvYXVkaW8ucG5nJyk7XG4gICAgICB9IGVsc2UgaWYgKGZpbGUudHlwZSA9PSAndmlkZW8vbXA0JyB8fCBmaWxlLnR5cGUgPT0gJ3ZpZGVvL21wZWcnKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5jZG5QYXRoICsgJ2Fzc2V0cy9pbWFnZXMvdmlkZW8ucG5nJyk7XG4gICAgICB9IGVsc2UgaWYgKGZpbGUudHlwZSA9PSAnYXBwbGljYXRpb24vbXN3b3JkJyB8fCBmaWxlLnR5cGUgPT0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyB8fCBmaWxlLnR5cGUuaW5jbHVkZXMoJ2RvY3gnKSB8fCBmaWxlLnR5cGUuaW5jbHVkZXMoJ2RvYycpKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5jZG5QYXRoICsgJ2Fzc2V0cy9pbWFnZXMvSW1nZUZpbGVJY29uL3dvcmREb2NzQmdXaGl0ZS5qcGcnKTtcbiAgICAgIH0gZWxzZSBpZiAoZmlsZS50eXBlLmluY2x1ZGVzKCd0eHQnKSkge1xuICAgICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL0ltZ2VGaWxlSWNvbi9kb2NUeHQucG5nJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdXJsO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG4gIGdldEltYWdlQnlUeXBlKHR5cGU6IGFueSkge1xuICAgIGlmICh0eXBlID09ICdwZGYnKSB7XG4gICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL3BkZi5wbmcnKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ3ZuZC5tcy1leGNlbCcgfHwgdHlwZSA9PSAndm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnIHx8IHR5cGUgPT0gJ3hscycgfHwgdHlwZSA9PSAneGxzeCcpIHtcbiAgICAgIHJldHVybiAodGhpcy5jZG5QYXRoICsgJ2Fzc2V0cy9pbWFnZXMveGxzLnBuZycpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSAnbXAzJyB8fCB0eXBlID09ICdtcGVnJyB8fCB0eXBlID09ICdvZ2cnKSB7XG4gICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL2F1ZGlvLnBuZycpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSAnbXA0JyB8fCB0eXBlID09ICdtcGVnJykge1xuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy92aWRlby5wbmcnKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ2FwcGxpY2F0aW9uL21zd29yZCcgfHwgdHlwZSA9PSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnIHx8IHR5cGUgPT0gJ2RvY3gnIHx8IHR5cGUgPT0gJ2RvYycgfHwgdHlwZSA9PSAnbXN3b3JkJykge1xuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9JbWdlRmlsZUljb24vd29yZERvY3NCZ1doaXRlLmpwZycpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PSAndHh0Jykge1xuICAgICAgcmV0dXJuICh0aGlzLmNkblBhdGggKyAnYXNzZXRzL2ltYWdlcy9JbWdlRmlsZUljb24vZG9jVHh0LnBuZycpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKHRoaXMuY2RuUGF0aCArICdhc3NldHMvaW1hZ2VzL2ltZ191cGxvZC5wbmcnKTtcbiAgICB9XG4gIH1cblxuICBmaWxlc1NlbGVjdGVkKGV2ZW50OiBhbnksIHNlbGVjdGVkTWVzc2FnZTogYW55KSB7XG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAvLyBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldC5maWxlcztcbiAgICAgIGxldCBpbnB1dCA9IGV2ZW50LmZpbGVzO1xuICAgICAgaWYgKGV2ZW50LnRhcmdldCAmJiBldmVudC50YXJnZXQuZmlsZXMpIHtcbiAgICAgICAgaW5wdXQgPSBldmVudC50YXJnZXQuZmlsZXM7XG4gICAgICB9XG4gICAgICBjb25zb2xlLmxvZyhcIkZpbGUgU2VsZWN0ZWQgOlwiLCBpbnB1dCk7XG4gICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgbGV0IGZpbGVzQ291bnQgPSBpbnB1dC5sZW5ndGg7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBpbnB1dCkge1xuICAgICAgICAgIGlmIChfdGhpcy5GSUxFVFlQRVNfVVBMT0FELmluZGV4T2YoZmlsZS50eXBlKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJlamVjdChcIlNlbGVjdGVkIGZpbGUgdHlwZSBub3Qgc3VwcG9ydGVkXCIpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZmlsZS5zaXplID4gX3RoaXMuRklMRV9NQVhfU0laRSkge1xuICAgICAgICAgICAgcmVqZWN0KFwiUGxlYXNlIHVwbG9hZCBmaWxlcyB3aXRoIHNpemUgPCAxMG1iXCIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWxlY3RlZE1lc3NhZ2UuZmlsZXMucHVzaChmaWxlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBzZWxlY3RlZE1lc3NhZ2UuYmFzZTY0LnB1c2goZS50YXJnZXRbXCJyZXN1bHRcIl0pO1xuICAgICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgICAgICBpZiAoY291bnQgPT09IGZpbGVzQ291bnQpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxuICBmaWxlc3NTZWxlY3RlZChldmVudDogYW55LCBzZWxlY3RlZE1lc3NhZ2U6IGFueSkge1xuICAgIGNvbnN0IF90aGlzID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgLy8gY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQuZmlsZXM7XG4gICAgICBsZXQgaW5wdXQgPSBldmVudC5maWxlcztcbiAgICAgIGlmIChldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0LmZpbGVzKSB7XG4gICAgICAgIGlucHV0ID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xuICAgICAgfVxuICAgICAgY29uc29sZS5sb2coXCJGaWxlIFNlbGVjdGVkIDpcIiwgaW5wdXQpO1xuICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIGxldCBmaWxlc0NvdW50ID0gaW5wdXQubGVuZ3RoO1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgaW5wdXQpIHtcbiAgICAgICAgICBpZiAoX3RoaXMuSU1BR0VfRk9STUFUUy5pbmRleE9mKGZpbGUudHlwZSkgPT09IC0xKSB7XG4gICAgICAgICAgICByZWplY3QoXCJTZWxlY3RlZCBmaWxlIHR5cGUgbm90IHN1cHBvcnRlZFwiKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGZpbGUuc2l6ZSA+IF90aGlzLkZJTEVfTUFYX1NJWkUpIHtcbiAgICAgICAgICAgIHJlamVjdChcIlBsZWFzZSB1cGxvYWQgZmlsZXMgd2l0aCBzaXplIDwgMTBtYlwiKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2VsZWN0ZWRNZXNzYWdlLmZpbGVzLnB1c2goZmlsZSk7XG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRNZXNzYWdlLmJhc2U2NC5wdXNoKGUudGFyZ2V0W1wicmVzdWx0XCJdKTtcbiAgICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSBmaWxlc0NvdW50KSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,11 +6,11 @@ export class FieldErrorDisplayComponent {
|
|
|
6
6
|
displayError;
|
|
7
7
|
errorMsgs;
|
|
8
8
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldErrorDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldErrorDisplayComponent, selector: "app-field-error-display", inputs: { errorMsg: "errorMsg", displayError: "displayError", errorMsgs: "errorMsgs" }, ngImport: i0, template: "<div *ngIf=\"displayError\" tabindex=\"-1\">\
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldErrorDisplayComponent, selector: "app-field-error-display", inputs: { errorMsg: "errorMsg", displayError: "displayError", errorMsgs: "errorMsgs" }, ngImport: i0, template: "<div *ngIf=\"displayError\" tabindex=\"-1\">\n <div class=\"sts-msg error\">{{ errorMsg || errorMsgs }}</div>\n</div>\n\n", styles: [".error-msg{color:#a94442}.fix-error-icon{top:27px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldErrorDisplayComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'app-field-error-display', template: "<div *ngIf=\"displayError\" tabindex=\"-1\">\
|
|
13
|
+
args: [{ selector: 'app-field-error-display', template: "<div *ngIf=\"displayError\" tabindex=\"-1\">\n <div class=\"sts-msg error\">{{ errorMsg || errorMsgs }}</div>\n</div>\n\n", styles: [".error-msg{color:#a94442}.fix-error-icon{top:27px}\n"] }]
|
|
14
14
|
}], propDecorators: { errorMsg: [{
|
|
15
15
|
type: Input
|
|
16
16
|
}], displayError: [{
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
18
18
|
}], errorMsgs: [{
|
|
19
19
|
type: Input
|
|
20
20
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvZm9ybS1tZXNzYWdlL2ZpZWxkLWVycm9yLWRpc3BsYXkvZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvZm9ybS1tZXNzYWdlL2ZpZWxkLWVycm9yLWRpc3BsYXkvZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTywwQkFBMEI7SUFFNUIsUUFBUSxDQUFxQjtJQUM3QixZQUFZLENBQXNCO0lBQ2xDLFNBQVMsQ0FBcUI7d0dBSjVCLDBCQUEwQjs0RkFBMUIsMEJBQTBCLHVKQ1B2Qyw0SEFJQTs7NEZER2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFNMUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWVsZC1lcnJvci1kaXNwbGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWVycm9yLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWVsZC1lcnJvci1kaXNwbGF5LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZXJyb3JNc2c6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZGlzcGxheUVycm9yOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBlcnJvck1zZ3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxufVxuXG4iLCI8ZGl2ICpuZ0lmPVwiZGlzcGxheUVycm9yXCIgdGFiaW5kZXg9XCItMVwiPlxuICA8ZGl2IGNsYXNzPVwic3RzLW1zZyBlcnJvclwiPnt7IGVycm9yTXNnIHx8IGVycm9yTXNncyB9fTwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
32
32
|
]
|
|
33
33
|
}]
|
|
34
34
|
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXNzYWdlLWRpc3BsYXkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2Zvcm0tbWVzc2FnZS9mb3JtLW1lc3NhZ2UtZGlzcGxheS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQWMzRSxNQUFNLE9BQU8sd0JBQXdCO3dHQUF4Qix3QkFBd0I7eUdBQXhCLHdCQUF3QixpQkFScEIsMEJBQTBCO1lBQ3ZDLDJCQUEyQixhQUozQixZQUFZO1lBQ1osWUFBWSxhQUlKLDBCQUEwQjtZQUNsQywyQkFBMkI7eUdBS2xCLHdCQUF3QixhQUp4QjtZQUNULHlCQUF5QjtTQUMxQixZQVRDLFlBQVk7WUFDWixZQUFZOzs0RkFVSCx3QkFBd0I7a0JBYnBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsQ0FBQywwQkFBMEI7d0JBQ3ZDLDJCQUEyQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQywwQkFBMEI7d0JBQ2xDLDJCQUEyQixDQUFDO29CQUM5QixTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgRmllbGRFcnJvckRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkLWVycm9yLWRpc3BsYXkvZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVN1Y2Nlc3NEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXN1Y2Nlc3MtZGlzcGxheS9mb3JtLXN1Y2Nlc3MtZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VEaXNwbGF5U2VydmljZSB9IGZyb20gJy4vZm9ybS1tZXNzYWdlLWRpc3BsYXkuc2VydmljZSc7XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCxcbiAgICBGb3JtU3VjY2Vzc0Rpc3BsYXlDb21wb25lbnRdLFxuICBleHBvcnRzOiBbRmllbGRFcnJvckRpc3BsYXlDb21wb25lbnQsXG4gICAgRm9ybVN1Y2Nlc3NEaXNwbGF5Q29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRm9ybU1lc3NhZ2VEaXNwbGF5U2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NZXNzYWdlRGlzcGxheU1vZHVsZSB7IH1cbiJdfQ==
|